@charset "UTF-8";
/**

This is the base of the app.css file, to modify the configuration ot a site level go to /branding.scss if you need modify the global configuration of all sites go to /global/variables.scss.

[ IMPORTANT ] - No BESPOKE CSS RULE'S should be specified here or in branding.scss, if you need to modify the css do it in either /global or in /componants otherwise it will cause tears, IF you really have to to it in the site specific branding.scss under all of the SASS overrides.

**/
/*

values can be either a list or map.

Breakpoint values:
Small = 1
Medium = 2
Large = 3
xLarge = 4
xxLarge = 5

*/
/**

Site specific branding ( colours & fonts ) any sass overrides get defined here as well.

[ IMPORTANT ] - You maybe compelled to write bespoke css rules at the bottom of the file just to make a " quick " site specific change but this WILL conflict with the css being defined in /global and /component either from a configuration stance or responsive point of view, so please consult/modify those 2 directories as needed, this file was only to designed for SASS variables.

**/
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@300;400;500;600;700;800&display=swap");
/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: 'Font Awesome 6 Brands';
  --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

.fab,
.fa-brands {
  font-weight: 400; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-aws:before {
  content: "\f375"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-cloudflare:before {
  content: "\e07d"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-pixiv:before {
  content: "\e640"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-modx:before {
  content: "\f285"; }

.fa-guilded:before {
  content: "\e07e"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-square-js:before {
  content: "\f3b9"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-unity:before {
  content: "\e049"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-vk:before {
  content: "\f189"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-square-reddit:before {
  content: "\f1a2"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-square-font-awesome:before {
  content: "\e5ad"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-brave:before {
  content: "\e63c"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-square-instagram:before {
  content: "\e055"; }

.fa-instagram-square:before {
  content: "\e055"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-square-hacker-news:before {
  content: "\f3af"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-edge:before {
  content: "\f282"; }

.fa-threads:before {
  content: "\e618"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-square-snapchat:before {
  content: "\f2ad"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-safari:before {
  content: "\f267"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-square-font-awesome-stroke:before {
  content: "\f35c"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-watchman-monitoring:before {
  content: "\e087"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-square-viadeo:before {
  content: "\f2aa"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-centos:before {
  content: "\f789"; }

.fa-adn:before {
  content: "\f170"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-opensuse:before {
  content: "\e62b"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-square-dribbble:before {
  content: "\f397"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-node:before {
  content: "\f419"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-debian:before {
  content: "\e60b"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-instalod:before {
  content: "\e081"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-square-twitter:before {
  content: "\f081"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-golang:before {
  content: "\e40f"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-uncharted:before {
  content: "\e084"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-square-youtube:before {
  content: "\f431"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-rendact:before {
  content: "\f3e4"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-nfc-directional:before {
  content: "\e530"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-meta:before {
  content: "\e49b"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-square-letterboxd:before {
  content: "\e62e"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-hips:before {
  content: "\f452"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-discord:before {
  content: "\f392"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-shoelace:before {
  content: "\e60c"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-unsplash:before {
  content: "\e07c"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-square-steam:before {
  content: "\f1b7"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-500px:before {
  content: "\f26e"; }

.fa-square-vimeo:before {
  content: "\f194"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-flag:before {
  content: "\f2b4"; }

.fa-font-awesome-logo-full:before {
  content: "\f2b4"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-apple:before {
  content: "\f179"; }

.fa-hive:before {
  content: "\e07f"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-padlet:before {
  content: "\e4a0"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-square-github:before {
  content: "\f092"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-shopify:before {
  content: "\e057"; }

.fa-neos:before {
  content: "\f612"; }

.fa-square-threads:before {
  content: "\e619"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-angular:before {
  content: "\f420"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envira:before {
  content: "\f299"; }

.fa-google-scholar:before {
  content: "\e63b"; }

.fa-square-gitlab:before {
  content: "\e5ae"; }

.fa-gitlab-square:before {
  content: "\e5ae"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-square-odnoklassniki:before {
  content: "\f264"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-sith:before {
  content: "\f512"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-hashnode:before {
  content: "\e499"; }

.fa-react:before {
  content: "\f41b"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-gg:before {
  content: "\f260"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-square-pinterest:before {
  content: "\f0d3"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-xing:before {
  content: "\f168"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-less:before {
  content: "\f41d"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-signal-messenger:before {
  content: "\e663"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-dailymotion:before {
  content: "\e052"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-nfc-symbol:before {
  content: "\e531"; }

.fa-mintbit:before {
  content: "\e62f"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-brave-reverse:before {
  content: "\e63d"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-square-google-plus:before {
  content: "\f0d4"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-square-xing:before {
  content: "\f169"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-fly:before {
  content: "\f417"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-viber:before {
  content: "\f409"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-letterboxd:before {
  content: "\e62d"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-audible:before {
  content: "\f373"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-bilibili:before {
  content: "\e3d9"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-x-twitter:before {
  content: "\e61b"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-42-group:before {
  content: "\e080"; }

.fa-innosoft:before {
  content: "\e080"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-square-pied-piper:before {
  content: "\e01e"; }

.fa-pied-piper-square:before {
  content: "\e01e"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-tiktok:before {
  content: "\e07b"; }

.fa-square-facebook:before {
  content: "\f082"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-mixer:before {
  content: "\e056"; }

.fa-square-lastfm:before {
  content: "\f203"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-figma:before {
  content: "\f799"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-cmplid:before {
  content: "\e360"; }

.fa-upwork:before {
  content: "\e641"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-deezer:before {
  content: "\e077"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-docker:before {
  content: "\f395"; }

.fa-screenpal:before {
  content: "\e570"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-microblog:before {
  content: "\e01a"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-wirsindhandwerk:before {
  content: "\e2d0"; }

.fa-wsh:before {
  content: "\e2d0"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-octopus-deploy:before {
  content: "\e082"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-apper:before {
  content: "\f371"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ab"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-rust:before {
  content: "\e07a"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-square-behance:before {
  content: "\f1b5"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-webflow:before {
  content: "\e65c"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-space-awesome:before {
  content: "\e5ac"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-square-git:before {
  content: "\f1d2"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-square-tumblr:before {
  content: "\f174"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-trello:before {
  content: "\f181"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-perbyte:before {
  content: "\e083"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-android:before {
  content: "\f17b"; }

.fa-bots:before {
  content: "\e340"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-ideal:before {
  content: "\e013"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-uber:before {
  content: "\f402"; }

.fa-github:before {
  content: "\f09b"; }

.fa-php:before {
  content: "\f457"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-firefox-browser:before {
  content: "\e007"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-stubber:before {
  content: "\e5c7"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f2c6"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-odysee:before {
  content: "\e5c6"; }

.fa-square-whatsapp:before {
  content: "\f40c"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-edge-legacy:before {
  content: "\e078"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f198"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-usb:before {
  content: "\f287"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-square-x-twitter:before {
  content: "\e61a"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f23a"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-sitrox:before {
  content: "\e44a"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-strava:before {
  content: "\f428"; }

.fa-ember:before {
  content: "\f423"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-wodu:before {
  content: "\e088"; }

.fa-google-pay:before {
  content: "\e079"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-zhihu:before {
  content: "\f63f"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-pix:before {
  content: "\e43a"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

.far,
.fa-regular {
  font-weight: 400; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

.fas,
.fa-solid {
  font-weight: 900; }

@font-face {
  font-family: 'Font Awesome Brands';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Solid';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.ttf");
  font-weight: 900;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Regular';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello";
  src: url("/template/content/development/css/webfonts/fontello-express/fontello.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-express/fontello.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-express/fontello.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello-winterstoke";
  src: url("/template/content/development/css/webfonts/fontello-winterstoke/fontello-winterstoke.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-winterstoke/fontello-winterstoke.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-winterstoke/fontello-winterstoke.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-winterstoke/fontello-winterstoke.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-winterstoke/fontello-winterstoke.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

.row-background[style="background-color: #8F95A5;"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }
  .row-background[style="background-color: #8F95A5;"] .module-background {
    padding: 0 !important; }

div[data-module-id="winterstoke-custom"] .cms-module.entry-module {
  padding: 30px 10px !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important;
  background-color: #ffffff;
  border-radius: 10px; }
  div[data-module-id="winterstoke-custom"] .cms-module.entry-module .read-more {
    max-height: 135px; }

@media screen and (min-width: 640px) {
  div[data-module-id="winterstoke-custom"] .cms-module.entry-module {
    gap: 20px;
    padding: 30px 11.6% !important; } }

div[data-module-id="winterstoke-custom"] .content-container {
  width: 100% !important; }

div[data-module-id="winterstoke-custom"] .module-navigation {
  margin-top: 0; }

/** 
    ----- Email Templates ----- 

    THINK!...... LIKE REALLY THINK OUTLOOK BEFORE MAKING CHANGES, things that these variables will effect: 
    - Fragments ( are colours generic ) 
    - Outlook 
    - Diplomat email parameters

**/
.mobile-break {
  width: 100%;
  height: 0;
  display: block;
  overflow: hidden; }
  @media print, screen and (min-width: 81.25em) {
    .mobile-break {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: auto;
      display: inline-block;
      margin: auto 8px; } }

.page-heading-module h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

body h1 {
  margin: 0 0 25px; }

h1 {
  color: #071e83;
  font-size: 1.9375rem;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }
  h1.preset1 {
    margin: 0 0 25px;
    padding: 10px 5px;
    font-size: 1.0625rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    color: #ffffff;
    background-color: #8f95a5;
    border-radius: 10px; }
  h1.preset2 {
    font-size: 1.9375rem;
    font-weight: 400;
    text-transform: uppercase;
    border-radius: 0; }

h2 {
  color: #071e83;
  font-size: 1.9375rem;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 7.5px 0;
    margin: 0 0 20px;
    color: #ffffff;
    background-color: #8f95a5;
    text-align: center;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 400;
    word-spacing: normal;
    border-radius: 10px;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #071e83;
    text-transform: none;
    font-size: 1rem;
    font-weight: 400;
    word-spacing: normal; }
  h2.preset3 {
    position: relative;
    color: #ffffff;
    margin: 0;
    padding: 10px 5px;
    font-size: 1.0625rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    word-spacing: normal;
    background-color: #8f95a5;
    border-radius: 10px; }
  h2.preset4 {
    padding: 15px 0;
    margin: 0 0 15px;
    color: #071e83;
    background-color: #d0d0d0b3;
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    border-radius: 10px; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

h3 {
  margin: 0;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 1.4rem;
  font-weight: 600;
  color: #071e83; }
  h3.preset1 {
    width: 100%;
    margin: 0;
    padding: 7.5px 0;
    background-color: #d0d0d0b3;
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 10px;
    color: #071e83; }
  h3.preset2 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 10px;
    font-size: 1.0625rem;
    text-transform: uppercase;
    color: #071e83; }
    h3.preset2:after {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      left: 0;
      bottom: 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }

h4 {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

h5 {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

h6 {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

.callout.alert h5, .callout.alert p {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700; }

.text-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin: 0; }
  @media screen and (min-width: 100em) {
    .text-container {
      margin: 0 auto;
      text-align: right; } }
  @media screen and (min-width: 100em) and (orientation: landscape) {
    .text-container {
      margin: 0; } }
  @media screen and (min-width: 100em) {
    .text-container.align-left {
      text-align: left; } }

a {
  text-decoration: none;
  color: var(--primary-colour-lightness-0, #071e83);
  font-weight: 700;
  font-size: 1rem;
  -webkit-transition: color 0.8s, opacity 0.8s;
  transition: color 0.8s, opacity 0.8s; }
  a.success {
    color: #12811f; }
    a.success:before, a.success:after {
      color: #12811f; }
  a.warning {
    color: #ff5e05; }
    a.warning:before, a.warning:after {
      color: #ff5e05; }
  a.alert {
    color: #b20c0c; }
    a.alert:before, a.alert:after {
      color: #b20c0c; }
  a.edit {
    font-size: 0.875rem;
    color: #071e83;
    cursor: pointer; }
    a.edit:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Regular";
      font-size: 17px; }
  a.disabled {
    cursor: not-allowed;
    opacity: 0.4; }
  a.news-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 600;
    font-style: normal; }
    a.news-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.news-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.news-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.news-button:active {
      color: var(--primary-colour-lightness-0); }
      a.news-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.blog-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 600;
    font-style: normal; }
    a.blog-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.blog-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.blog-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.blog-button:active {
      color: var(--primary-colour-lightness-0); }
      a.blog-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.events-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 600;
    font-style: normal; }
    a.events-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.events-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.events-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.events-button:active {
      color: var(--primary-colour-lightness-0); }
      a.events-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.external-link-icon:after {
    content: "";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 12px;
    font-family: "Font Awesome Solid"; }
  a:hover {
    text-decoration: none;
    color: var(--secondary-colour-lightness-0, #fb6f21);
    opacity: 0.9;
    -webkit-transition: color 0.6s, opacity 0.6s;
    transition: color 0.6s, opacity 0.6s; }
  a:active {
    color: var(--neutral-colour-lightness-0, #333333); }
  a.pdf-download {
    position: relative;
    font-weight: 400; }
    a.pdf-download:before {
      content: "";
      margin-right: 15px;
      font-size: 20px;
      font-weight: 400;
      font-family: "Font Awesome Regular";
      color: #ff0101;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.pdf-download:hover:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

ol li {
  text-align: left; }

@media print, screen and (min-width: 81.25em) {
  hr.mobile-seperator {
    display: none; } }

address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-style: normal;
  color: #000000; }
  address span {
    width: 100%;
    display: block; }

span[class*="-icon"] .icon-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 5px; }
  @media print, screen and (min-width: 81.25em) {
    span[class*="-icon"] .icon-text {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem; }
  .prices p {
    margin: 0;
    font-weight: 500; }
  .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .prices .price-container .label {
      color: #000000;
      font-weight: 500; }
      .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .prices .price-container .value {
      color: #ff0101;
      font-weight: 500; }
      @media print, screen and (min-width: 81.25em) {
        .prices .price-container .value {
          text-align: right; } }
    .prices .price-container.saving .label, .prices .price-container.saving .value {
      color: #12811f;
      font-weight: 700;
      text-transform: uppercase; }
    .prices .price-container.rrp .label, .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 0.9375rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.price-container .value {
  font-size: 0.9375rem; }

.price-container .label, .price-container .value {
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

.price {
  margin: 0; }
  .price .currency {
    font-size: 1.625rem; }

.vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #333333;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

hr {
  margin: 25px 0; }

/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
.table-footer-spacer.preset-1 {
  margin-bottom: 15px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-1 {
      margin-bottom: 40px; } }

.table-footer-spacer.preset-2 {
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-2 {
      margin-bottom: 20px; } }

.table-footer-spacer hr {
  border-top: 1px solid #aeaeae; }

table {
  --border-colour: var(--neutral-colour-lightness-7);
  --border-hover-colour: #aeaeae;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0 !important;
  border-color: var(--border-colour); }
  table.striped tr {
    padding: 25px; }
  @media screen and (min-width: 81.25em) {
    table.show-border-bottom tr {
      padding-bottom: 20px; }
      table.show-border-bottom tr:not(:last-child) {
        border-bottom: 1px solid var(--border-colour);
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
        table.show-border-bottom tr:not(:last-child):hover {
          border-color: var(--border-hover-colour);
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; } }
  table.show-borders {
    border: 1px solid var(--border-colour); }
    table.show-borders th, table.show-borders td {
      border: 1px solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    table.show-internal-borders tr:first-child th, table.show-internal-borders tr:first-child td {
      border-top: 0; }
    table.show-internal-borders tr:last-child th, table.show-internal-borders tr:last-child td {
      border-bottom: 0; }
    table.show-internal-borders tr th, table.show-internal-borders tr td {
      border: 1px solid var(--border-colour); }
      table.show-internal-borders tr th:first-child, table.show-internal-borders tr td:first-child {
        border-left: 0; }
      table.show-internal-borders tr th:last-child, table.show-internal-borders tr td:last-child {
        border-right: 0; } }
  table.highlight-first-column tr td:first-child {
    color: var(--primary-colour-lightness-0);
    font-size: 0.9375rem;
    font-weight: 700;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  table.preset-1 {
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1 {
        margin: 15px 0; } }
    table.preset-1 td, table.preset-1 th {
      padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1.row-spacing tbody:before {
        margin: -10px; } }
    table.preset-1 tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody:before {
          margin: 10px; } }
    table.preset-1 tbody tr {
      padding: 5px; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody tr {
          padding: 0; } }
    table.preset-1 tbody td {
      position: relative;
      padding: 5px 0 0;
      text-align: left;
      font-size: 0.9375rem; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody td {
          padding: 7px 5px;
          text-align: center; } }
      table.preset-1 tbody td.image-col {
        --media-aspect-ratio: 1/1;
        text-align: left;
        padding: 0; }
        table.preset-1 tbody td.image-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          border: 1px solid #f0f0f0; }
    table.preset-1 tbody a:not([class*="-button"]) {
      color: #333333;
      font-size: 0.9375rem; }
      table.preset-1 tbody a:not([class*="-button"]):hover {
        color: #fb6f21;
        text-decoration: underline; }
        table.preset-1 tbody a:not([class*="-button"]):hover span {
          text-decoration: underline; }
      table.preset-1 tbody a:not([class*="-button"]):active {
        color: #071e83; }
    table.preset-1 tbody a:not(.pdf-download) {
      font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    table.preset-2 {
      margin: 45px 0 40px; } }
  table.preset-2 tbody:before {
    content: '';
    display: block;
    margin: 10px; }
  table.preset-3 td, table.preset-3 th {
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 td, table.preset-3 th {
        padding: 1px 5px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3.row-additional-padding td {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3 tbody:before {
      content: '';
      display: block;
      margin: 10px; } }
  table.preset-3 tbody tr {
    padding: 10px 20px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody tr {
        padding: 0; } }
  table.preset-3 tbody td, table.preset-3 tbody th {
    font-size: 0.875rem; }
  table.preset-3 tbody td {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody td {
        text-align: center; } }
  table.preset-3 tbody a {
    font-weight: 700;
    font-size: 0.9375rem;
    color: #333333; }
    table.preset-3 tbody a:hover {
      color: #fb6f21;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #071e83; }
  table.row-spacing {
    border-collapse: separate !important;
    border-spacing: 0 10px; }
    table.row-spacing:has(.row-input-toggle) {
      padding-right: 2px;
      padding-left: 2px; }
  table tbody span.col-label {
    width: 100%;
    display: inline-block;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table tbody span.col-label {
        width: auto; } }
  table td {
    vertical-align: baseline; }
  table:has(td[class*="image-col"]) td {
    vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    table td.no-pdf-download span.text-container {
      padding-left: 35px; } }
  table button {
    display: inline-block; }
  table tr.success .notification-indicator-container:before {
    background: #12811f; }
  table tr.success .notification-content-container {
    border-color: #12811f; }
    table tr.success .notification-content-container .notification-content {
      color: #12811f; }
  table tr.warning .notification-indicator-container:before {
    background: #ff5e05; }
  table tr.warning .notification-content-container {
    border-color: #ff5e05; }
    table tr.warning .notification-content-container .notification-content {
      color: #ff5e05; }
  table tr.alert .notification-indicator-container:before {
    background: #b20c0c; }
  table tr.alert .notification-content-container {
    border-color: #b20c0c; }
    table tr.alert .notification-content-container .notification-content {
      color: #b20c0c; }
  table tr.error-row, table tr.error {
    background-color: #fde1e1 !important;
    color: #b20c0c; }
  @media screen and (min-width: 81.25em) {
    table tr + tr.error-row td, table tr + tr.error td {
      border-top: 2px solid #ffffff; } }
  table tr.card-expired, table tr.expired {
    background-color: var(--neutral-colour-lightness-9);
    cursor: not-allowed;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.card-expired:hover, table tr.expired:hover {
      background-color: transparent;
      -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
              box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.card-expired td, table tr.expired td {
      opacity: 0.5;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
    table tr.card-expired .remove-col, table tr.card-expired .expire-date-col, table tr.expired .remove-col, table tr.expired .expire-date-col {
      opacity: 1; }
  table tr.row-input-toggle {
    -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
            box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
    cursor: pointer;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.row-input-toggle:has(input[type='checkbox']:checked, input[type="radio"]:checked) {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
      background-color: var(--secondary-colour-lightness-10);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.row-input-toggle:hover {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7); }
  table tr:hover td {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  table .success-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #12811f; }
  table .failed-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #b20c0c; }
  table .failed-reason {
    width: 100%;
    display: block;
    margin-left: 30px;
    font-size: 0.8125rem;
    color: #333333; }
    @media screen and (min-width: 81.25em) {
      table .failed-reason {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  @media screen and (min-width: 81.25em) {
    table .failed-icon, table .success-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  table .failed-icon:before, table .success-icon:before {
    margin-right: 10px;
    margin-left: 0;
    font-size: 20px; }
  @media screen and (min-width: 81.25em) {
    table .order-total-col, table th.csv-import-col {
      width: 200px; } }
  @media print, screen and (max-width: 81.24875em) {
    table .address-block {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  table .remove-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  table .remove-button:hover:before {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #071e83; }
  table .card-type:before {
    content: "";
    margin: 0 10px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 1.25rem;
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .expired-text {
    display: inline-block;
    margin: 0 0 0 5px;
    color: #ff0101;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table .expired-text {
        position: absolute; } }
  @media screen and (min-width: 81.25em) {
    table .tooltip-container.state-indicator .tooltip-trigger:before {
      font-size: 9px; } }

thead.preset-1 {
  background-color: transparent; }
  thead.preset-1 th {
    padding: 0 5px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0);
    border-bottom: 1px solid #aeaeae;
    text-align: center; }
    thead.preset-1 th button {
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
  thead.preset-1 th[class$=description-col] {
    text-align: left; }
  thead.preset-1 + tbody .col-label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0); }

thead.preset-2 {
  background-color: transparent; }
  thead.preset-2 th {
    padding: 0 0 20px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #000000;
    border-bottom: 1px solid #aeaeae; }

thead th {
  vertical-align: baseline;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

.comparison-table-container .comparison-table-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .comparison-table-container .comparison-table-buttons {
      display: none; } }
  .comparison-table-container .comparison-table-buttons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: hidden;
    overflow-x: auto; }
    .comparison-table-container .comparison-table-buttons ul li {
      height: 100%; }
      .comparison-table-container .comparison-table-buttons ul li:not(:last-child) {
        margin-right: 10px; }
  .comparison-table-container .comparison-table-buttons .comparison-table-button {
    height: 100%;
    padding: 20px;
    border: 1px solid #959595;
    line-height: 20px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .comparison-table-container .comparison-table-buttons .comparison-table-button.active {
      background-color: #071e83;
      color: #ffffff;
      border-color: #071e83;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }

.comparison-table-container {
  max-width: 100%;
  width: 100%; }

[comparison-table] .comparison-values td + td, [comparison-table] th + th {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] .comparison-values td + td, [comparison-table] th + th {
      display: table-cell; } }

[comparison-table] thead {
  display: none; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] thead {
      display: table-header-group;
      background-color: transparent; } }
  [comparison-table] thead tr {
    background-color: transparent; }
  [comparison-table] thead th {
    padding: 0 0 15px;
    border-bottom: 1px solid #d0d0d0; }
    [comparison-table] thead th:first-child {
      width: 15%; }

[comparison-table] tbody.comparison-values {
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eeeeee; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-values {
      border: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    [comparison-table] tbody.comparison-values tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-line-pack: baseline;
          align-content: baseline; } }
  [comparison-table] tbody.comparison-values td {
    margin: 5px 0;
    padding: 10px;
    font-size: 1.0625rem;
    border-bottom: 1px solid #d0d0d0; }
    @media screen and (min-width: 81.25em) {
      [comparison-table] tbody.comparison-values td {
        margin: 0;
        border: 0; } }
    [comparison-table] tbody.comparison-values td:nth-child(1) {
      width: 58%;
      font-family: "Geologica", "Geologica Fallback", "Arial"; }
      @media print, screen and (max-width: 81.24875em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          text-align: left; } }
      [comparison-table] tbody.comparison-values td:nth-child(1):first-child {
        margin-top: 0; }
      @media screen and (min-width: 81.25em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          width: 15%;
          border-right: 1px solid #d0d0d0; } }

@media print, screen and (max-width: 81.24875em) {
  [comparison-table].align-value-right tbody td.active {
    text-align: right; } }

[comparison-table].align-value-right .comparison-summary tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }

[comparison-table].align-value-right .comparison-summary .comparison-currently-selected {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: right; }

[comparison-table] tbody.comparison-summary {
  display: block;
  margin: 15px 0 10px;
  color: #333333; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-summary {
      display: none; } }
  [comparison-table] tbody.comparison-summary .comparison-column-heading {
    width: 58%; }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table.force-mobile-row-layout td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 5px 0; } }

table.stack.responsive-table.force-mobile-row-layout td .col-label {
  width: 50%; }
  @media print, screen and (min-width: 40em) {
    table.stack.responsive-table.force-mobile-row-layout td .col-label {
      width: 250px; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td.column-empty {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td .col-label {
    width: 100%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start; } }

@media print, screen and (max-width: 39.99875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 50% 50%; } }

@media print, screen and (min-width: 40em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 30% 70%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) tbody tr {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0 10px; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td {
    padding: 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) {
    grid-column: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]):has(.col-label) {
      display: grid; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) .control {
      margin: auto 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  [responsive-reveal] {
    display: none; } }

.responsive-reveal-table {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .responsive-reveal-table {
      display: none; } }
  @media print, screen and (max-width: 81.24875em) {
    .responsive-reveal-table + table {
      display: none; } }
  .responsive-reveal-table .responsive-table-item {
    background-color: #f0f0f0; }
    .responsive-reveal-table .responsive-table-item:not(:last-child) {
      margin-bottom: 5px; }
    .responsive-reveal-table .responsive-table-item.success {
      border-left: 2px solid #12811f; }
      .responsive-reveal-table .responsive-table-item.success .table-notification-text {
        color: #12811f; }
    .responsive-reveal-table .responsive-table-item.warning {
      border-left: 2px solid #ff5e05; }
      .responsive-reveal-table .responsive-table-item.warning .table-notification-text {
        color: #ff5e05; }
    .responsive-reveal-table .responsive-table-item.alert {
      border-left: 2px solid #b20c0c; }
      .responsive-reveal-table .responsive-table-item.alert .table-notification-text {
        color: #b20c0c; }
    .responsive-reveal-table .responsive-table-item.active .header-container .header-item a {
      color: #071e83; }
    .responsive-reveal-table .responsive-table-item.active .header-container:after {
      content: ""; }
    .responsive-reveal-table .responsive-table-item.active .content-container {
      max-height: 500px;
      margin-top: 10px;
      padding-bottom: 18px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
    .responsive-reveal-table .responsive-table-item.active .ellipsis-text {
      white-space: normal;
      -webkit-mask-image: none;
              mask-image: none; }
  .responsive-reveal-table .header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 20px; }
    .responsive-reveal-table .header-container:has(.unread-col) {
      padding-left: 0; }
    .responsive-reveal-table .header-container:after {
      content: "";
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: 10px;
      font-family: "fontello-winterstoke";
      font-size: 18px;
      color: #071e83; }
  .responsive-reveal-table .content-container {
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 18px;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .responsive-reveal-table .content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 0.875rem; }
  .responsive-reveal-table .col-label {
    max-width: 120px;
    width: 100%;
    display: block;
    font-weight: 700;
    color: #333333; }
  .responsive-reveal-table .tooltip-container.state-indicator .tooltip-trigger:before {
    font-size: 12px; }

.table-sort-col.ascend button:after {
  content: ""; }

.table-sort-col.descend button:after {
  content: ""; }

.table-sort-col button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .table-sort-col button:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    font-family: "fontello-winterstoke";
    font-size: 6px;
    color: #959595; }
  .table-sort-col button:hover {
    color: #fb6f21;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .table-sort-col button:hover:after {
      color: #fb6f21;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .table-sort-col button:active {
    color: #4d60b2; }
    .table-sort-col button:active:after {
      color: #4d60b2; }

td.notification-col:hover .table-row-notification .notification-indicator-container {
  width: 6px;
  -webkit-transition: width 0.6s;
  transition: width 0.6s; }

td.notification-col:hover .table-row-notification .notification-content-container {
  max-width: 500px;
  left: 6px;
  -webkit-box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
          box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
  -webkit-transition: max-width 0.6s, border-width 0.6s, left 0.6s;
  transition: max-width 0.6s, border-width 0.6s, left 0.6s; }

.unread-col {
  width: 48px; }
  @media print, screen and (max-width: 81.24875em) {
    .unread-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    .unread-col {
      width: 20px; } }

.table-row-notification {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  .table-row-notification .notification-indicator-container {
    width: 2px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-transition: width 0.8s;
    transition: width 0.8s; }
    .table-row-notification .notification-indicator-container:before {
      content: '';
      width: 100%;
      height: 100%;
      display: block;
      background-color: #333333; }
  .table-row-notification .notification-content-container {
    max-width: 0;
    position: absolute;
    top: 0;
    left: 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
    white-space: nowrap;
    border-width: 0;
    border-style: solid;
    border-color: #333333;
    z-index: 5000;
    cursor: text;
    -webkit-transition: max-width 0.8s, left 0.8s ease-in-out;
    transition: max-width 0.8s, left 0.8s ease-in-out; }
    .table-row-notification .notification-content-container .notification-content {
      width: 100%;
      color: #333333;
      font-size: 0.875rem;
      font-style: italic;
      font-weight: 600; }

.table-notification-text {
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 600;
  color: #333333; }
  .table-notification-text p {
    margin: 5px 0;
    padding: 0; }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table.payment .remove-col {
    width: 10%; } }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table .expire-date-col {
    width: 25%; } }

table.reusable-card-table th.select-col, table.reusable-card-table td.select-col {
  display: none; }

table.invalid-basket-table {
  width: calc(100% - 0);
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 81.25em) {
    table.invalid-basket-table {
      width: calc(100% - 60px); } }
  table.invalid-basket-table .reference-col, table.invalid-basket-table .description-col {
    text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries {
    width: 850px; } }

table.audit-trail-entries th {
  text-align: left; }

table.audit-trail-entries tbody td {
  text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .updated-col, table.audit-trail-entries .updated-by-col {
    width: 19%; } }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .access-level-col {
    width: 15%; } }

table.audit-trail-entry {
  margin: 0; }
  table.audit-trail-entry th {
    text-align: left; }
  table.audit-trail-entry th, table.audit-trail-entry td {
    padding: 2.5px 5px; }
    @media screen and (min-width: 81.25em) {
      table.audit-trail-entry th, table.audit-trail-entry td {
        padding: 10px; } }
  table.audit-trail-entry tbody td {
    text-align: left;
    font-size: 0.9375rem; }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .revision-col {
      width: 5%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-by-col {
      width: 17%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-col {
      width: 11%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .published-col, table.audit-trail-entry .access-level-col {
      width: 9%; } }

table.documentation-structured-data {
  --nested-table-row-border-colour: var(--neutral-colour-lightness-8);
  --nested-table-row-border-width: 2px; }
  table.documentation-structured-data .nested-table-row-parent {
    border-width: var(--nested-table-row-border-width) var(--nested-table-row-border-width) 0 var(--nested-table-row-border-width);
    border-style: solid;
    border-color: var(--nested-table-row-border-colour); }
    table.documentation-structured-data .nested-table-row-parent + .nested-table-row {
      border-width: 0 var(--nested-table-row-border-width) var(--nested-table-row-border-width) var(--nested-table-row-border-width);
      border-style: solid;
      border-color: var(--nested-table-row-border-colour); }
      table.documentation-structured-data .nested-table-row-parent + .nested-table-row > td {
        padding: 25px; }
  table.documentation-structured-data thead th {
    text-align: left; }
  table.documentation-structured-data tbody td {
    text-align: left; }

table.folder-filters-table th {
  text-align: left; }

table.folder-filters-table tbody td {
  text-align: left; }

.table-container.table-scroll-enabled {
  position: relative;
  overflow-y: auto;
  border-bottom: 1px solid #aeaeae; }
  .table-container.table-scroll-enabled table thead th {
    border: 0; }

.table-container.scroll-middle thead:after, .table-container.scroll-at-bottom thead:after {
  -webkit-box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle, .table-container.scroll-at-top {
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle {
  -webkit-box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.audit-trail-entries {
  max-height: 400px; }
  @media screen and (min-width: 81.25em) {
    .table-container.audit-trail-entries {
      max-height: 600px; } }

.table-container table {
  margin: 0; }

.table-container thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: var(--white-colour);
  z-index: 1; }
  .table-container thead:after {
    content: '';
    height: 4px;
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    border-bottom: 1px solid #aeaeae; }

/*
---- Inputs ---- 
- Styling for form inputs ( select, input, textarea )
- Quantity selectors
- Forms
  - Fieldsets
  - Fields
- Validation
  - Form errors from the server
  - Advanced validation ( setting password )
- Primary, Secondary, Etc buttons used throughout the site.
- UI block pane.
*/
form {
  background-color: transparent;
  border-radius: 10px; }

form.is-invalid button[type=submit], form.is-invalid .form-submit-button {
  cursor: not-allowed;
  opacity: 0.4; }
  form.is-invalid button[type=submit]:hover, form.is-invalid .form-submit-button:hover {
    background-color: #b20c0c !important; }

form.is-invalid input[type=submit] {
  cursor: not-allowed;
  opacity: 0.4; }

button:disabled, button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: none; }

input[type=submit]:hover {
  cursor: pointer; }

select:focus::-ms-value {
  background-color: transparent;
  color: #000000; }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text input {
    max-width: 360px; } }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text.password-reveal-container input {
    max-width: calc(360px - 45px); } }

.field {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5px 0; }
  @media print, screen and (min-width: 40em) {
    .field {
      max-width: 640px;
      margin: auto; } }
  .field.align-right {
    margin-left: 0; }
  .field.align-left {
    margin-right: 0; }
  .field label {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    font-size: 1rem; }
    @media screen and (min-width: 81.25em) {
      .field label {
        margin: 10px 0; } }
    .field label.password-reveal-container input {
      max-width: calc(100% - 45px);
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      border-width: 1px 0 1px 1px;
      border-radius: 10px 0 0 10px; }
      @media screen and (min-width: 81.25em) {
        .field label.password-reveal-container input {
          max-width: calc(100% - 45px -  200px);
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
    .field label.password-reveal-container .label {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .field label.password-reveal-container .form-error {
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }
    .field label.password-reveal-container .password-reveal {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .field label .label + textarea {
      margin: 0; }
    .field label .label .advisory-text {
      width: 100%;
      display: block;
      color: #959595;
      font-size: 0.8125rem;
      font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .field label.text, .field label.email, .field label.tel, .field label.number, .field label.textarea {
        padding: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .field:has(button[type="submit"].primary-button) {
      margin-top: 10px;
      margin-bottom: 10px; } }
  .field + .cms-content-container {
    margin-top: 20px;
    margin-bottom: 20px; }
  .field input:not([type=checkbox]) {
    padding: 5px 0 5px 25px;
    margin: 0; }
  @media screen and (min-width: 81.25em) {
    .field .label + textarea {
      max-width: 480px;
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .field textarea {
    margin: auto; }
    .field textarea:hover {
      border-color: #d0d0d0; }
  @media screen and (min-width: 81.25em) {
    .field .error-block {
      max-width: 581.81818px; } }
  .field:not(.medium):not(.large):not(.large-1) {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center; }
  .field.small {
    width: 100%;
    margin-bottom: 30px; }
    .field.small label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.small .label {
        width: 300px; } }
  .field.medium {
    width: 100%; }
    .field.medium label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.medium .label {
        width: 350px; } }
  .field.large {
    width: 100%; }
    .field.large label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    @media print, screen and (min-width: 40em) {
      .field.large .label {
        width: 440px; } }
  .field.full-width .label {
    width: 100%; }
  .field.list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .field.list label {
      margin-bottom: 15px; }
    @media print, screen and (min-width: 40em) {
      .field.list .label {
        width: 340px; } }
  .field .label {
    width: 100%;
    padding-right: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 81.25em) {
      .field .label {
        width: 200px;
        margin-bottom: 0; } }
    .field .label a {
      display: block;
      font-style: italic; }
  .field .control.select {
    margin: 0 auto 10px 0; }
  .field .custom-input-container {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .field .custom-input-container.active {
      max-height: 200px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  .field[class^="field small-"], .field[class^="field medium-"], .field[class^="field large-"] {
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .field[class^="field small-"] label, .field[class^="field medium-"] label, .field[class^="field large-"] label {
        width: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .field[class^="field small-"] .control.checkbox span.checkbox, .field[class^="field medium-"] .control.checkbox span.checkbox, .field[class^="field large-"] .control.checkbox span.checkbox {
        margin-right: 40px;
        margin-left: auto; } }
    .field[class^="field small-"] .custom-input-container, .field[class^="field medium-"] .custom-input-container, .field[class^="field large-"] .custom-input-container {
      padding: 0 10px; }
    .field[class^="field small-"] .additional-input-info, .field[class^="field medium-"] .additional-input-info, .field[class^="field large-"] .additional-input-info {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .field.small-1, .field.medium-1, .field.large-1 {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .field.small-1, .field.medium-1, .field.large-1 {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
      width: auto;
      margin-right: 20px; }
      @media screen and (min-width: 81.25em) {
        .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
          width: 360px; } }
  .field.small-2 {
    width: 50%; }
  .field.small-3 {
    width: 33%; }
  @media print, screen and (min-width: 40em) {
    .field.medium-2 {
      width: 50%; } }
  @media print, screen and (min-width: 40em) {
    .field.medium-3 {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-2 {
      width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-3 {
      width: 33%; } }

.additional-input-info {
  margin-bottom: 15px; }
  .additional-input-info a[href^="tel:"], .additional-input-info a[href^="mailto:"] {
    font-weight: 700; }
    .additional-input-info a[href^="tel:"]:hover, .additional-input-info a[href^="mailto:"]:hover {
      text-decoration: none; }
    .additional-input-info a[href^="tel:"].show-contact-icon:before, .additional-input-info a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .additional-input-info a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .additional-input-info a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .additional-input-info p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .additional-input-info p a:has([style*="float"]) {
    display: inline; }
  .additional-input-info p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.6;
    color: #000000; }
    .additional-input-info p img[style*="float:left"], .additional-input-info p img[style*="float: left"], .additional-input-info p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .additional-input-info p img[style*="float:right"], .additional-input-info p img[style*="float: right"], .additional-input-info p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .additional-input-info p img {
      margin: .2em 0; }
    .additional-input-info p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .additional-input-info ul, .additional-input-info ol {
    text-align: left; }
  .additional-input-info ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .additional-input-info ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .additional-input-info ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .additional-input-info ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #071e83;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .additional-input-info ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .additional-input-info ol ol ol {
        list-style-type: lower-roman; }
        .additional-input-info ol ol ol ol {
          list-style-type: lower-alpha; }
          .additional-input-info ol ol ol ol ol {
            list-style-type: lower-roman; }
  .additional-input-info li {
    color: #000000;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.6; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 30px; }
  .additional-input-info ul + h2, .additional-input-info ol + h2 {
    margin-top: 15px; }
  .additional-input-info ul + h3, .additional-input-info ol + h3 {
    margin-top: 0; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 0; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 0; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 0; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 1rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 1rem; }
  .additional-input-info img {
    margin: 0 15px; }
  .additional-input-info.large {
    width: 100%; }

.lookup-content {
  width: 100%;
  position: relative; }

input[type=password] {
  color: #959595;
  font-size: 22px;
  letter-spacing: -1px;
  font-family: caption;
  -webkit-transition: font-size 0.8s;
  transition: font-size 0.8s;
  overflow: hidden;
  border-radius: 10px 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    input[type=password] {
      font-size: 44px; } }
  input[type=password]:hover {
    -webkit-box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    input[type=password]:hover + button {
      -webkit-box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
              box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  input[type=password]:focus + button {
    border-color: #d0d0d0; }
  input[type=password] + button {
    border-radius: 0 10px 10px 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #d0d0d0;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .password-reveal:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-style: 12px;
    color: rgba(51, 51, 51, 0.7);
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .password-reveal:hover:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .password-reveal.input-active {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

input::-ms-clear, input::-ms-reveal {
  display: none; }

.action-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .action-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .action-button:hover, .action-button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .action-button:hover .graduated-colour-edge .step, .action-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .action-button:active, .action-button.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .action-button:disabled, .action-button.disabled, .action-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .action-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .action-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .action-button.success, .action-button.email {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 35px);
    color: #12811f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #12811f;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.success, .action-button.email {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.success:hover, .action-button.success.hover, .action-button.email:hover, .action-button.email.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.success:hover .graduated-colour-edge .step, .action-button.success.hover .graduated-colour-edge .step, .action-button.email:hover .graduated-colour-edge .step, .action-button.email.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.success:active, .action-button.success.active, .action-button.email:active, .action-button.email.active {
      color: #ffffff;
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.success:disabled, .action-button.success.disabled, .action-button.success[disabled], .action-button.email:disabled, .action-button.email.disabled, .action-button.email[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .action-button.success:disabled:hover, .action-button.success.disabled:hover, .action-button.email:disabled:hover, .action-button.email.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .action-button.success:focus-visible, .action-button.email:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .action-button.success .graduated-colour-edge .step, .action-button.email .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.warning {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 35px);
    color: #ff5e05;
    background-color: #ffefe6;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #ff5e05;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.warning {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.warning:hover, .action-button.warning.hover {
        color: #ffffff;
        background-color: #ff5e05;
        border-color: #ff5e05;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.warning:hover .graduated-colour-edge .step, .action-button.warning.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.warning:active, .action-button.warning.active {
      color: #ffffff;
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.warning:disabled, .action-button.warning.disabled, .action-button.warning[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .action-button.warning:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .action-button.warning .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.alert {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 10px 35px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #b20c0c;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.alert {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.alert:hover, .action-button.alert.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.alert:hover .graduated-colour-edge .step, .action-button.alert.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.alert:active, .action-button.alert.active {
      color: #ffffff;
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.alert:disabled, .action-button.alert.disabled, .action-button.alert[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .action-button.alert:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .action-button.alert .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

a[class*="-button"].align-center {
  margin-right: auto;
  margin-left: auto; }

a[class*="-button"].align-right {
  margin-right: 0;
  margin-left: auto; }

a[class*="-button"].align-left {
  margin-right: auto;
  margin-left: 0; }

.button1, .primary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .button1, .primary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .button1:hover, .button1.hover, .primary-button:hover, .primary-button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .button1:hover .graduated-colour-edge .step, .button1.hover .graduated-colour-edge .step, .primary-button:hover .graduated-colour-edge .step, .primary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .button1:active, .button1.active, .primary-button:active, .primary-button.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .button1:disabled, .button1.disabled, .button1[disabled], .primary-button:disabled, .primary-button.disabled, .primary-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .button1:disabled:hover, .button1.disabled:hover, .primary-button:disabled:hover, .primary-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .button1:focus-visible, .primary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .button1 .graduated-colour-edge .step, .primary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.secondary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .secondary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .secondary-button:hover, .secondary-button.hover {
      color: #071e83;
      background-color: #d2def9;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .secondary-button:hover .graduated-colour-edge .step, .secondary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .secondary-button:active, .secondary-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .secondary-button:disabled, .secondary-button.disabled, .secondary-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .secondary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .secondary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.tertiary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 35px);
  color: #ff0101;
  background-color: #ffdfdf;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .tertiary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .tertiary-button:hover, .tertiary-button.hover {
      color: #ffffff;
      background-color: #ff0101;
      border-color: #ff0101;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .tertiary-button:hover .graduated-colour-edge .step, .tertiary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .tertiary-button:active, .tertiary-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #ffffff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .tertiary-button:disabled, .tertiary-button.disabled, .tertiary-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .tertiary-button:disabled:hover, .tertiary-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .tertiary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .tertiary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quaternary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 3.5px 16px);
  color: #ffffff;
  background-color: #fb6f21;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #fb6f21;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quaternary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quaternary-button:hover, .quaternary-button.hover {
      color: #fb6f21;
      background-color: #ffffff;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quaternary-button:hover .graduated-colour-edge .step, .quaternary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quaternary-button:active, .quaternary-button.active {
    color: #071e83;
    background-color: #ffffff;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quaternary-button:disabled, .quaternary-button.disabled, .quaternary-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .quaternary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .quaternary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quinary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #eeeeee;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quinary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quinary-button:hover, .quinary-button.hover {
      color: #071e83;
      background-color: #d0d0d0b3;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quinary-button:hover .graduated-colour-edge .step, .quinary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quinary-button:active, .quinary-button.active {
    color: #071e83;
    background-color: #ffffff;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quinary-button:disabled, .quinary-button.disabled, .quinary-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .quinary-button:disabled:hover, .quinary-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .quinary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .quinary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: transparent;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #071e83;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-button {
      margin: var(--common-button-medium-margin, 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    .cms-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0 0 10px); } }
  @media (hover: hover) {
    .cms-button:hover, .cms-button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: hover-color((default: transparent, hover: #071e83, active: #fb6f21, disabled: #ffffff));
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-button:hover .graduated-colour-edge .step, .cms-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-button:active, .cms-button.active {
    color: #183ad3;
    background-color: #fb6f21;
    border-color: #183ad3;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-button:disabled, .cms-button.disabled, .cms-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .cms-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .cms-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-proceed-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase; }
  .cms-proceed-button:after {
    content: "";
    font-size: 8px;
    font-family: "fontello-winterstoke";
    font-weight: normal; }
  .cms-proceed-button:hover {
    text-decoration: none; }

.copy-to-clipboard-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .copy-to-clipboard-button:after {
    content: "";
    margin-left: 5px;
    color: #333333;
    font-family: "Font Awesome Solid";
    size: 15px; }
  .copy-to-clipboard-button .copied-text-container {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    position: absolute;
    top: -5px;
    left: -5px;
    padding: 5px;
    background-color: rgba(238, 238, 238, 0.9);
    color: #000000;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 10px; }

.location-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 9.5px 12px 9.5px 21px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .location-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .location-button:hover, .location-button.hover {
      color: #071e83;
      background-color: #8f95a5;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .location-button:hover:after, .location-button.hover:after {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .location-button:hover .graduated-colour-edge .step, .location-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .location-button:active, .location-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .location-button:active:after, .location-button.active:after {
      color: #ffffff; }
  .location-button:disabled, .location-button.disabled, .location-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
    .location-button:disabled:after, .location-button.disabled:after, .location-button[disabled]:after {
      color: #5c5c5c; }
  .location-button:disabled:hover, .location-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .location-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .location-button:after {
    content: "";
    margin: 0 0 0 40px;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .location-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.third-party-tracking-reference {
  margin: 0;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #8f95a5; }
  .third-party-tracking-reference .reference {
    margin-left: 5px; }

.third-party-tracking-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #8f95a5;
  background-color: #071e83;
  border: 1px solid #8f95a5; }
  .third-party-tracking-button:hover {
    color: #071e83;
    background-color: #8f95a5;
    border-color: #071e83; }
    .third-party-tracking-button:hover:after {
      color: #071e83; }
  .third-party-tracking-button:active {
    color: #fb6f21;
    background-color: #ffffff;
    border-color: #ffffff; }
    .third-party-tracking-button:active:after {
      color: #fb6f21; }
  .third-party-tracking-button:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #8f95a5; }

.third-party-tracking-button-2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5px 0 0;
  padding: 5px 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #071e83;
  border: 1px solid #aeaeae;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .third-party-tracking-button-2 {
      padding: 3px 5px;
      font-size: 0.75rem; } }
  .third-party-tracking-button-2:hover {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .third-party-tracking-button-2:hover:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .third-party-tracking-button-2:active {
    color: #071e83;
    background-color: #8f95a5;
    border-color: #071e83; }
    .third-party-tracking-button-2:active:after {
      color: #071e83; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #071e83;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .third-party-tracking-button-2:after {
        margin-left: 6px;
        font-size: 13px; } }

.print-element-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media print, screen and (min-width: 40em) {
    .print-element-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .print-element-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .print-element-button:hover, .print-element-button.hover {
      color: #071e83;
      background-color: #d2def9;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .print-element-button:hover .graduated-colour-edge .step, .print-element-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .print-element-button:active, .print-element-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #071e83; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
    .print-element-button:disabled:before, .print-element-button.disabled:before, .print-element-button[disabled]:before {
      color: #5c5c5c; }
  .print-element-button:disabled:hover, .print-element-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .print-element-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .print-element-button:before {
    content: "";
    margin: 0 12px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .print-element-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.print-element-link:before {
  content: "";
  margin-right: 10px;
  font-family: "Font Awesome Solid"; }

#paypal-checkout-button, .paypal-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 12px 5px);
  background-color: #ffc439;
  border-width: 2px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #eeeeee;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  border-radius: 5px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    #paypal-checkout-button, .paypal-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    #paypal-checkout-button, .paypal-button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    #paypal-checkout-button:hover, #paypal-checkout-button.hover, .paypal-button:hover, .paypal-button.hover {
      background-color: #071e83;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      #paypal-checkout-button:hover .graduated-colour-edge .step, #paypal-checkout-button.hover .graduated-colour-edge .step, .paypal-button:hover .graduated-colour-edge .step, .paypal-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  #paypal-checkout-button:active, #paypal-checkout-button.active, .paypal-button:active, .paypal-button.active {
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  #paypal-checkout-button:disabled, #paypal-checkout-button.disabled, #paypal-checkout-button[disabled], .paypal-button:disabled, .paypal-button.disabled, .paypal-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  #paypal-checkout-button:disabled:hover, #paypal-checkout-button.disabled:hover, .paypal-button:disabled:hover, .paypal-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  #paypal-checkout-button:focus-visible, .paypal-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  #paypal-checkout-button .graduated-colour-edge .step, .paypal-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  #paypal-checkout-button:after, .paypal-button:after {
    content: '';
    width: 6rem;
    height: 20px;
    display: inline-block;
    background-image: url("/template/content/development/images/icons/paypal.svg");
    background-position: right;
    background-repeat: no-repeat; }

.increment-row-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: auto;
  padding: 10px;
  color: #000000;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .increment-row-button:before {
    content: "+";
    font-family: "Font Awesome Solid"; }
  .increment-row-button:hover {
    color: var(--secondary-colour-lightness-0);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.page-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .page-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .page-buttons-container .button-container {
    --common-button-small-margin: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container {
        width: 50%;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        gap: 10px 20px; } }
    .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
      margin-right: 0;
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
          margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):only-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):only-child {
        margin-right: 0;
        margin-left: auto; }
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child {
        margin-left: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container [class*="-button"] {
        width: 100%; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container [class*="-button"]:not(.action-button) {
        margin-right: 0; }
      .page-buttons-container .button-container [class*="-button"].action-button {
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container .secondary-button {
        margin-left: auto; } }

.addToBasketForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.basket-add-button.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .basket-add-button.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #071e83; }
  .basket-add-button.icon.disabled {
    cursor: not-allowed; }
    .basket-add-button.icon.disabled:before {
      color: #ffffff; }

.basket-add-button.text-based {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 6.5px 10px);
  color: #ffffff;
  background-color: #183ad3;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #183ad3;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .basket-add-button.text-based {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .basket-add-button.text-based:hover, .basket-add-button.text-based.hover {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .basket-add-button.text-based:hover .graduated-colour-edge .step, .basket-add-button.text-based.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .basket-add-button.text-based:active, .basket-add-button.text-based.active {
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.text-based:disabled, .basket-add-button.text-based.disabled, .basket-add-button.text-based[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .basket-add-button.text-based:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .basket-add-button.text-based .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.addToBasket.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .addToBasket.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .addToBasket.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .addToBasket.icon:not(.disabled):active:before {
    color: #071e83; }
  .addToBasket.icon.disabled {
    cursor: not-allowed; }
    .addToBasket.icon.disabled:before {
      color: #ffffff; }

.add-to-basket:not(.preset-2) {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 6.5px 10px);
  color: #ffffff;
  background-color: #183ad3;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #183ad3;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket:not(.preset-2) {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket:not(.preset-2):hover, .add-to-basket:not(.preset-2).hover {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket:not(.preset-2):hover .graduated-colour-edge .step, .add-to-basket:not(.preset-2).hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket:not(.preset-2):active, .add-to-basket:not(.preset-2).active {
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket:not(.preset-2):disabled, .add-to-basket:not(.preset-2).disabled, .add-to-basket:not(.preset-2)[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .add-to-basket:not(.preset-2):focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .add-to-basket:not(.preset-2) .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.add-to-basket.preset-2 {
  --component-specifc-step-height: 15px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 6.5px 10px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.79167rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket.preset-2 {
      width: 100px;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket.preset-2:hover, .add-to-basket.preset-2.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket.preset-2:hover .graduated-colour-edge .step, .add-to-basket.preset-2.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket.preset-2:active, .add-to-basket.preset-2.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket.preset-2:disabled, .add-to-basket.preset-2.disabled, .add-to-basket.preset-2[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .add-to-basket.preset-2:disabled:hover, .add-to-basket.preset-2.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .add-to-basket.preset-2:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .add-to-basket.preset-2 .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.animated.drop:before {
  color: #fb6f21 !important;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.animated.drop:after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 25px;
  background-color: #fb6f21;
  -webkit-animation: basketIconHover 0.5s;
          animation: basketIconHover 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  z-index: -1;
  opacity: 0; }

@-webkit-keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

@keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

.stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .stockline-view-button a:hover, .stockline-view-button a.hover, .stockline-view-button button:hover, .stockline-view-button button.hover, .stockline-view-container a:hover, .stockline-view-container a.hover, .stockline-view-container button:hover, .stockline-view-container button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .stockline-view-button a:hover .graduated-colour-edge .step, .stockline-view-button a.hover .graduated-colour-edge .step, .stockline-view-button button:hover .graduated-colour-edge .step, .stockline-view-button button.hover .graduated-colour-edge .step, .stockline-view-container a:hover .graduated-colour-edge .step, .stockline-view-container a.hover .graduated-colour-edge .step, .stockline-view-container button:hover .graduated-colour-edge .step, .stockline-view-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .stockline-view-button a:active, .stockline-view-button a.active, .stockline-view-button button:active, .stockline-view-button button.active, .stockline-view-container a:active, .stockline-view-container a.active, .stockline-view-container button:active, .stockline-view-container button.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .stockline-view-button a:disabled, .stockline-view-button a.disabled, .stockline-view-button a[disabled], .stockline-view-button button:disabled, .stockline-view-button button.disabled, .stockline-view-button button[disabled], .stockline-view-container a:disabled, .stockline-view-container a.disabled, .stockline-view-container a[disabled], .stockline-view-container button:disabled, .stockline-view-container button.disabled, .stockline-view-container button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .stockline-view-button a:disabled:hover, .stockline-view-button a.disabled:hover, .stockline-view-button button:disabled:hover, .stockline-view-button button.disabled:hover, .stockline-view-container a:disabled:hover, .stockline-view-container a.disabled:hover, .stockline-view-container button:disabled:hover, .stockline-view-container button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .stockline-view-button a:focus-visible, .stockline-view-button button:focus-visible, .stockline-view-container a:focus-visible, .stockline-view-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .stockline-view-button a .graduated-colour-edge .step, .stockline-view-button button .graduated-colour-edge .step, .stockline-view-container a .graduated-colour-edge .step, .stockline-view-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.not-logged-in-container a, .not-logged-in-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .not-logged-in-container a, .not-logged-in-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .not-logged-in-container a:hover, .not-logged-in-container a.hover, .not-logged-in-container button:hover, .not-logged-in-container button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .not-logged-in-container a:hover .graduated-colour-edge .step, .not-logged-in-container a.hover .graduated-colour-edge .step, .not-logged-in-container button:hover .graduated-colour-edge .step, .not-logged-in-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .not-logged-in-container a:active, .not-logged-in-container a.active, .not-logged-in-container button:active, .not-logged-in-container button.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .not-logged-in-container a:disabled, .not-logged-in-container a.disabled, .not-logged-in-container a[disabled], .not-logged-in-container button:disabled, .not-logged-in-container button.disabled, .not-logged-in-container button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .not-logged-in-container a:disabled:hover, .not-logged-in-container a.disabled:hover, .not-logged-in-container button:disabled:hover, .not-logged-in-container button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .not-logged-in-container a:focus-visible, .not-logged-in-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .not-logged-in-container a .graduated-colour-edge .step, .not-logged-in-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.enquiry-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .enquiry-button-container .enquiry-button {
    --component-specifc-step-height: 15px;
    width: auto;
    height: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #d2def9;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .enquiry-button-container .enquiry-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .enquiry-button-container .enquiry-button:hover, .enquiry-button-container .enquiry-button.hover {
        color: #ffffff;
        background-color: #071e83;
        border-color: #183ad3;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .enquiry-button-container .enquiry-button:hover .graduated-colour-edge .step, .enquiry-button-container .enquiry-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .enquiry-button-container .enquiry-button:active, .enquiry-button-container .enquiry-button.active {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .enquiry-button-container .enquiry-button:disabled, .enquiry-button-container .enquiry-button.disabled, .enquiry-button-container .enquiry-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .enquiry-button-container .enquiry-button:disabled:hover, .enquiry-button-container .enquiry-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .enquiry-button-container .enquiry-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .enquiry-button-container .enquiry-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.favouritesContainer a[disabled], .favouritesContainer a.disabled {
  color: #5c5c5c;
  opacity: 0.4;
  cursor: not-allowed; }
  .favouritesContainer a[disabled]:after, .favouritesContainer a[disabled]:hover:after, .favouritesContainer a.disabled:after, .favouritesContainer a.disabled:hover:after {
    font-family: "Font Awesome Regular";
    color: #5c5c5c; }

.favouritesContainer a:after {
  content: "";
  color: #fb6f21;
  font-size: 23px;
  font-family: "Font Awesome Regular";
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.favouritesContainer a:hover:after {
  color: #fb6f21;
  font-family: "Font Awesome Solid";
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.favouritesContainer a:active:after {
  color: #fb6f21;
  font-family: "Font Awesome Solid"; }

.favouritesContainer.active a:after {
  font-family: "Font Awesome Solid"; }

.favouritesContainer.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .favouritesContainer.preset1 a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.favouritesContainer.preset2:not(.active) a:hover {
  text-decoration: none; }

.favouritesContainer.preset2 a {
  width: 35px;
  height: 35px;
  position: relative;
  display: block; }
  .favouritesContainer.preset2 a:after {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .favouritesContainer.preset2 a:hover {
    text-decoration: none; }

label.disabled, label.readonly {
  cursor: no-drop; }

.control input[type=checkbox], .control input[type=radio] {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  opacity: 0; }

@-moz-document url-prefix() {
  .control input[type=checkbox], .control input[type=radio] {
    margin-right: -4px !important; } }

.control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  line-height: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    .control {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 81.25em) {
    .control {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .control input[type=checkbox], .control input[type=radio] {
    z-index: -1;
    position: relative; }
  .control.is-hovered .input-prefix-icon, .control:hover .input-prefix-icon {
    background-color: #ffffff;
    border-color: #d0d0d0;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
    -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.is-invalid-label .input-prefix-icon {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .control.is-invalid-label .input-prefix-icon:before {
      color: #b20c0c; }
  .control.is-invalid-label:hover .input-prefix-icon, .control.is-invalid-label:hover input {
    border-color: #d0d0d0;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #d0d0d0;
    background-color: #ffffff;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1); }
  .control + .label {
    padding-left: 5px; }
  .control .input-prefix-icon {
    height: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    background-color: #ffffff;
    border-width: 1px 0 1px 1px;
    border-color: #d0d0d0;
    border-style: solid;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
    z-index: 1; }
    .control .input-prefix-icon + input {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
    .control .input-prefix-icon:hover {
      -webkit-transition: border-color 0.6s, background-color 0.6s;
      transition: border-color 0.6s, background-color 0.6s; }
    .control .input-prefix-icon:before {
      line-height: normal; }
    .control .input-prefix-icon + input {
      border-left-width: 0; }
  .control .label {
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover .label {
    color: #071e83;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=text], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=number], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=tel], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover textarea {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.read-only-input, .control.disabled-input {
    cursor: no-drop; }
    @media print, screen and (max-width: 81.24875em) {
      .control.read-only-input:not(.text):hover:after, .control.disabled-input:not(.text):hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:not(.text):after, .control.disabled-input:not(.text):after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
    @media screen and (min-width: 81.25em) {
      .control.read-only-input:hover:after, .control.disabled-input:hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:after, .control.disabled-input:after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
  @media screen and (min-width: 81.25em) {
    .control.checkbox.small {
      width: auto; } }
  .control.checkbox.small input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 5px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox.small input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox.small input + span {
    border-color: #d0d0d0; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: rgba(208, 208, 208, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox.small input[readonly] + span:before, .control.checkbox.small input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span:before {
      color: #d0d0d0; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #d0d0d0; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.checkbox.small input:focus + span {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.checkbox.small input:checked + span:before {
    opacity: 1; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:before {
    color: #fb6f21; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #d0d0d0; }
  .control.checkbox.small input:checked[disabled] + span:before, .control.checkbox.small input:checked[readonly] + span:before {
    color: #5c5c5c; }
  .control.checkbox:not(.small) input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 5px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox:not(.small) input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox:not(.small) input + span {
    border-color: #d0d0d0; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: rgba(208, 208, 208, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox:not(.small) input[readonly] + span:before, .control.checkbox:not(.small) input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span:before {
      color: #d0d0d0; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #d0d0d0; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.checkbox:not(.small) input:focus + span {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.checkbox:not(.small) input:checked + span:before {
    opacity: 1; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:before {
    color: #fb6f21; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #d0d0d0; }
  .control.checkbox:not(.small) input:checked[disabled] + span:before, .control.checkbox:not(.small) input:checked[readonly] + span:before {
    color: #5c5c5c; }
  .control.radio {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .control.radio:not(.checkbox) input:checked + span.radio {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .control.radio:not(.checkbox) input:checked + span.radio:after {
      background-color: #fb6f21;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .control.radio:not(.checkbox) span.radio {
    width: 15px;
    height: 15px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    border-radius: 15px;
    border: 1px solid #d0d0d0;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:after {
      content: '';
      width: 7.5px;
      height: 7.5px;
      position: relative;
      top: .2px;
      left: .4px;
      display: block;
      margin: auto;
      background-color: #ffffff;
      border-radius: 7.5px;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:hover {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:hover:after {
        background-color: #d0d0d0; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #fb6f21; }
  .control.radio.checkbox input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 5px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.radio.checkbox input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.radio.checkbox input + span {
    border-color: #d0d0d0; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: rgba(208, 208, 208, 0.7);
    background-color: var(--neutral-colour-lightness-8); }
    .control.radio.checkbox input[readonly] + span:before, .control.radio.checkbox input[disabled]:before {
      cursor: no-drop; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span:before {
      color: #d0d0d0; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #d0d0d0; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.radio.checkbox input:focus + span {
    outline: none;
    border-color: #d0d0d0;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.radio.checkbox input:checked + span:before {
    opacity: 1; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:before {
    color: #fb6f21; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #d0d0d0; }
  .control.radio.checkbox input:checked[disabled] + span:before, .control.radio.checkbox input:checked[readonly] + span:before {
    color: #5c5c5c; }
  .control.select {
    width: 100%; }
    .control.select select {
      height: 45px;
      width: auto;
      display: block;
      margin: 0; }
      .control.select select:disabled + .control-select-container .selected-option, .control.select select[readonly] + .control-select-container .selected-option {
        background-color: var(--neutral-colour-lightness-8);
        border-color: rgba(208, 208, 208, 0.7);
        cursor: no-drop; }
      .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow {
        background-color: var(--neutral-colour-lightness-8); }
        .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow:after, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow:after {
          color: rgba(208, 208, 208, 0.7); }
      .control.select select.is-invalid-input + .control-select-container .selected-option {
        background-color: #fde1e1;
        border-color: #b20c0c; }
      .control.select select:focus + div[class=control-select-container] .selected-option {
        outline: none;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        border-color: #d0d0d0; }
    .control.select.is-closing {
      z-index: 2000; }
    .control.select.active, .control.select.active:hover {
      z-index: 1999; }
      .control.select.active:hover .control-select-options, .control.select.active:hover:hover .control-select-options {
        border-color: #d0d0d0; }
      .control.select.active.dropdown-top .selected-option, .control.select.active:hover.dropdown-top .selected-option {
        border-radius: 0 0 10px 10px; }
        .control.select.active.dropdown-top .selected-option .select-arrow, .control.select.active:hover.dropdown-top .selected-option .select-arrow {
          border-radius: 0 0 10px 0; }
      .control.select.active.dropdown-top .control-select-options, .control.select.active:hover.dropdown-top .control-select-options {
        border-radius: 10px 0 0 0; }
      .control.select.active .selected-option, .control.select.active:hover .selected-option {
        border-width: 1px 1px 0 1px;
        border-color: #d0d0d0;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        border-radius: 10px 10px 0 0; }
        .control.select.active .selected-option:focus, .control.select.active:hover .selected-option:focus {
          border-color: #d0d0d0; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #fb6f21;
        border-radius: 0 10px 0 0; }
        .control.select.active .select-arrow:after, .control.select.active:hover .select-arrow:after {
          content: "";
          color: #ffffff; }
      .control.select.active .control-select-options, .control.select.active:hover .control-select-options {
        max-height: 185px;
        border-color: #d0d0d0;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .control.select.dropdown-bottom .selected-option {
      border-bottom-color: #d0d0d0; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #d0d0d0; }
    .control.select.dropdown-top .control-select-options {
      top: auto;
      bottom: 100%;
      margin: 0;
      border-width: 1px 1px 0 1px; }
    .control.select.dropdown-top.active .selected-option {
      border-width: 0 1px 1px 1px; }
    .control.select .select-arrow {
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background-color: transparent;
      border-radius: 0 10px 10px 0;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .control.select .select-arrow:after {
        content: "";
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 9px;
        font-family: "fontello-winterstoke";
        color: #959595;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .control.select .selected-option {
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      padding: 5px 0 5px 0;
      padding-right: 33px;
      margin: 0;
      background: #ffffff;
      border: 1px solid #d0d0d0;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      font-size: 0.875rem;
      opacity: 1;
      outline: 0;
      border-radius: 10px; }
      .control.select .selected-option .selected-description {
        padding: 5px 0 5px 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.875rem; }
        @media screen and (min-width: 81.25em) {
          .control.select .selected-option .selected-description {
            white-space: nowrap; } }
      .selected-description {
        color: #333333; }
      .control.select .selected-option:hover {
        outline: none;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        border-color: #d0d0d0; }
      .control.select .selected-option:focus {
        border-color: #d0d0d0; }
    .control.select .control-select-options {
      max-height: 0;
      width: 100%;
      position: absolute;
      margin: auto 0 0;
      padding: 0;
      border-width: 0 1px 0 1px;
      border-style: solid;
      border-color: transparent;
      background-color: #ffffff;
      list-style: none;
      font-size: 0.875rem;
      overflow-x: hidden;
      overflow-y: scroll;
      -webkit-transition: all 0.8s;
      transition: all 0.8s;
      z-index: 1;
      border-radius: 0 0 0 10px; }
    .control.select .control-select-option {
      padding: 5px 0 5px 10px;
      text-align: left;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      .control.select .control-select-option[selected] {
        background-color: #071e83;
        color: #ffffff;
        font-weight: 600; }
      .control.select .control-select-option[disabled], .control.select .control-select-option.disabled {
        background-color: var(--neutral-colour-lightness-8);
        color: #5c5c5c;
        cursor: no-drop; }
      .control.select .control-select-option:hover {
        color: #ffffff;
        background-color: #fb6f21;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #071e83;
        color: #ffffff; }
        .control.select .control-select-option:active[disabled], .control.select .control-select-option:active.disabled {
          opacity: 0.7; }
    .control.select .control-select-container {
      min-width: 150px;
      max-width: 100%;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-container {
          width: auto; } }
    .control.select .control-select-dropdown {
      width: 100%;
      position: relative; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-dropdown {
          height: 45px; } }
      .control.select .control-select-dropdown:hover .select-arrow {
        background-color: #071e83; }
        .control.select .control-select-dropdown:hover .select-arrow:after {
          color: #ffffff; }
    .control.select.title .control-select-dropdown {
      width: 250px; }
  .control.text {
    cursor: text; }
    .control.text input {
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .control.text input:not([type=password]):hover {
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
      .control.text input:hover {
        border-color: #d0d0d0;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .control.text input:hover.is-invalid-input {
          border-color: #b20c0c; }
          .control.text input:hover.is-invalid-input:focus {
            border-color: #d0d0d0; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: #d0d0d0; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: #d0d0d0;
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; }
      .control.text input + button:focus {
        outline: none;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .control.slider {
    height: auto;
    background-color: transparent;
    border: 0; }
  .control.file {
    width: 100% !important;
    height: 100% !important;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
    padding: 10px;
    background-color: transparent;
    border: 4px solid #d0d0d0b3;
    border-radius: 10px;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .control.file:after {
      content: '';
      width: calc(100% - 2.5px);
      height: calc(100% - 2.5px);
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      border: 2.5px dashed #d0d0d0b3;
      border-radius: 10px;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .control.file {
        width: 700px !important;
        padding: 38px 10px; } }
    .control.file:hover {
      background-color: transparent;
      border-color: #071e83;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .control.file:hover:after {
        border-color: #071e83;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #071e83; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(24, 58, 211, 0.1);
      border-color: rgba(7, 30, 131, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(7, 30, 131, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(7, 30, 131, 0.7); }
    .control.file.is-invalid-label {
      border-color: #b20c0c;
      background-color: #fde1e1; }
      .control.file.is-invalid-label:after {
        border-color: #b20c0c; }
      .control.file.is-invalid-label .form-error {
        margin: 20px 0; }
      .control.file.is-invalid-label .file-upload-icon:before {
        content: "";
        color: #b20c0c; }
      .control.file.is-invalid-label span.label {
        color: #b20c0c; }
    .control.file span.label {
      width: 100%;
      padding: 5px 10px;
      text-align: center;
      font-size: 1rem;
      font-weight: 700;
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .control.file span.label {
          padding: 5px; } }
    .control.file .file-upload-icon {
      padding: 20px 10px 0;
      display: block;
      line-height: normal; }
      .control.file .file-upload-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 46px;
        color: #071e83; }
      .control.file .file-upload-icon + .label {
        padding-top: 10px; }
    .control.file .input-button-container {
      margin-bottom: 5px;
      z-index: 2; }
      @media screen and (min-width: 81.25em) {
        .control.file .input-button-container {
          margin-bottom: 10px; } }
    .control.file .file-size {
      margin-left: 10px;
      font-size: 0.8125rem;
      font-weight: 700; }
    .control.file .remove-button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto;
      padding: 10px;
      cursor: pointer;
      z-index: 2; }
      .control.file .remove-button:hover {
        text-decoration: underline; }
      .control.file .remove-button:after {
        content: "";
        margin-left: 10px;
        font-family: "Font Awesome Solid";
        font-size: 18px;
        color: #333333; }
    .control.file input {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0;
      opacity: 0;
      cursor: pointer;
      z-index: 1; }
  .control.search input {
    height: 45px; }
    .control.search input + button {
      height: 45px;
      margin: auto 0; }
  .control .tooltip-container {
    margin-left: 20px; }
  .control:hover .tooltip-trigger:before {
    -webkit-animation: animateToolTipHint 2s;
            animation: animateToolTipHint 2s; }

.quantity-selector-container select, .quantity-selector-container .control.select .control-select-dropdown {
  width: 90px; }

.quantity-selector-container .control.select .selected-option .selected-description {
  padding-left: 20px; }

@-webkit-keyframes animateToolTipHint {
  0% {
    background-color: rgba(51, 51, 51, 0.7);
    color: #ffffff; }
  20% {
    background-color: #fb6f21;
    color: #ffffff; } }

@keyframes animateToolTipHint {
  0% {
    background-color: rgba(51, 51, 51, 0.7);
    color: #ffffff; }
  20% {
    background-color: #fb6f21;
    color: #ffffff; } }

@media print, screen and (max-width: 81.24875em) {
  input {
    font-size: 1rem !important; } }

input::-webkit-input-placeholder {
  color: #333333;
  font-size: 1rem;
  font-weight: 400; }

input::-moz-placeholder {
  color: #333333;
  font-size: 1rem;
  font-weight: 400; }

input:-ms-input-placeholder {
  color: #333333;
  font-size: 1rem;
  font-weight: 400; }

input::-ms-input-placeholder {
  color: #333333;
  font-size: 1rem;
  font-weight: 400; }

input::placeholder {
  color: #333333;
  font-size: 1rem;
  font-weight: 400; }

input.mail-input {
  height: 45px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  float: left;
  border-style: solid;
  border-width: 1px;
  border-radius: 10px 0 0 10px;
  margin: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media print, screen and (min-width: 40em) {
    input.mail-input {
      width: auto;
      border-width: 1px 0 1px 1px; } }
  input.mail-input.is-invalid-input + button {
    border-color: #b20c0c;
    background-color: #fde1e1;
    opacity: 1; }
    input.mail-input.is-invalid-input + button:before {
      color: #b20c0c; }
    input.mail-input.is-invalid-input + button:hover:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  input.mail-input + button {
    width: 100%;
    height: 45px;
    margin: 5px 0 0;
    padding: 0 5px;
    background-color: #ffffff;
    border-style: solid;
    border-color: #d0d0d0;
    border-width: 1px;
    color: rgba(7, 30, 131, 0.6);
    cursor: pointer;
    border-radius: 0 10px 10px 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media print, screen and (min-width: 40em) {
      input.mail-input + button {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        border-width: 1px 1px 1px 0; } }
    input.mail-input + button:empty:before {
      content: "";
      width: 40px;
      display: block;
      margin: auto;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: rgba(7, 30, 131, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #d0d0d0;
      background-color: rgba(7, 30, 131, 0.6);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:hover:empty:before {
        color: #ffffff; }
    input.mail-input + button:active {
      color: #ffffff;
      border-color: #d0d0d0;
      background-color: #fb6f21;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:active:empty:before {
        color: #ffffff; }

.conditional-inputs {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .conditional-inputs.active {
    max-height: 2000px;
    overflow: visible;
    background-color: #ffffff;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.quantity-free-text-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .quantity-free-text-container .input-number-decrement, .quantity-free-text-container .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container .input-number-decrement:before, .quantity-free-text-container .input-number-increment:before {
      color: #071e83; }
    @media (hover: hover) {
      .quantity-free-text-container .input-number-decrement:hover, .quantity-free-text-container .input-number-increment:hover {
        background-color: #ffffff; }
        .quantity-free-text-container .input-number-decrement:hover:before, .quantity-free-text-container .input-number-increment:hover:before {
          color: #fb6f21; } }
    .quantity-free-text-container .input-number-decrement:active, .quantity-free-text-container .input-number-increment:active {
      background-color: transparent; }
      .quantity-free-text-container .input-number-decrement:active:before, .quantity-free-text-container .input-number-increment:active:before {
        color: #000000; }
  .quantity-free-text-container.preset-1 .input-number-decrement, .quantity-free-text-container.preset-1 .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container.preset-1 .input-number-decrement:before, .quantity-free-text-container.preset-1 .input-number-increment:before {
      color: #ffffff; }
    @media (hover: hover) {
      .quantity-free-text-container.preset-1 .input-number-decrement:hover, .quantity-free-text-container.preset-1 .input-number-increment:hover {
        background-color: #eeeeee; }
        .quantity-free-text-container.preset-1 .input-number-decrement:hover:before, .quantity-free-text-container.preset-1 .input-number-increment:hover:before {
          color: #071e83; } }
    .quantity-free-text-container.preset-1 .input-number-decrement:active, .quantity-free-text-container.preset-1 .input-number-increment:active {
      background-color: transparent; }
      .quantity-free-text-container.preset-1 .input-number-decrement:active:before, .quantity-free-text-container.preset-1 .input-number-increment:active:before {
        color: #fb6f21; }
  .quantity-free-text-container .input-group-button span.disabled {
    background-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:before {
      color: #d0d0d0; }
    .quantity-free-text-container .input-group-button span.disabled:hover {
      border-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:active {
      background-color: transparent; }
  .quantity-free-text-container .label {
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .quantity-free-text-container .label {
        padding: 6px 15px 6px 0; } }
  .quantity-free-text-container input[type=number]::-webkit-inner-spin-button, .quantity-free-text-container input[type=number]::-webkit-outer-spin-button, .quantity-free-text-container input[type=number] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    margin: 0; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment {
    border-color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled), .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled) {
      background-color: #fde1e1; }
      .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled):before, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled):before {
        color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement.disabled, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment.disabled {
      border-color: rgba(208, 208, 208, 0.7); }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number {
    color: #b20c0c;
    background-color: #fde1e1; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-webkit-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-moz-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number:-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::placeholder {
      color: #b20c0c; }
  .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    @media (hover: hover) {
      .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number:hover {
        border-color: #b20c0c;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); } }
  .quantity-free-text-container.is-invalid-quantity .quantity-error {
    max-height: 100px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .quantity-free-text-container .quantity-error {
    max-height: 0;
    display: block;
    color: #b20c0c;
    font-size: 0.75rem;
    font-weight: bold;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }

.quantity-free-text-container .input-group {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-free-text-container .input-group {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-free-text-container .input-group input {
    width: 50px;
    height: 45px;
    border-radius: 10px; }

.input-number-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .input-number-group .input-group-button {
    line-height: 36px; }
  .input-number-group .input-group-button span.disabled {
    cursor: no-drop; }
  .input-number-group .input-number {
    padding: 0;
    font-size: 1rem;
    text-align: center;
    outline: none;
    display: block;
    margin: 0;
    border-color: #d0d0d0;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .input-number-group .input-number:hover {
      border-color: #d0d0d0;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .input-number-group .input-number,
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    border-radius: 0;
    height: 45px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 45px;
    background: transparent;
    text-align: center;
    border-color: transparent;
    border-style: solid;
    cursor: pointer;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .input-number-group .input-number-decrement:before,
    .input-number-group .input-number-increment:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 15px;
      font-family: "Font Awesome Solid";
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    @media (hover: hover) {
      .input-number-group .input-number-decrement:hover,
      .input-number-group .input-number-increment:hover {
        border-color: transparent; }
        .input-number-group .input-number-decrement:hover:not(.disabled),
        .input-number-group .input-number-increment:hover:not(.disabled) {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  .input-number-group .input-number-decrement {
    border-width: 1px 0 1px 1px;
    border-radius: 10px 0 0 10px; }
    .input-number-group .input-number-decrement:before {
      content: ""; }
  .input-number-group .input-number-increment {
    border-width: 1px 1px 1px 0;
    border-radius: 0 10px 10px 0; }
    .input-number-group .input-number-increment:before {
      content: ""; }

.quantity-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-selector-container {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-selector-container .control-select-container {
    height: 45px; }
  @media screen and (min-width: 81.25em) {
    .quantity-selector-container .select {
      width: 90px; } }
  .quantity-selector-container .select select {
    height: 45px; }
  .quantity-selector-container .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 400;
    color: #071e83;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .quantity-selector-container .label {
        margin-right: 15px; } }

span.form-error {
  width: 100%;
  margin: 0;
  text-align: center;
  border: 0; }
  @media screen and (min-width: 81.25em) {
    span.form-error {
      padding-left: 200px;
      text-align: left; } }
  span.form-error.is-visible {
    margin-top: 10px; }

span.form-callout-error {
  display: none !important; }

.is-invalid-input {
  border-color: #b20c0c; }

ul.advanced-validation {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 10px;
  list-style: none;
  margin: 0 0 35px; }
  @media print, screen and (min-width: 40em) {
    ul.advanced-validation {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0; } }
  ul.advanced-validation > li {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li {
        width: auto; } }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li:not(:first-child) {
        padding: 0 0 0 11px; } }
    ul.advanced-validation > li.advanced-form-error {
      width: auto;
      margin: 0 10px;
      position: relative;
      font-size: 1rem;
      font-weight: 600;
      font-style: italic;
      color: #000000; }
      ul.advanced-validation > li.advanced-form-error:before {
        content: "";
        display: inline-block;
        margin: 0 5px 0 0;
        font-size: 15px;
        font-family: "Font Awesome Solid";
        font-style: normal;
        color: rgba(51, 51, 51, 0.7); }
      ul.advanced-validation > li.advanced-form-error.is-valid {
        color: #12811f; }
        ul.advanced-validation > li.advanced-form-error.is-valid:before {
          content: ""; }
      ul.advanced-validation > li.advanced-form-error.is-invalid {
        color: #b20c0c; }
        ul.advanced-validation > li.advanced-form-error.is-invalid:before {
          content: ""; }

.advanced-validation-active.is-invalid-label {
  color: #959595; }

.group-form-error {
  display: none;
  margin: 10px 0 0;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .group-form-error h2, .group-form-error h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .group-form-error ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .group-form-error ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .group-form-error ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #071e83;
        border-radius: 5px; }
    .group-form-error ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 1rem; }
  .group-form-error p, .group-form-error a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 1rem; }
  .group-form-error a {
    text-decoration: underline; }
  @media screen and (min-width: 81.25em) {
    .group-form-error {
      margin: 0 0 10px; } }

.error-block {
  width: 100%;
  background-color: #fde1e1;
  margin: 0 0 30px;
  padding: 10px 20px;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .error-block h2, .error-block h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .error-block ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .error-block ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .error-block ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #071e83;
        border-radius: 5px; }
    .error-block ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 1rem; }
  .error-block p, .error-block a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 1rem; }
  .error-block a {
    text-decoration: underline; }

.control.is-invalid-label input {
  background-color: #fde1e1;
  border-color: #b20c0c;
  -webkit-transition: border-color 0.6s, background-color 0.6s;
  transition: border-color 0.6s, background-color 0.6s; }
  .control.is-invalid-label input:focus {
    border-color: #d0d0d0; }
  .control.is-invalid-label input::-webkit-input-placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-moz-placeholder {
    color: #b20c0c;
    -moz-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input:-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input + button {
    background-color: #fde1e1;
    border-color: #b20c0c;
    color: #b20c0c; }
    .control.is-invalid-label input + button:before {
      color: #b20c0c; }
  .control.is-invalid-label input + span.checkbox {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

@-webkit-keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

@keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

.field-lead-in-text {
  width: 100%;
  color: #000000;
  font-weight: 300; }

label:not(.disabled) .label:hover, label:not(.read-only-input) .label:hover {
  color: #071e83; }

label:not(.disabled) .label:active, label:not(.read-only-input) .label:active {
  color: #fb6f21; }

label .label {
  color: #000000;
  font-weight: 300; }

label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
  position: relative;
  height: 45px; }
  @media print, screen and (min-width: 40em) {
    label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }

label input.is-invalid-input + button.inline-button {
  border-color: #b20c0c; }

label input.is-invalid-input[type=password]:focus + button.inline-button {
  border-color: #d0d0d0; }

label input:focus + button.inline-button:hover {
  border-color: #d0d0d0;
  background-color: #ffffff; }

/* clears the 'X' from Internet Explorer */
/* clears the 'X' from Chrome */
.lookup-container {
  width: 100%; }

.postcode-lookup-error {
  display: none;
  color: #b20c0c; }
  .postcode-lookup-error.active {
    display: block; }

input.lookup-key {
  width: 100%;
  margin-right: 15px; }
  @media print, screen and (min-width: 40em) {
    input.lookup-key {
      width: 360px;
      margin-right: 10px; } }
  @media screen and (min-width: 81.25em) {
    input.lookup-key + button {
      height: 45px; } }
  input.lookup-key.is-valid-input + button {
    background-color: #183ad3;
    color: #ffffff; }
  input.lookup-key.is-invalid-input + button {
    cursor: not-allowed; }

button.lookup-submit {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0 0);
  padding: var(--common-button-padding, 12px 13px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #959595;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    button.lookup-submit {
      margin: var(--common-button-medium-margin, 0 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    button.lookup-submit {
      width: auto;
      margin: var(--common-button-large-margin, 0 0 0 10px); } }
  @media (hover: hover) {
    button.lookup-submit:hover, button.lookup-submit.hover {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      button.lookup-submit:hover .graduated-colour-edge .step, button.lookup-submit.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  button.lookup-submit:active, button.lookup-submit.active {
    color: #ffffff;
    background-color: #183ad3;
    border-color: #183ad3;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  button.lookup-submit:disabled, button.lookup-submit.disabled, button.lookup-submit[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  button.lookup-submit:disabled:hover, button.lookup-submit.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  button.lookup-submit:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  button.lookup-submit .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.lookup-results {
  width: 100%; }
  .lookup-results ul {
    max-height: 225px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto; }
    .lookup-results ul .selected {
      color: #071e83;
      font-weight: 600; }
    .lookup-results ul li:not(:last-child) {
      margin-bottom: 10px; }
  .lookup-results button, .lookup-results a {
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .lookup-results button span, .lookup-results a span {
      color: #071e83;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #071e83;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #fb6f21; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #fb6f21;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  @media screen and (min-width: 81.25em) {
    .lookup-results.branch-search, .lookup-results.account-search {
      margin-left: 120px; } }
  .lookup-results.branch-search button, .lookup-results.account-search button {
    text-align: left; }

.geolocation-contianer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

input[type=search] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  padding: 5px 0 5px 25px;
  background-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #d0d0d0;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  display: inline-block;
  -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }
  input[type=search]:hover, input[type=search].hover {
    -webkit-box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
            box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
    background-color: #ffffff;
    border-color: #d0d0d0;
    -webkit-transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    input[type=search]:hover + button, input[type=search].hover + button {
      -webkit-box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
              box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
      border-color: #d0d0d0;
      background-color: #071e83; }
      input[type=search]:hover + button:before, input[type=search].hover + button:before {
        color: #ffffff; }
  input[type=search]:focus, input[type=search]:active, input[type=search].focus {
    background-color: #ffffff;
    border-right-width: 0; }
    input[type=search]:focus + button, input[type=search]:active + button, input[type=search].focus + button {
      border-color: #d0d0d0;
      background-color: #071e83;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s, -webkit-box-shadow 0.8s background-color 0.6s; }
      input[type=search]:focus + button:before, input[type=search]:active + button:before, input[type=search].focus + button:before {
        color: #ffffff; }
  input[type=search]::-webkit-input-placeholder {
    height: -webkit-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #071e83;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  input[type=search]::-moz-placeholder {
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #071e83;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #071e83;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #071e83;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  input[type=search]::placeholder {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #071e83;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  input[type=search]:not(:has(+ button)) {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px; }
  input[type=search] + button {
    width: 70px;
    position: relative;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #d0d0d0;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    input[type=search] + button:hover {
      background-color: #071e83;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input[type=search] + button:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    input[type=search] + button:active {
      background-color: #071e83; }
      input[type=search] + button:active:before {
        color: #ffffff; }
    input[type=search] + button:before {
      content: "";
      width: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.toggle-container {
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .toggle-container.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.ui-block-pane {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 1000; }
  .ui-block-pane:before {
    content: "";
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "Font Awesome Solid";
    font-size: 82px;
    color: rgba(149, 149, 149, 0.6); }

.sso-selection-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .sso-selection-container {
      padding: 20px 0; } }
  .sso-selection-container .sso-selection-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px; }
  .sso-selection-container .option-container {
    width: 100%; }
    .sso-selection-container .option-container + .sso-seperator {
      margin-top: 20px; }
  .sso-selection-container .sso-button {
    width: 70%;
    display: block;
    margin: auto;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 215/41;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    @media print, screen and (min-width: 40em) {
      .sso-selection-container .sso-button {
        width: 300px; } }
    .sso-selection-container .sso-button:hover {
      opacity: 0.4;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .sso-selection-container .sso-button.microsoft {
      background-image: url("/template/content/development/images/buttons/microsoft-sso-light.svg"); }
  .sso-selection-container .sso-seperator {
    color: var(--primary-colour-lightness-0);
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }

/*
----- Site Styles ----- 
Allowing CSS variables to override SASS configuration, used in instances where you need department specifc colouring.

*/
.required-prompt {
  width: 100%;
  display: block;
  padding: 0 10px;
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 300;
  font-style: italic; }
  @media screen and (min-width: 81.25em) {
    .required-prompt {
      padding: 0 20px;
      margin: 0 0 10px; } }
  .required-prompt + .cms-content-container {
    margin-top: 0;
    padding-top: 0; }

@media screen and (min-width: 81.25em) {
  .single-column-callback-container {
    max-width: 80%;
    margin: 0 auto 30px;
    padding-bottom: 30px; } }

.single-column-callback-container.content-border {
  padding: 20px;
  border: 2px solid #eeeeee; }

.single-column-callback-container .cms-content-container {
  text-align: center; }

.single-column-callback-container .buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

form.user-data-form {
  padding: 0 0 20px;
  background-color: #ffffff;
  border-radius: 10px; }

form.single-column {
  margin-bottom: 30px;
  border: 1px solid #d0d0d0;
  border-radius: 10px; }
  form.single-column .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      form.single-column .field {
        padding: 0 20px; } }
    form.single-column .field:last-child .button-container {
      margin: 15px 0 0; }

form .cms-content-container {
  width: 100%;
  padding: 5px 10px;
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    form .cms-content-container {
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    form .cms-content-container {
      max-width: 640px;
      margin: auto;
      padding: 10px 0;
      text-align: left; } }

form fieldset {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 30px;
  padding: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset {
      padding: 0 0 20px; } }
  form fieldset:first-of-type h2 {
    border-radius: 10px 10px 0 0; }
  form fieldset h3, form fieldset div > legend {
    max-width: 100%;
    width: 100%;
    margin: 25px auto 20px;
    font-style: italic;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    position: relative;
    color: #071e83;
    padding-bottom: 15px;
    position: relative;
    background-color: transparent; }
    form fieldset h3:before, form fieldset div > legend:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        form fieldset h3:before, form fieldset div > legend:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      form fieldset h3, form fieldset div > legend {
        max-width: 640px; } }
  form fieldset h2, form fieldset legend {
    width: 100%;
    display: block;
    padding: 15px 0;
    margin: 0 0 10px;
    color: #071e83;
    background-color: #d0d0d0b3;
    font-weight: 400;
    font-size: 1rem;
    text-align: center; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  form fieldset ul {
    margin: 0 auto;
    padding: 0;
    list-style: none; }
  form fieldset > .form-error {
    margin: auto; }
  form fieldset .sub-group-name {
    width: 100%;
    display: block;
    margin: 0;
    padding: 15px 0;
    background-color: #eeeeee;
    color: #000000;
    text-align: center; }
    form fieldset .sub-group-name + .required-prompt {
      margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset .error-block {
      margin: 0 auto 10px; } }

@media screen and (min-width: 81.25em) {
  form .forgotten-password-link {
    max-width: 610px;
    width: 100%;
    margin-right: auto; } }

.column-content-container {
  margin: 10px 0;
  background-color: #ffffff;
  border: 1px solid #d0d0d0;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .column-content-container {
      margin: 0; } }
  .column-content-container:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    border-color: transparent;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
  .column-content-container fieldset {
    margin: 0; }
  .column-content-container .fieldset-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px;
    background-color: #8f95a5;
    border-radius: 10px 10px 0 0; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .fieldset-banner-container {
        padding: 20px 10px; } }
    .column-content-container .fieldset-banner-container .fieldset-banner {
      width: 120px; }
    .column-content-container .fieldset-banner-container + h2 {
      border-radius: 0; }
  .column-content-container .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field label {
        margin-left: 50px; } }
  .column-content-container .heading-container h2 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .column-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 15px 7.5px; }
    @media print, screen and (min-width: 40em) {
      .column-content-container .cms-content-container {
        padding: 0 85px; } }
  .column-content-container .page-buttons-container {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .page-buttons-container {
        padding: 0; } }

.captcha-container {
  position: absolute;
  z-index: 2; }
  .captcha-container.checkbox {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
  .captcha-container .grecaptcha-badge {
    bottom: 60px !important; }

.popup-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block; }

.confirmation-prompt-container .content-container {
  max-width: 1150px;
  width: 100%;
  position: relative;
  padding: 26.66667px;
  background-color: #ffffff;
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  @media screen and (min-width: 81.25em) {
    .confirmation-prompt-container .content-container {
      padding: 80px; } }
  .confirmation-prompt-container .content-container .content {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 auto 50px;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-top: 30px; }
    .confirmation-prompt-container .content-container .content:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        gap: 0 15px; } }
    .confirmation-prompt-container .content-container .content:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .confirmation-prompt-container .content-container .content.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .confirmation-prompt-container .content-container .content.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-2 {
          padding: 15px 65px; } }
    .confirmation-prompt-container .content-container .content.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-3 {
          padding: 15px 0; } }
    .confirmation-prompt-container .content-container .content.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 10px; }
      .confirmation-prompt-container .content-container .content.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.success:has(.content-container):before {
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success h1, .confirmation-prompt-container .content-container .content.success h2, .confirmation-prompt-container .content-container .content.success h3, .confirmation-prompt-container .content-container .content.success h4, .confirmation-prompt-container .content-container .content.success h5, .confirmation-prompt-container .content-container .content.success h6, .confirmation-prompt-container .content-container .content.success p, .confirmation-prompt-container .content-container .content.success a {
        color: #12811f; }
    .confirmation-prompt-container .content-container .content.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 10px; }
      .confirmation-prompt-container .content-container .content.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.warning:has(.content-container):before {
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning h1, .confirmation-prompt-container .content-container .content.warning h2, .confirmation-prompt-container .content-container .content.warning h3, .confirmation-prompt-container .content-container .content.warning h4, .confirmation-prompt-container .content-container .content.warning h5, .confirmation-prompt-container .content-container .content.warning h6, .confirmation-prompt-container .content-container .content.warning p, .confirmation-prompt-container .content-container .content.warning a {
        color: #ff5e05; }
    .confirmation-prompt-container .content-container .content.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 10px; }
      .confirmation-prompt-container .content-container .content.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.alert:has(.content-container):before {
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert h1, .confirmation-prompt-container .content-container .content.alert h2, .confirmation-prompt-container .content-container .content.alert h3, .confirmation-prompt-container .content-container .content.alert h4, .confirmation-prompt-container .content-container .content.alert h5, .confirmation-prompt-container .content-container .content.alert h6, .confirmation-prompt-container .content-container .content.alert p, .confirmation-prompt-container .content-container .content.alert a {
        color: #b20c0c; }
    .confirmation-prompt-container .content-container .content.disabled p {
      color: #959595;
      font-weight: 600; }
    .confirmation-prompt-container .content-container .content.information {
      background-color: #ebebeb;
      border: 1px solid #000000; }
      .confirmation-prompt-container .content-container .content.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.information:has(.content-container):before {
        color: #000000; }
      .confirmation-prompt-container .content-container .content.information p {
        color: #000000;
        font-weight: 600; }
    .confirmation-prompt-container .content-container .content.icon-non-returnable {
      --font-family: fontello; }
      .confirmation-prompt-container .content-container .content.icon-non-returnable:before {
        content: ""; }
    .confirmation-prompt-container .content-container .content .user-friendly-prefix {
      margin-right: 5px; }
    .confirmation-prompt-container .content-container .content > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .confirmation-prompt-container .content-container .content > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .confirmation-prompt-container .content-container .content .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content .content-container {
          margin: 0; } }
    .confirmation-prompt-container .content-container .content p {
      margin: var(--indent-margin, 0);
      font-size: 1.125rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .confirmation-prompt-container .content-container .content p img[style*="float:left"], .confirmation-prompt-container .content-container .content p img[style*="float: left"], .confirmation-prompt-container .content-container .content p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .confirmation-prompt-container .content-container .content p img[style*="float:right"], .confirmation-prompt-container .content-container .content p img[style*="float: right"], .confirmation-prompt-container .content-container .content p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .confirmation-prompt-container .content-container .content p img {
        margin: .2em 0; }
      .confirmation-prompt-container .content-container .content p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .confirmation-prompt-container .content-container .content p:not(:empty) + table, .confirmation-prompt-container .content-container .content p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .confirmation-prompt-container .content-container .content table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead th {
          font-weight: 700; }
      .confirmation-prompt-container .content-container .content table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table.responsive-table {
            display: table; } }
        .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .confirmation-prompt-container .content-container .content table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content table td {
          padding: 10px; } }
      .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .confirmation-prompt-container .content-container .content table tbody {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody th {
          background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table tbody tr {
            display: table-row; } }
      .confirmation-prompt-container .content-container .content table .col-label {
        color: #333333; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .confirmation-prompt-container .content-container .content table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .confirmation-prompt-container .content-container .content table.comparison-table tbody td:first-child {
        color: #333333;
        font-weight: 700; }
    .confirmation-prompt-container .content-container .content blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      text-align: center;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .confirmation-prompt-container .content-container .content blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .confirmation-prompt-container .content-container .content blockquote:hover:before {
          color: #d0d0d0;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .confirmation-prompt-container .content-container .content blockquote:has(img) {
        text-align: left; }
      .confirmation-prompt-container .content-container .content blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          padding: 50px 60px; } }
      .confirmation-prompt-container .content-container .content blockquote + blockquote {
        margin-top: 15px; }
      .confirmation-prompt-container .content-container .content blockquote:before, .confirmation-prompt-container .content-container .content blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .confirmation-prompt-container .content-container .content blockquote:before {
        top: 0;
        left: 0; }
      .confirmation-prompt-container .content-container .content blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .confirmation-prompt-container .content-container .content blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content blockquote img {
            text-align: left; } }
    .confirmation-prompt-container .content-container .content a[href^="tel:"], .confirmation-prompt-container .content-container .content a[href^="mailto:"] {
      font-weight: 700; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"]:hover, .confirmation-prompt-container .content-container .content a[href^="mailto:"]:hover {
        text-decoration: none; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before, .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .confirmation-prompt-container .content-container .content p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .confirmation-prompt-container .content-container .content p a:has([style*="float"]) {
      display: inline; }
    .confirmation-prompt-container .content-container .content a {
      text-decoration: underline; }
    .confirmation-prompt-container .content-container .content > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content > p:first-of-type {
          padding-top: 24px; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        margin-top: 0; } }
    .confirmation-prompt-container .content-container .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .confirmation-prompt-container .content-container .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .confirmation-prompt-container .content-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button {
      margin: 0 45px 20px; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #071e83;
        background-color: #dffbe2;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: normal;
        word-spacing: 2px;
        border-color: #d0d0d0;
        text-decoration: none;
        line-height: 1;
        border-radius: 10px !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover {
            color: #ffffff;
            background-color: #12811f;
            border-color: #12811f;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.active {
          background-color: #d2def9;
          border-color: #d2def9;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success[disabled] {
          color: #5c5c5c;
          background-color: #ffffff;
          border-color: rgba(208, 208, 208, 0.7);
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled:hover {
          border-color: rgba(208, 208, 208, 0.7); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:focus-visible {
          outline: none;
          -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                  box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #b20c0c;
        background-color: #fde1e1;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: normal;
        word-spacing: 2px;
        border-color: #d0d0d0;
        text-decoration: none;
        line-height: 1;
        border-radius: 10px !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover {
            color: #ffffff;
            background-color: #b20c0c;
            border-color: #b20c0c;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.active {
          color: #ffffff;
          background-color: #d2def9;
          border-color: #d2def9;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning[disabled], .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert[disabled] {
          color: #5c5c5c;
          background-color: #ffffff;
          border-color: rgba(208, 208, 208, 0.7);
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled:hover {
          border-color: rgba(208, 208, 208, 0.7); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:focus-visible, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:focus-visible {
          outline: none;
          -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                  box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
      --component-specifc-step-height: 15px;
      width: 230px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin: var(--common-button-small-margin, 0 22.5px 10px);
      padding: var(--common-button-padding, 20px 10px);
      color: #071e83;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: normal;
      word-spacing: 2px;
      border-color: #d0d0d0;
      text-decoration: none;
      line-height: 1;
      border-radius: 10px !important;
      overflow: hidden;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
          width: 230px;
          margin: var(--common-button-large-margin, 0 45px 20px); } }
      @media (hover: hover) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover {
          color: #ffffff;
          background-color: #d0d0d0;
          border-color: #000000;
          text-decoration: none;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover .graduated-colour-edge .step {
            background-color: #ffffff;
            -webkit-transition: background-color 0.6s;
            transition: background-color 0.6s; } }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.active {
        color: #ffffff;
        background-color: #071e83;
        border-color: #071e83;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button[disabled] {
        color: #5c5c5c;
        background-color: #ffffff;
        border-color: rgba(208, 208, 208, 0.7);
        cursor: not-allowed; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled:hover {
        border-color: rgba(208, 208, 208, 0.7); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:focus-visible {
        outline: none;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button .graduated-colour-edge .step {
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }

.confirmation-prompt-container .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .confirmation-prompt-container .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:hover:before {
    color: #071e83;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:active:before {
    color: #fb6f21;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.confirmation-container {
  width: 100%;
  display: block;
  padding: 15px 10px;
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .confirmation-container {
      padding: 15px 30px; } }
  .confirmation-container.margin-bottom {
    margin-bottom: 50px; }
  .confirmation-container.success {
    background-color: #dffbe2;
    color: #12811f; }
  .confirmation-container.warning {
    background-color: #ffefe6;
    color: #ff5e05; }
  .confirmation-container.alert {
    background-color: #fef0f0;
    color: #b20c0c; }

/*
----- Header -----
Handles the following: 
- Upper + lower navigation bars.
- Site logo
- Header sticky functionality:
  - Full
  - Minified
  - No Top Bar
  - Menu
- VAT Switcher
- Breadcrumbs
- Basket Summary 
- Callouts in the header to modify callout see axis-notification.scss
- Predictive search positioning to modify search style then go to axis-autocomplete.scss
- USP bar which is essentially a module.
- Welcome Text
- Tag lines
- TODO: I am currently in the process of trying to untangle the mega menu css + make it more generic and rehome it inside of axis-menus.scss
*/
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    header {
      margin: 0; } }
  header [data-axis-sticky] {
    z-index: 2000; }
    header [data-axis-sticky].is-stuck .header-container {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
      @media print, screen and (max-width: 81.24875em) {
        header [data-axis-sticky].is-stuck .header-container {
          position: fixed;
          top: 0;
          left: 0;
          z-index: 2000; }
          header [data-axis-sticky].is-stuck .header-container:before {
            width: 0;
            -webkit-transition: width 1.5s ease-out;
            transition: width 1.5s ease-out; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="NoTopBar"] .header-top-bar-container {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-top-bar-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content {
        min-height: auto; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-container {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left .menu > li > a {
          margin-top: 0;
          margin-bottom: 0;
          padding: 0;
          -webkit-transition: margin-top 0.6s, margin-bottom 0.8s;
          transition: margin-top 0.6s, margin-bottom 0.8s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-center {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container {
        height: 45px;
        margin: 5px 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-full-size {
          display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-minified {
          width: 240px;
          display: block;
          padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-right {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-account-button {
        padding: 3.5px 7.75px;
        -webkit-transition: padding 0.6s;
        transition: padding 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary:after {
            height: 43px;
            padding: 4px 23px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .bubble-container {
          top: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container {
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .header-predictive-search .callbackContainer {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search + button {
            height: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-tag-line-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container {
        display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container + #action-bar-container {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container > div {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container a {
          min-height: unset; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a {
        padding-top: 0;
        padding-bottom: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a:before {
          font-size: 11.66667px;
          padding: 0 0;
          -webkit-transition: padding 0.6s, font-size 0.6s;
          transition: padding 0.6s, font-size 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li:not(.home-button) > a {
        padding-top: 10px;
        padding-bottom: 10px; }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li > a.has-link-image .link-image {
          width: 22.5px;
          height: 22.5px;
          -webkit-transition: width 0.6s, height 0.6s;
          transition: width 0.6s, height 0.6s; } }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-top-bar-container, header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-content-container {
          display: none; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-full-size {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-minified {
        width: 240px;
        display: block; }

header .header-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #ffffff; }
  @media print, screen and (max-width: 81.24875em) {
    header .header-container:before {
      content: '';
      width: 99%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #071e83;
      -webkit-transition: width 0.8s;
      transition: width 0.8s; } }
  @media screen and (min-width: 81.25em) {
    header .header-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      border-bottom: 0; } }

.header-mobile-toggle-bar {
  max-width: 70%;
  margin-left: auto; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-toggle-bar {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  @media print, screen and (min-width: 40em) {
    .header-mobile-toggle-bar {
      max-width: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-toggle-bar {
      display: none; } }
  .header-mobile-toggle-bar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0; }
    .header-mobile-toggle-bar ul li {
      position: relative; }
  .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2.5px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
        padding: 0 30px; } }
    .header-mobile-toggle-bar a:before, .header-mobile-toggle-bar button:before {
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-mobile-toggle-bar a:hover, .header-mobile-toggle-bar button:hover {
      text-decoration: none; }
      .header-mobile-toggle-bar a:hover:before, .header-mobile-toggle-bar button:hover:before {
        color: #fb6f21;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 22px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="tel:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar a[href^="mailto:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="mailto:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-search:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-search:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-basket:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket.warning:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-basket.alert:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-mega-menu:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 25px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-mega-menu:before {
        font-size: 30px; } }
  .header-mobile-toggle-bar .header-toggle-account {
    position: relative; }
    .header-mobile-toggle-bar .header-toggle-account:before {
      content: "";
      font-size: 20px;
      font-family: "Font Awesome Solid"; }

.header-mobile-menu {
  max-height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  z-index: 2000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      border-radius: 0 0 10px 10px; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-menu {
      max-height: none;
      background-color: transparent;
      z-index: auto;
      overflow: visible; } }
  .header-mobile-menu.animate {
    max-height: 80vh;
    padding-bottom: 50px;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    border-bottom-color: #071e83;
    border-width: 0 0 6px 0;
    border-style: solid;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .header-mobile-menu.active {
    overflow-y: auto; }
  .header-mobile-menu .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 25px 10px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-mobile-menu .content-container ul.menu > li > a {
        padding: 7.5px 5px 7.5px 16px;
        text-transform: uppercase; } }
    @media screen and (min-width: 81.25em) {
      .header-mobile-menu .content-container {
        padding: 0; } }

.header-top-bar-container {
  width: 100%;
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-top-bar-container {
      display: block; } }

.header-content-container {
  max-width: 34%;
  position: relative;
  padding: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media print, screen and (min-width: 40em) {
    .header-content-container {
      max-width: none;
      padding: 0 10px; } }
  @media screen and (min-width: 81.25em) {
    .header-content-container {
      max-width: 1300px;
      width: 100%;
      display: grid;
      display: -ms-grid;
      grid-template-columns: 1fr 38.5% 28.5%;
      grid-template-rows: 1fr;
      margin: auto;
      padding: 0; } }
  @media screen and (min-width: 100em) {
    .header-content-container {
      max-width: 1300px; } }
  @media screen and (min-width: 120em) {
    .header-content-container {
      max-width: 1300px; } }

@media print, screen and (max-width: 81.24875em) {
  .header-content-left > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-center > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-right > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile) {
    display: none; } }

@media screen and (min-width: 81.25em) {
  .header-content-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-row: 1 / span 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; } }

.header-content-left .menu, .header-content-left .dropdown.menu {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0; }
  .header-content-left .menu > li, .header-content-left .dropdown.menu > li {
    padding: 0; }
    .header-content-left .menu > li > a, .header-content-left .dropdown.menu > li > a {
      padding: 15px 10px; }

.header-content-left .menu-container ul > li > a, .header-content-left .mega-menu-container > ul > li > a {
  color: #000000;
  font-weight: 400; }

.header-content-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .header-content-center {
      padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .header-content-center .menu-container {
      margin: 0; } }
  .header-content-center .menu > li > a, .header-content-center .dropdown.menu > li > a {
    padding: 0; }

.header-content-right {
  position: relative;
  left: inherit; }
  @media screen and (min-width: 81.25em) {
    .header-content-right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -ms-grid-row: 2;
      -ms-grid-column: 3; } }
  .header-content-right .menu-container > ul > li > a {
    padding: 15px 10px;
    color: #000000;
    font-weight: 400; }

.logoContainer, .logo-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
  padding: 0 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .logoContainer, .logo-container {
      padding: 0 10px 0 0; } }
  .logoContainer a, .logo-container a {
    max-width: 50vw;
    display: block;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .logoContainer a, .logo-container a {
        margin: 0; } }
  .logoContainer img, .logo-container img {
    width: 265px; }
    @media screen and (min-width: 81.25em) {
      .logoContainer img, .logo-container img {
        width: 365px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
        display: none; } }

.header-tag-line-container {
  display: none; }
  .header-tag-line-container p {
    margin: 0;
    padding: 8px 0;
    color: #071e83;
    font-weight: 400;
    font-size: 1.0625rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: normal;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-tag-line-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .header-tag-line-container {
      width: 100%;
      height: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-tagline {
  display: none;
  margin: 0;
  padding: 8px 0;
  color: #071e83;
  font-weight: 400;
  font-size: 1.0625rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap; }
  @media screen and (min-width: 81.25em) {
    .header-tagline {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-search-container {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .header-search-container {
      -ms-grid-column: 2;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-search-container.active .header-predictive-search .callbackContainer {
      width: 100%;
      position: relative; } }
  .header-search-container .header-predictive-search {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .header-predictive-search {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .header-search-container .header-predictive-search .callbackContainer {
          width: 100%;
          height: 50px;
          margin: auto; } }
    .header-search-container .header-predictive-search fieldset {
      margin: 0;
      padding: 0; }
  .header-search-container input[type=search] {
    width: 100%;
    height: 50px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .header-search-container input[type=search]::-webkit-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search] + button {
      height: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
  .header-search-container #unibox-suggest-box {
    max-width: initial !important;
    width: calc(100% - 70px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media print, screen and (max-width: 81.24875em) {
      .header-search-container #unibox-suggest-box {
        position: relative !important;
        top: 0 !important; } }
    .header-search-container #unibox-suggest-box a {
      display: block;
      padding: 0 0 0 25px;
      color: #333333; }
    .header-search-container #unibox-suggest-box .unibox-selectable {
      padding-left: 0; }
      .header-search-container #unibox-suggest-box .unibox-selectable:hover {
        background-color: #eeeeee; }
        .header-search-container #unibox-suggest-box .unibox-selectable:hover a {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
          .header-search-container #unibox-suggest-box .unibox-selectable:hover a span, .header-search-container #unibox-suggest-box .unibox-selectable:hover a .unibox-highlight {
            color: #fb6f21;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
      .header-search-container #unibox-suggest-box .unibox-selectable:active a {
        color: #333333; }
      .header-search-container #unibox-suggest-box .unibox-selectable span, .header-search-container #unibox-suggest-box .unibox-selectable .unibox-highlight {
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-search-container .ac-results {
      width: 700px;
      margin-left: -40px; } }
  .header-search-container .results-content-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .results-content-container {
        padding: 40px 40px 0 40px; } }

.header-predictive-search .ac-results {
  position: absolute;
  top: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-predictive-search .ac-results {
      position: relative !important;
      margin-top: 15px; } }
  .header-predictive-search .ac-results li {
    position: relative; }
    .header-predictive-search .ac-results li:not(:first-child):hover a.ac_results_entry:before {
      content: '\f0de';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -5px;
      margin: auto;
      display: inline-block;
      font-family: "Font Awesome Solid";
      color: #fb6f21;
      -webkit-transform: rotate(92deg);
              transform: rotate(92deg); }
    .header-predictive-search .ac-results li .no-results {
      display: block;
      margin-left: 15px;
      padding: 5px 0; }

.header-predictive-search .heading2 {
  margin-bottom: 10px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-style: italic;
  color: #071e83; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #071e83;
  color: #ffffff; }

.header-predictive-search .ac_results_entry {
  display: block;
  padding: 5px 0;
  margin-left: 15px;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #000000; }

.header-call-to-action-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-call-to-action-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  .header-call-to-action-container .not-logged-in-container {
    height: 50px; }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container {
        max-width: 255px;
        width: 100%;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container a {
        max-height: none;
        min-height: 50px; } }

#action-bar-container {
  height: 50px; }

@media screen and (min-width: 81.25em) {
  .header-basket-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: right; } }

.header-basket-container.active .summary-recently-added {
  max-height: 80vh;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container.active .summary-recently-added {
      max-height: 500px; } }

.header-basket-container.warning .basket-desktop-summary {
  background-color: #ffefe6; }
  .header-basket-container.warning .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #ff5e05;
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.warning .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.warning .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #ff5e05; }

.header-basket-container.warning .mobile-summary-message-container, .header-basket-container.warning .text-notification-container {
  background-color: #ffefe6;
  color: #ff5e05;
  border: 1px solid #ff5e05; }

.header-basket-container.warning .basket-details-info {
  font-weight: 700;
  color: #ff5e05; }

.header-basket-container.alert .basket-desktop-summary {
  background-color: #fde1e1; }
  .header-basket-container.alert .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #b20c0c;
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.alert .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active .basket-details-info {
    color: #fb6f21; }
  .header-basket-container.alert .basket-desktop-summary:active:after {
    color: #fb6f21; }

.header-basket-container.alert .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #b20c0c; }

.header-basket-container.alert .mobile-summary-message-container, .header-basket-container.alert .text-notification-container {
  background-color: #fde1e1;
  color: #b20c0c;
  border: 1px solid #b20c0c; }

.header-basket-container.alert .basket-details-info {
  font-weight: 700;
  color: #b20c0c; }

.header-basket-container .summary-recently-added {
  width: 100%;
  max-height: 0px;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 5000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .summary-recently-added {
      width: 400px;
      left: auto; } }
  .header-basket-container .summary-recently-added .content-container {
    border-radius: 0 0 10px 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    border-bottom-color: #071e83;
    border-width: 0 0 6px 0;
    border-style: solid; }
  .header-basket-container .summary-recently-added a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 5px; }
    .header-basket-container .summary-recently-added a:hover .basket-icon:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #071e83; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #071e83; }
    .header-basket-container .summary-recently-added a .basket-icon {
      position: relative; }
      .header-basket-container .summary-recently-added a .basket-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 26px;
        color: #183ad3; }
    .header-basket-container .summary-recently-added a .update-message {
      padding: 10px 60px 0;
      font-size: 0.9375rem;
      font-weight: 600;
      text-align: center; }

@media screen and (min-width: 81.25em) {
  .header-basket-container [data-basket-summary-notifications] {
    width: 300px;
    position: absolute;
    top: 100%;
    z-index: 10; } }

.header-basket-container .basket-desktop-summary {
  width: 255px;
  height: 50px;
  position: relative;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #d0d0d0;
  font-size: 0.875rem;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-desktop-summary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .header-basket-container .basket-desktop-summary:hover {
    color: #ffffff;
    border-color: #071e83;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .header-basket-container .basket-desktop-summary:hover:after {
      border-color: #071e83; }
    .header-basket-container .basket-desktop-summary:hover:after {
      width: 100%;
      color: #ffffff;
      background-color: #071e83;
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;
      -webkit-transition: all 0.6s;
      transition: all 0.6s;
      z-index: 2; }
    .header-basket-container .basket-desktop-summary:hover .basket-details-info {
      color: #ffffff;
      font-weight: 300; }
  .header-basket-container .basket-desktop-summary:active .basket-details-info {
    color: #fb6f21; }
  .header-basket-container .basket-desktop-summary:active:after {
    color: #fb6f21; }
  .header-basket-container .basket-desktop-summary:after {
    content: "";
    width: 72px;
    height: 48px;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 23px;
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #071e83;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #d0d0d0;
    background-color: #f0f0f0;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.header-basket-container .basket-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-details {
      width: 185px; } }
  .header-basket-container .basket-details:before {
    content: '';
    width: 1.5px;
    height: 0;
    position: absolute;
    top: 0;
    right: 70px;
    bottom: 0;
    margin: auto;
    display: block;
    background-color: #ffffff;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }

.header-basket-container .basket-details-info {
  color: #333333;
  font-weight: 300; }
  .header-basket-container .basket-details-info.basket-details-quantity span {
    margin-right: 5px; }
  .header-basket-container .basket-details-info.basket-details-price {
    margin-left: 20px; }

.header-basket-container .basket-mobile-summary {
  border-radius: 0 0 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-mobile-summary {
      display: none; } }
  .header-basket-container .basket-mobile-summary .basket-icon {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-basket-container .basket-mobile-summary .basket-icon:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 40px;
      line-height: 1;
      color: #071e83; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #071e83; }
  .header-basket-container .basket-mobile-summary .summary-quantity {
    margin: 20px 0 25px;
    padding: 0;
    font-size: 1.0625rem;
    text-align: center; }
    .header-basket-container .basket-mobile-summary .summary-quantity span {
      margin-right: 5px;
      color: #071e83;
      font-weight: 700; }
  .header-basket-container .basket-mobile-summary .action-button {
    margin: 0; }
  .header-basket-container .basket-mobile-summary .mobile-summary-message-container, .header-basket-container .basket-mobile-summary .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center; }

.summary:hover .textContainer:before {
  content: '';
  height: 85%;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.summary:hover .textContainer #basketQuantity, .summary:hover .textContainer #basketPreviewPrice {
  color: #ffffff;
  font-weight: 300; }

.summary:after {
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }

.summary #basketPreviewPrice {
  margin-left: 20px; }

#basketSummaryContainer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: right; } }
  #basketSummaryContainer.warning .summary {
    background-color: #ffefe6; }
    #basketSummaryContainer.warning .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #ff5e05; }
  #basketSummaryContainer.warning #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #ff5e05; }
  #basketSummaryContainer.warning .mobile-summary-message-container, #basketSummaryContainer.warning .text-notification-container {
    background-color: #ffefe6;
    color: #ff5e05;
    border: 1px solid #ff5e05; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #ff5e05; }
    #basketSummaryContainer.warning .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.warning .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.warning .summary-message-container .content-container {
      background-color: #ffefe6; }
      #basketSummaryContainer.warning .summary-message-container .content-container:before {
        content: "";
        color: #ff5e05; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #ff5e05; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #ff5e05; }
  #basketSummaryContainer.alert .summary {
    background-color: #fde1e1; }
    #basketSummaryContainer.alert .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #b20c0c; }
  #basketSummaryContainer.alert #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #b20c0c; }
  #basketSummaryContainer.alert .mobile-summary-message-container, #basketSummaryContainer.alert .text-notification-container {
    background-color: #fde1e1;
    color: #b20c0c;
    border: 1px solid #b20c0c; }
  #basketSummaryContainer.alert .summary-message-container {
    border-color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.alert .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.alert .summary-message-container .content-container {
      background-color: #fde1e1; }
      #basketSummaryContainer.alert .summary-message-container .content-container:before {
        content: "";
        color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container p {
      color: #b20c0c; }
  #basketSummaryContainer.alert #basketQuantity, #basketSummaryContainer.alert #basketPreviewPrice {
    color: #b20c0c; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer .not-logged-in-container {
      display: none; } }
  #basketSummaryContainer .mobile-summary-message-container, #basketSummaryContainer .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.125rem;
    font-weight: 700; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer.active {
      display: block;
      max-height: 370px;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0; }
      #basketSummaryContainer.active #basketPreview {
        max-height: 570px;
        padding: 25px 10px 60px;
        padding-bottom: 50px;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        border-bottom-color: #071e83;
        border-width: 0 0 6px 0;
        border-style: solid;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        opacity: 1;
        z-index: 5000; } }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer.active #basketPreview {
      max-height: 460px;
      padding: 20px 30px 30px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      padding-bottom: 50px;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      border-bottom-color: #071e83;
      border-width: 0 0 6px 0;
      border-style: solid;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      opacity: 1;
      z-index: 5000; } }
  #basketSummaryContainer #recentlyAdded {
    display: none; }
    #basketSummaryContainer #recentlyAdded h3 {
      margin-top: 30px;
      padding: 10px 60px 0;
      color: #000000;
      font-weight: 600;
      font-size: 0.9375rem;
      text-align: center; }
  #basketSummaryContainer.update.active #basketPreview {
    display: none; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer .not-logged-in-container {
      width: 255px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
      #basketSummaryContainer .not-logged-in-container a {
        max-height: 50px; } }
  #basketSummaryContainer .bubble-container {
    display: none; }
    @media screen and (min-width: 81.25em) {
      #basketSummaryContainer .bubble-container {
        width: 255px;
        max-height: 0;
        position: absolute;
        top: 100px;
        right: 0;
        display: inherit;
        overflow: hidden;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; } }
    #basketSummaryContainer .bubble-container.active {
      max-height: 300px;
      height: auto;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  #basketSummaryContainer .summary-message-container {
    position: relative;
    display: inherit;
    margin-top: 10px;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #071e83; }
    #basketSummaryContainer .summary-message-container .content-container {
      padding: 14px 20px; }
      #basketSummaryContainer .summary-message-container .content-container:before {
        content: "";
        display: block;
        margin-bottom: 5px;
        font-size: 20px;
        font-family: "Font Awesome Solid";
        text-align: center;
        color: #071e83; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 0.9375rem;
      font-weight: 700;
      color: #071e83; }

.header-welcome-text-container {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .header-welcome-text-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
      -ms-flex-preferred-size: 40px;
          flex-basis: 40px; } }
  .header-welcome-text-container .text-container {
    margin: 0;
    text-align: right; }
    .header-welcome-text-container .text-container p {
      margin: 0;
      padding: 0;
      font-size: 0.875rem;
      font-weight: 300;
      font-style: normal;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      color: #333333; }
  .header-welcome-text-container + #action-bar-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .header-welcome-text-container + .header-call-to-action-container {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }

.header-menus-outer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container {
      max-height: none;
      padding: 0;
      background-color: #ffffff;
      border-radius: 0;
      border-width: 0 0 1px;
      border-color: #8f95a5;
      border-style: solid;
      visibility: visible;
      overflow: visible; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container.active {
      position: relative;
      z-index: 1; } }
  .header-menus-outer-container .content-container > ul > li > a {
    font-size: 1.25rem;
    font-weight: 600; }
  .header-menus-outer-container .content-container > ul > li > ul > li > a {
    font-size: 1.0625rem;
    font-weight: 500; }
  .header-menus-outer-container .content-container > ul > li > ul > li ul > > li a {
    font-size: 1.0625rem;
    font-weight: 400; }

.header-menus-inner-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container {
      max-width: 1300px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: auto; } }
  .header-menus-inner-container ul.accordion-menu > li:hover {
    background-color: #071e83; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #071e83;
    font-weight: 600;
    font-size: 1.25rem;
    text-align: left;
    text-transform: uppercase; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-menus-inner-container ul.accordion-menu > li > ul > li:not(.is-accordion-submenu-parent) > a {
        padding-left: 36px; } }
    .header-menus-inner-container ul.accordion-menu > li > ul > li.is-active.is-dropdown-submenu-parent > a:after, .header-menus-inner-container ul.accordion-menu > li > ul > li.is-dropdown-submenu-parent > a:after {
      content: ''; }
    .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a {
      color: #000000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 0 5px 0 16px;
      font-size: 1.0625rem;
      font-weight: 400; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover:before {
        color: #fb6f21; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active:before {
        color: #071e83; }
  .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li:first-child > a, .header-menus-inner-container ul.menu.dropdown > li:first-child > a {
        padding-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li:last-child > a, .header-menus-inner-container ul.menu.dropdown > li:last-child > a {
        padding-right: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li:first-child a, .header-menus-inner-container ul.menu.dropdown > li:first-child a {
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li.home-button a, .header-menus-inner-container ul.menu.dropdown > li.home-button a {
        padding: 10px 15px; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container ul.menu.mega-menu .is-dropdown-submenu-parent, .header-menus-inner-container ul.menu.dropdown .is-dropdown-submenu-parent {
      position: static; } }

.header-menu-left-container {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .header-menu-left-container + .header-menu-right-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.header-menu-right-container, .header-menu-left-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 81.25em) {
  .header-menu-right-container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.header-toggle-bar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 12.5px; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container {
      position: relative; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-toggle-bar-container.toggle-bar-inactive-mobile {
      gap: 0; } }
  .header-toggle-bar-container .header-toggle-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-toggle-bar-container .header-toggle-container.align-items-parent {
      position: static; }
  .header-toggle-bar-container .toggle-button-container .toggle-button {
    min-height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    padding: 3.5px 7.75px;
    cursor: pointer;
    border-radius: 10px; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:before {
      color: #071e83;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #183ad3; }
  .header-toggle-bar-container .toggle-button-container.search .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button .basket-item-count {
    position: absolute;
    top: 2px;
    left: 26px;
    padding: 2px 4.5px;
    display: block;
    background-color: #ffec41;
    color: #071e83;
    font-size: 0.6875rem;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #ffec41;
    -webkit-transition: color 0.8s, border-color 0.8s, 0.8s;
    transition: color 0.8s, border-color 0.8s, 0.8s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:hover .basket-item-count {
    background-color: #ffffff;
    border-color: #fb6f21;
    color: #fb6f21;
    -webkit-transition: color 0.6s, 0.6s, background-color 0.6s;
    transition: color 0.6s, 0.6s, background-color 0.6s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:active .basket-item-count {
    background-color: #071e83;
    color: #ffffff;
    border-color: #071e83; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search {
      width: 0;
      position: absolute;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search.active {
      width: 490px;
      right: -12px;
      overflow: visible; } }
  .header-toggle-bar-container .toggle-content-container.account-menu {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu {
        width: 0;
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        display: block;
        overflow: hidden;
        background-color: #ffffff; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu.active {
        width: 550px;
        right: 0;
        padding: 20px;
        overflow: visible; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu .account-menu {
        margin: 0;
        padding: 0;
        list-style: none; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar {
      width: 0;
      position: absolute;
      right: -16px;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar.active {
      width: 250px;
      overflow: visible; }
      .header-toggle-bar-container .toggle-content-container.action-bar.active .basket-desktop-summary:after {
        color: #fb6f21;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }

.header-account-button {
  min-height: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  padding: 3.5px 7.75px;
  color: #071e83;
  -webkit-transition: border-color 0.8s, background-color 0.8s, color 0.8s;
  transition: border-color 0.8s, background-color 0.8s, color 0.8s; }
  .header-account-button.logged-in {
    border: 1px solid #c8c8c8; }
  .header-account-button:hover {
    color: #d0d0d0;
    border-color: #071e83;
    -webkit-transition: border-color 0.6s, background-color 0.6s, color 0.6s;
    transition: border-color 0.6s, background-color 0.6s, color 0.6s; }
    .header-account-button:hover:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s, background-color 0.6s;
      transition: color 0.6s, background-color 0.6s; }
  .header-account-button:active {
    color: #eeeeee;
    border-color: #071e83; }
    .header-account-button:active:before {
      color: #183ad3; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #071e83;
    border-radius: 10px;
    -webkit-transition: color 0.8s, background-color 0.8s;
    transition: color 0.8s, background-color 0.8s; }

.account-menu a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #000000;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .account-menu a:hover {
    color: #071e83;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.usp-bar, .header-usp-bar {
  padding: 5px 0 7.5px; }
  @media screen and (min-width: 81.25em) {
    .usp-bar, .header-usp-bar {
      padding: 10px 0 0; } }

.usp-container {
  width: 100%;
  background-color: #eeeeee; }
  @media screen and (min-width: 81.25em) {
    .usp-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    .usp-container {
      padding: 0; } }
  .usp-container .usp-banner, .usp-container .collection-item {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
    @media print, screen and (min-width: 40em) {
      .usp-container .usp-banner, .usp-container .collection-item {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
    .usp-container .usp-banner a, .usp-container .usp-banner p, .usp-container .collection-item a, .usp-container .collection-item p {
      text-transform: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .usp-container .usp-banner a, .usp-container .usp-banner > p, .usp-container .collection-item a, .usp-container .collection-item > p {
      border-width: 0;
      border-color: #071e83;
      border-style: solid;
      border-radius: 10px; }
    .usp-container .usp-banner p, .usp-container .collection-item p {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 15px 5px;
      text-align: center;
      color: #071e83;
      font-style: italic;
      font-size: 0.9375rem;
      font-weight: 600; }
    .usp-container .usp-banner img, .usp-container .collection-item img {
      max-height: 26px;
      margin-top: auto;
      margin-bottom: auto;
      margin-right: 12px;
      aspect-ratio: var(--media-aspect-ratio, auto); }
    .usp-container .usp-banner a, .usp-container .collection-item a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 15px 5px;
      -webkit-transition: opacity, background-color 0.8s;
      transition: opacity, background-color 0.8s; }
      .usp-container .usp-banner a:hover, .usp-container .collection-item a:hover {
        background-color: #d5d5d5;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s, background-color 0.6s;
        transition: opacity 0.6s, background-color 0.6s; }
      .usp-container .usp-banner a:active, .usp-container .collection-item a:active {
        background-color: #bbbbbb; }
      .usp-container .usp-banner a p, .usp-container .collection-item a p {
        padding: 0; }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false], .usp-container .collection-item[aria-hidden=false] {
        padding: 0 0; }
        .usp-container .usp-banner[aria-hidden=false]:first-of-type, .usp-container .collection-item[aria-hidden=false]:first-of-type {
          padding-left: 0; }
        .usp-container .usp-banner[aria-hidden=false]:last-of-type, .usp-container .collection-item[aria-hidden=false]:last-of-type {
          padding-right: 0; } }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false] + .collection-item, .usp-container .collection-item[aria-hidden=false] + .collection-item {
        position: relative;
        padding-left: 2px; }
        .usp-container .usp-banner[aria-hidden=false] + .collection-item:before, .usp-container .collection-item[aria-hidden=false] + .collection-item:before {
          content: '';
          width: 2px;
          height: 28px;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          background-color: #ffffff;
          z-index: 1; } }
  .usp-container .fas {
    margin-right: 10px; }

body:not(#home) .header-breadcrumbs-container {
  margin: 0; }
  body:not(#home) .header-breadcrumbs-container:not(:has(.breadcrumbs)) {
    padding: 7.5px; }

body:not(#home) .header-breadcrumb-vat-switcher-container:not(:has(.breadcrumbs)):not(:has(.header-toggle-switch-container)):not(:has(.vat-switcher-container)) {
  padding: 7.5px; }

.header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
  padding-top: 7px; }
  .header-usp-bar + #breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + #breadcrumb-vat-switcher-container:has(.header-toggle-switch-container), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.header-toggle-switch-container) {
    padding-top: 0; }
  @media screen and (min-width: 81.25em) {
    .header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
      padding-top: 8px; } }

#breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
  padding-top: 7px;
  padding-bottom: 7px; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
      padding-top: 8px;
      padding-bottom: 8px; } }

#breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.5px 0; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
      margin: 0; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  #breadcrumb-vat-switcher-container.grid-container, .header-breadcrumb-vat-switcher-container.grid-container {
    padding-right: 10px;
    padding-left: 10px; } }

.breadcrumbs {
  padding: 0; }
  .breadcrumbs a {
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 400; }
  .breadcrumbs span {
    font-size: 0.8125rem;
    font-weight: 300; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 1px;
      font-family: "fontello-winterstoke";
      font-size: 7px; }
      @media screen and (min-width: 81.25em) {
        .breadcrumbs li:after {
          padding-top: 2px; } }

.toggle-switch-label-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .toggle-switch-label-container span {
    padding-right: 10px;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #000000; }

.vat-switcher-container, .header-toggle-switch-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  .vat-switcher-container.vat-switcher.inclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.off .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.off .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.off .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.vat-switcher.exclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.on .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.on .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.on .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.edit-mode.off .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.off .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.off .header-toggle-switch-paddle:before {
    background-color: #000000; }
  .vat-switcher-container.edit-mode.on .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.on .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.on .header-toggle-switch-paddle:before {
    background-color: #fb6f21; }
  .vat-switcher-container.inclusive .vat-switcher-paddle, .vat-switcher-container.inclusive .header-toggle-switch-paddle, .vat-switcher-container.off .vat-switcher-paddle, .vat-switcher-container.off .header-toggle-switch-paddle, .header-toggle-switch-container.inclusive .vat-switcher-paddle, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle, .header-toggle-switch-container.off .vat-switcher-paddle, .header-toggle-switch-container.off .header-toggle-switch-paddle {
    padding-right: 32px; }
    .vat-switcher-container.inclusive .vat-switcher-paddle:before, .vat-switcher-container.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.off .vat-switcher-paddle:before, .vat-switcher-container.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.off .vat-switcher-paddle:before, .header-toggle-switch-container.off .header-toggle-switch-paddle:before {
      right: 5px;
      background-color: #eeeeee; }
  .vat-switcher-container.inclusive .switch-exc, .vat-switcher-container.off .switch-exc, .header-toggle-switch-container.inclusive .switch-exc, .header-toggle-switch-container.off .switch-exc {
    display: none; }
  .vat-switcher-container.inclusive .switch, .vat-switcher-container.off .switch, .header-toggle-switch-container.inclusive .switch, .header-toggle-switch-container.off .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container.exclusive .vat-switcher-paddle, .vat-switcher-container.exclusive .header-toggle-switch-paddle, .vat-switcher-container.on .vat-switcher-paddle, .vat-switcher-container.on .header-toggle-switch-paddle, .header-toggle-switch-container.exclusive .vat-switcher-paddle, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle, .header-toggle-switch-container.on .vat-switcher-paddle, .header-toggle-switch-container.on .header-toggle-switch-paddle {
    padding-left: 39px; }
    .vat-switcher-container.exclusive .vat-switcher-paddle:before, .vat-switcher-container.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.on .vat-switcher-paddle:before, .vat-switcher-container.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.on .vat-switcher-paddle:before, .header-toggle-switch-container.on .header-toggle-switch-paddle:before {
      left: 5px;
      background-color: #333333; }
  .vat-switcher-container.exclusive .switch-inc, .vat-switcher-container.on .switch-inc, .header-toggle-switch-container.exclusive .switch-inc, .header-toggle-switch-container.on .switch-inc {
    display: none; }
  .vat-switcher-container.exclusive .switch, .vat-switcher-container.on .switch, .header-toggle-switch-container.exclusive .switch, .header-toggle-switch-container.on .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container .switch, .header-toggle-switch-container .switch {
    width: 34px;
    height: 16.19048px;
    margin: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 10px;
    line-height: 0;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s; }
    .vat-switcher-container .switch:hover, .header-toggle-switch-container .switch:hover {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s; }
  .vat-switcher-container .vat-switcher-paddle, .vat-switcher-container .header-toggle-switch-paddle, .header-toggle-switch-container .vat-switcher-paddle, .header-toggle-switch-container .header-toggle-switch-paddle {
    min-width: 14.78261px;
    height: 14.78261px;
    display: inline-block; }
    .vat-switcher-container .vat-switcher-paddle:before, .vat-switcher-container .header-toggle-switch-paddle:before, .header-toggle-switch-container .vat-switcher-paddle:before, .header-toggle-switch-container .header-toggle-switch-paddle:before {
      content: '';
      width: 8.09524px;
      height: 8.09524px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border-radius: 10px;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
  .vat-switcher-container .switch-exc, .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-exc, .header-toggle-switch-container .switch-inc {
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 2; }
  .vat-switcher-container .switch-exc, .header-toggle-switch-container .switch-exc {
    right: 7px; }
  .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-inc {
    left: 5px; }
  .vat-switcher-container .switch-input, .header-toggle-switch-container .switch-input {
    width: 100%;
    padding: 0;
    margin: 0; }
  .vat-switcher-container p, .header-toggle-switch-container p {
    margin: 0;
    color: #333333;
    font-size: 0.8125rem;
    font-weight: 300; }
  .vat-switcher-container label, .header-toggle-switch-container label {
    cursor: pointer; }
    .vat-switcher-container label span, .header-toggle-switch-container label span {
      font-size: 0.8125rem;
      font-weight: 300; }

/*
----- Footer -----
Handles the following: 
- Footer menu ( also refer to axis-menus.scss )
- Promotion area:
  - Social Icons
  - Mailing List
  - Cms entries
- Footer Banners ( Payment method logos )
- Copyright
- Google Tag Manager footer widget area
- Footer Modules ( also refer to modules.scss )
*/
footer .row-background:first-of-type {
  margin-top: 50px; }

footer .socialIcons, footer .social-icons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    footer .socialIcons, footer .social-icons {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin: 0;
      padding: 0;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
        margin: 0 0 35px;
        text-align: left; } }
  footer .socialIcons a, footer .social-icons a {
    height: 45px;
    width: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 25px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #ffffff;
      border-color: #ffffff;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #ffffff;
      border-color: #071e83; }
  footer .socialIcons img, footer .social-icons img {
    max-width: 50px; }
  footer .socialIcons .icons-container, footer .social-icons .icons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons .icons-container, footer .social-icons .icons-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }

footer .cms-content-container {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    footer .cms-content-container {
      padding: 0; } }
  footer .cms-content-container p {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 400;
    text-transform: none; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #071e83;
    font-size: 1rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #ffffff; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #333333; }
    footer .footer-background .cms-content-container a:active {
      color: #ffffff; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f0f0f0; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    footer .footer-background .cms-content-container a.show-contact-icon:hover:before {
      color: #333333;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    footer .footer-background .cms-content-container a.show-contact-icon:active:before {
      color: #f0f0f0; }

.footer-grid-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: auto; }
  @media screen and (min-width: 81.25em) {
    .footer-grid-container {
      max-width: 1300px;
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-content-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-banner-series-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer-banner-series-container.content-header .footer-banner-series {
    max-width: 1300px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.content-header .footer-banner-series {
        margin: 0 auto 0; } }
  .footer-banner-series-container.payment-methods {
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods {
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods .footer-banner-series {
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods .footer-banner-series .image {
        -ms-flex-preferred-size: fit-content;
            flex-basis: fit-content; } }
  .footer-banner-series-container + .footer-background {
    margin-top: 0; }
  .footer-banner-series-container .footer-banner-series {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container .footer-banner-series {
        gap: 0 24.5px;
        margin: auto; } }
    .footer-banner-series-container .footer-banner-series a {
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .footer-banner-series-container .footer-banner-series a:hover {
        opacity: .6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .footer-banner-series-container .footer-banner-series .image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer-banner-series-container .footer-banner-series .image img {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content; }

.copyright-outer-container {
  padding: 0;
  background-color: #8f95a5; }
  .copyright-outer-container .copyright-inner-container {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 17px auto 0;
        text-align: left; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 0.8125rem;
      font-weight: 300;
      color: #ffffff;
      text-transform: none;
      line-height: 2; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 0.8125rem;
      font-weight: 600;
      color: #ffffff;
      text-decoration: none;
      text-transform: none;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #071e83;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #ffffff;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

@media screen and (min-width: 81.25em) {
  .footer-navigation > ul.menu {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }

.footer-navigation > ul.menu > li.is-accordion-submenu-parent > a:after {
  color: #ffffff; }

.footer-navigation > ul.menu > li {
  margin: 0; }
  .footer-navigation > ul.menu > li:first-child p, .footer-navigation > ul.menu > li:first-child a {
    padding-left: 0; }
  .footer-navigation > ul.menu > li:last-child p, .footer-navigation > ul.menu > li:last-child a {
    padding-right: 0; }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #ffffff; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0 30px 20px 0;
      padding: 0;
      border: 0; } }
  .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 20px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    cursor: pointer;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #ffffff; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #071e83; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li > p {
      cursor: default; } }
  .footer-navigation > ul.menu > li > ul {
    width: 100%;
    padding: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > ul {
        margin-top: 35px; } }
    .footer-navigation > ul.menu > li > ul > li {
      padding: 0 0 10.5px; }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li {
          padding: 0 0 21px; } }
      .footer-navigation > ul.menu > li > ul > li:first-child {
        padding-top: 10.5px; }
        @media screen and (min-width: 81.25em) {
          .footer-navigation > ul.menu > li > ul > li:first-child {
            padding-top: 0; } }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li:last-child {
          padding-bottom: 0; } }
      .footer-navigation > ul.menu > li > ul > li > a {
        padding: 0;
        color: #ffffff;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        text-transform: none;
        -webkit-transition: color 0.8s, opacity 0.8s;
        transition: color 0.8s, opacity 0.8s; }
        .footer-navigation > ul.menu > li > ul > li > a:hover {
          color: #ffffff;
          text-decoration: underline;
          opacity: 0.5;
          -webkit-transition: color 0.6s, opacity 0.6s;
          transition: color 0.6s, opacity 0.6s; }
        .footer-navigation > ul.menu > li > ul > li > a:active {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }

.footer-navigation > ul.menu .link-description {
  display: inline-block;
  text-decoration: inherit; }

.footer-navigation.main-menu {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation.main-menu {
      width: auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.footer-navigation .menu .is-submenu-item a {
  padding: 0; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:hover {
  color: #ffffff; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:active {
  color: #071e83; }

.footer-cms-content-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }
  .footer-cms-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px; }
    @media screen and (min-width: 81.25em) {
      .footer-cms-content-container .cms-content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 30px; } }
    .footer-cms-content-container .cms-content-container h2 {
      margin: 0 0 35px;
      color: #ffffff;
      font-size: 16;
      font-weight: 500; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #ffffff;
      font-size: 1rem;
      font-weight: 500; }
    .footer-cms-content-container .cms-content-container table {
      color: #ffffff; }
      @media print, screen and (max-width: 81.24875em) {
        .footer-cms-content-container .cms-content-container table td:not(:first-child) {
          padding-left: 15px; } }
      @media screen and (min-width: 81.25em) {
        .footer-cms-content-container .cms-content-container table td {
          padding: 0; } }
    .footer-cms-content-container .cms-content-container > div {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }

.footer-promotions {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .footer-promotions {
      max-width: 50%;
      margin: 0;
      padding: 0; } }
  .footer-promotions + .footer-navigation {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .footer-promotions + .footer-navigation .menu {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .footer-promotions .mailing-list-container, .footer-promotions .footer-mailing-list-reveal-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .footer-promotions .socialIcons, .footer-promotions .social-icons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .footer-promotions .cms-content-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.footer-promotion-heading h3 {
  margin: 0 0 15px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase; }
  @media screen and (min-width: 81.25em) {
    .footer-promotion-heading h3 {
      margin: 0 0 35px; } }

.footer-logo-container {
  width: 50%;
  margin: 0 0 20px; }
  @media print, screen and (min-width: 40em) {
    .footer-logo-container {
      width: 40%; } }
  @media screen and (min-width: 81.25em) {
    .footer-logo-container {
      margin: 0 0 30px; } }

.footer-contact-details {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .footer-contact-details {
      margin: 0 0 25px; } }
  .footer-contact-details ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer-contact-details ul.menu > li {
      margin: 0 0 10px; }
      .footer-contact-details ul.menu > li:hover {
        background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .footer-contact-details ul.menu > li {
          margin: 0 0 15px; } }
      .footer-contact-details ul.menu > li > a {
        padding: 20px 0;
        color: #d0d0d0b3;
        font-size: 1rem; }
        @media screen and (min-width: 81.25em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0; } }
        .footer-contact-details ul.menu > li > a:hover {
          color: #ffffff; }
        .footer-contact-details ul.menu > li > a:active {
          color: #ffffff; }

.footer-reveal-button {
  width: 100%;
  display: block;
  padding: 15px 30px;
  background-color: #071e83;
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 10px;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media print, screen and (min-width: 40em) {
    .footer-reveal-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .footer-reveal-button:hover {
    background-color: #fb6f21;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #364db0; }

.footer-mailing-list-reveal-container.active .footer-reveal-button {
  display: none; }

.footer-mailing-list-reveal-container.active .mailing-list-container {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-reveal-container.active .mailing-list-container {
      max-width: 400px; } }

.footer-mailing-list-reveal-container .mailing-list-container {
  display: none; }

.footer-mailing-list-link {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #ffffff;
  background-color: #071e83;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #071e83;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-link {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .footer-mailing-list-link:hover, .footer-mailing-list-link.hover {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .footer-mailing-list-link:hover:after, .footer-mailing-list-link.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .footer-mailing-list-link:hover .graduated-colour-edge .step, .footer-mailing-list-link.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .footer-mailing-list-link:active, .footer-mailing-list-link.active {
    color: #ffffff;
    background-color: #183ad3;
    border-color: #183ad3;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .footer-mailing-list-link:active:after, .footer-mailing-list-link.active:after {
      color: #ffffff; }
  .footer-mailing-list-link:disabled, .footer-mailing-list-link.disabled, .footer-mailing-list-link[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
    .footer-mailing-list-link:disabled:after, .footer-mailing-list-link.disabled:after, .footer-mailing-list-link[disabled]:after {
      color: #5c5c5c; }
  .footer-mailing-list-link:disabled:hover, .footer-mailing-list-link.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .footer-mailing-list-link:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .footer-mailing-list-link:after {
    content: "";
    margin: 0 0 0 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .footer-mailing-list-link .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.mailing-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container h3 {
        margin: 0 0 35px; } }
  .mailing-list-container p {
    color: #ffffff;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container p {
        padding-bottom: 21px; } }
  .mailing-list-container span.mail-input {
    width: 100%;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #d0d0d0; }
  .mailing-list-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #8f95a5; }
    @media print, screen and (max-width: 39.99875em) {
      .mailing-list-container form input {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px; }
        .mailing-list-container form input + button {
          border-top-left-radius: 10px;
          border-bottom-left-radius: 10px; } }
  .mailing-list-container fieldset {
    margin: 0;
    padding: 0; }
  .mailing-list-container .form-error {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }

.footerOuterContainer, .footer-background {
  margin-top: 60px;
  padding: 20px 10px;
  background-color: #8f95a5; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 25px 10px; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 40px 0 25px; } }
  .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }

/*
----- AJAX -----
Handles the following: 
- AJAX Spinner
- Callback containers
- Update Content - Basically a container inside of the ajax response that allows you to update content outside of the callback container.
*/
.callbackContainer {
  width: 100%;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .callbackContainer:has(.AJAXBlock) {
    min-height: 50px; }

.callbackListContainer {
  position: relative; }

.AJAXBlock, .initialising-content-blocker-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 10000; }
  .AJAXBlock .spinner, .initialising-content-blocker-container .spinner {
    width: 50px;
    height: 50px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .AJAXBlock .spinner:before, .initialising-content-blocker-container .spinner:before {
      content: "";
      width: 42px;
      height: 42px;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border: 4px solid rgba(7, 30, 131, 0.2);
      border-top: 4px solid #071e83;
      border-radius: 50%;
      -webkit-transition: all .2s ease 0s;
      transition: all .2s ease 0s;
      -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
              animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
      z-index: 1; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
    .AJAXBlock .spinner + .cms-content-container, .initialising-content-blocker-container .spinner + .cms-content-container {
      margin: 10px 0 0; }
  .AJAXBlock .cms-content-container p, .initialising-content-blocker-container .cms-content-container p {
    color: #333333;
    font-weight: 600; }

[data-update-content], [data-ajax-update-breadcrumbs] {
  display: none; }

/*
----- Filters ------ 
- These a typically on list pages for products.
- Attribute filters that also include colour filters and price slider.
- You will also find the mobile styles here for filters.
*/
#mobileToggleContainer {
  width: 100%; }
  #mobileToggleContainer ul {
    padding: 0;
    margin: 0;
    list-style: none; }

#filters-toggle, .filter-toggle {
  width: 100%;
  position: relative;
  display: block;
  padding: 20px 0;
  background-color: #8f95a5;
  text-align: center;
  color: #071e83;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  cursor: pointer;
  border-radius: 10px;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media screen and (min-width: 81.25em) {
    #filters-toggle, .filter-toggle {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      background-color: transparent;
      color: var(--primary-colour-lightness-0);
      font-size: 0.875rem;
      font-weight: 500; }
      #filters-toggle:hover, .filter-toggle:hover {
        color: #fb6f21;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  #filters-toggle:not(.is-stuck), .filter-toggle:not(.is-stuck) {
    top: auto !important; }
  #filters-toggle.is-stuck, .filter-toggle.is-stuck {
    max-width: 100% !important;
    position: fixed;
    left: 0;
    padding: 10px 0;
    background-color: #071e83;
    color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: max-height 4s;
    transition: max-height 4s;
    z-index: 1000; }
    #filters-toggle.is-stuck:before, .filter-toggle.is-stuck:before {
      color: #ffffff; }
  #filters-toggle:before, .filter-toggle:before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #071e83; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle:before, .filter-toggle:before {
        font-size: 15px; } }
  #filters-toggle:hover, .filter-toggle:hover {
    opacity: 1; }
  #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
    margin-right: 3px; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
        width: 15px;
        height: 15px;
        position: absolute;
        top: 12px;
        left: 12px;
        display: inline-block;
        margin-right: 0;
        background-color: #fb6f21;
        color: #ffffff;
        font-size: 0.5625rem;
        line-height: 14.2px;
        text-align: center;
        border-radius: 25px;
        border: 0.8px solid #ffffff; } }

.filters-header {
  position: relative;
  background-color: #8f95a5;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .filters-header {
      background-color: transparent; } }
  .filters-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .filters-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: rgba(7, 30, 131, 0.8);
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .filters-header .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .filters-header .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

@media screen and (min-width: 81.25em) {
  .filters-footer {
    display: none; } }

.filters-footer .button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .filters-footer .button-container button {
    width: 100%;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .filters-footer .button-container button {
        width: auto; } }

#filterBackToList {
  position: relative; }
  #filterBackToList .close-button {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
    display: block;
    padding: 10px 0;
    background-color: rgba(7, 30, 131, 0.4);
    color: #000000;
    font-size: 1.125rem;
    text-align: center;
    line-height: inherit; }

.attributeList.menu > ul > li:not(.active) .attributesContainer {
  height: 0; }

.attributeList.menu > li {
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    .attributeList.menu > li {
      margin: 0 0 25px; } }
  .attributeList.menu > li:first-child {
    padding-top: 15px; }
  .attributeList.menu > li li {
    border-bottom: 0; }

.attributeList.menu ul {
  list-style: none;
  border-top: 0; }
  .attributeList.menu ul:first-child {
    margin: 0;
    padding: 0; }
  .attributeList.menu ul li {
    padding: 5px 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .attributeList.menu ul li:hover {
        background-color: #f0f0f0;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .attributeList.menu ul li.active a {
    padding: 0;
    background-color: transparent;
    color: #000000;
    font-size: 1rem; }
  .attributeList.menu ul li.active ul {
    max-height: 5000px;
    margin: 0;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .attributeList.menu ul ul {
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .attributeList.menu ul ul li {
      position: relative; }
      .attributeList.menu ul ul li:hover .filterName, .attributeList.menu ul ul li:hover .filterItemCount {
        text-decoration: underline;
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .attributeList.menu ul ul li:hover .colourPreview {
        max-width: 12px;
        height: 12px;
        border-radius: 5px;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
  .attributeList.menu ul label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #fb6f21; }
    .attributeList.menu ul label:active {
      color: #000000; }
  .attributeList.menu ul .filterName {
    overflow-wrap: break-word; }
  .attributeList.menu ul .colour-preview-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .attributeList.menu ul .colourPreview {
    width: 10px;
    height: 10px;
    display: block;
    margin: 0 10px 0 auto;
    border-radius: 5px;
    border: 1px solid transparent;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  .attributeList.menu ul .filterItemCount {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 5px;
    font-size: 1rem;
    text-align: right; }
  .attributeList.menu ul .control .checkbox {
    margin-right: 12px;
    margin-left: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .attributeList.menu ul .control .checkbox span:before {
      right: 0; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item[aria-expanded=true] > a {
  display: none; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item.active {
  padding: 0; }

.attributeList.menu .is-accordion-submenu[aria-hidden=true] {
  height: 0;
  -webkit-transition: height 0.8s;
  transition: height 0.8s; }

.attributeList.menu .is-accordion-submenu.scroller {
  overflow-y: auto;
  padding: 0 10px 0 0; }
  .attributeList.menu .is-accordion-submenu.scroller ul {
    display: block !important; }

.attributeList.menu .optionHeading {
  position: relative;
  padding: 0;
  display: block;
  padding-bottom: 10px;
  color: #071e83;
  cursor: pointer;
  font-size: 1.0625rem;
  font-weight: 500; }
  .attributeList.menu .optionHeading:hover {
    color: #fb6f21; }
  .attributeList.menu .optionHeading:active {
    color: #000000; }
  .attributeList.menu .optionHeading span {
    display: inline-block; }

.attributeList.menu .submenu {
  padding: 0; }

.attributeList.menu .showMoreAttributes > a, .attributeList.menu .showLessAttributes > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  color: #000000;
  font-weight: 600;
  font-style: italic; }
  .attributeList.menu .showMoreAttributes > a:hover, .attributeList.menu .showLessAttributes > a:hover {
    color: #071e83; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #183ad3; }

.showMoreAttributes.active a {
  font-size: 1rem;
  color: #071e83;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.accordion-menu .is-accordion-submenu .showLessAttributes a {
  padding: 0; }

.showLessAttributes a {
  color: #000000;
  cursor: pointer; }
  .showLessAttributes a:before {
    content: "";
    color: #fb6f21;
    font-size: 8px;
    font-family: "fontello-winterstoke";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #071e83; }
    .showLessAttributes a:hover:before {
      color: #071e83;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #183ad3; }
    .showLessAttributes a:active:before {
      color: #183ad3;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#filters-container {
  display: block; }

#attribute-filters-form {
  width: 0;
  height: 0;
  overflow: hidden;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #attribute-filters-form {
      width: auto;
      height: auto;
      background-color: transparent;
      overflow: visible; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active {
      overflow-y: scroll; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active-updating {
      overflow: hidden; }
      #attribute-filters-form.active-updating #filters-container {
        opacity: 0.3; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active, #attribute-filters-form.active-updating {
      width: 100vw;
      min-height: 100%;
      padding: 10px;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10000; }
      #attribute-filters-form.active .attribute-list-container, #attribute-filters-form.active-updating .attribute-list-container {
        height: 100vh;
        overflow: scroll; } }
  #attribute-filters-form h2 {
    padding: 10px 5px;
    color: #071e83;
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #attribute-filters-form h2 {
        padding: 0 0 5px;
        border-color: #aeaeae; } }
  #attribute-filters-form ul li {
    margin-left: 0; }
    #attribute-filters-form ul li:active, #attribute-filters-form ul li:hover {
      background-color: transparent; }
    #attribute-filters-form ul li:active a {
      color: #333333; }
  #attribute-filters-form .showMoreAttributesContainer {
    padding-left: 0; }
    #attribute-filters-form .showMoreAttributesContainer li {
      padding-left: 0; }

@media screen and (min-width: 81.25em) {
  #appliedFilters {
    margin-bottom: 35px; } }

#appliedFilters h3 {
  margin: 0;
  padding: 10px 0;
  color: #071e83;
  background-color: transparent;
  font-weight: 700;
  font-size: 1.0625rem;
  font-style: italic; }

#appliedFilters ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #aeaeae; }

#appliedFilters li {
  position: relative;
  margin: 5px 0 0; }
  #appliedFilters li:hover a {
    background-color: #f0f0f0;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    #appliedFilters li:hover a:after {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 1rem;
  font-weight: 400; }
  #appliedFilters a:after {
    content: 'x';
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    display: block;
    margin: auto;
    line-height: 0.6;
    color: #959595;
    font-weight: 700;
    font-style: normal;
    font-size: 1.125rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.25rem;
    color: #fb6f21;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 1rem;
    font-style: italic;
    font-weight: 600;
    color: #000000; }

input.price-slider-input {
  border-radius: 0 10px 10px 0; }

.price-slider-input {
  max-width: 70px;
  max-height: 35px;
  padding: 0 !important;
  border-width: 1px 1px 1px 0 !important;
  pointer-events: none; }
  .price-slider-input.ui-state-active {
    border-color: #fb6f21;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #fb6f21;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input + .currency {
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 10px;
    background-color: #ffffff;
    border-color: #d0d0d0;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    border-radius: 10px 0 0 10px; }
  .price-slider-input:focus + .currency {
    border-color: transparent;
    -webkit-box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .price-slider-input:-moz-read-only {
    background-color: transparent; }
  .price-slider-input:read-only {
    background-color: transparent; }

.price-input-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .price-input-container:nth-of-type(2) {
    float: right; }

#price-slider {
  max-width: 96%;
  margin-top: 25px; }
  @media screen and (min-width: 81.25em) {
    #price-slider {
      max-width: 93%; } }

#priceAttHigh {
  float: right; }

/*
----- Modals ------ 
- This is the mechanism that gets used for popup content in express.
- Can be used to pop form, cms content, notification & payment frames.
*/
.modal-container {
  width: 0;
  height: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .modal-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container .popup-background {
    display: none; }
  .modal-container .content-container {
    max-width: 1150px;
    width: 100%;
    max-height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    overflow-y: auto;
    border-radius: 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content-container {
        overflow: hidden; } }
  .modal-container .content {
    width: 100%;
    margin: auto;
    padding-right: 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content {
        margin-bottom: 10px;
        overflow-y: auto; } }
  .modal-container .buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .modal-container .buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly; } }
  .modal-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .modal-container .page-buttons-container {
    margin: 15px auto 30px; }
  .modal-container.active {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    overflow-y: auto;
    z-index: 2001; }
    .modal-container.active .popup-background {
      display: block; }
  .modal-container.ajax .content-container {
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.ajax .content-container {
        padding: 10px; } }
  .modal-container.dropped-session .content-container {
    max-width: calc(var(--contained-content-max-width) + 100px); }
  .modal-container.cms-entry-viewer .cms-content-container {
    max-width: 850px;
    padding-top: 15px;
    padding-bottom: 15px;
    border: 1px solid #aeaeae; }
  .modal-container.site-list.publish-history .content {
    width: 90%; }
  .modal-container.site-list.site-information .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.documentation {
    --ck-color-base-border: $colour3; }
    .modal-container.documentation.entry-editor .content-container {
      max-width: 98%;
      height: 100%;
      overflow: unset; }
    .modal-container.documentation.entry-editor .documentation-content-container {
      max-width: unset; }
    @media screen and (min-width: 81.25em) {
      .modal-container.documentation.entry-editor .modal-header:has(.cms-content-container) ~ .content {
        width: calc(100% - 60px); } }
    .modal-container.documentation.entry-editor .content {
      width: 100%;
      height: 100%;
      margin-top: 0;
      padding-right: 0;
      overflow: unset; }
    .modal-container.documentation.entry-editor .ck-editor__main > div {
      height: var(--editor-height); }
    .modal-container.documentation.insert-article .ck-editor .ck-content, .modal-container.documentation.insert .ck-editor .ck-content, .modal-container.documentation.property-editor .ck-editor .ck-content {
      height: 30vh; }
    .modal-container.documentation .rich-text-editor-container {
      width: 100%;
      border: 1px solid #eeeeee; }
  .modal-container.media-browser .media-browser-container {
    margin: 0 10px;
    padding: 10px;
    border: 1px solid #d0d0d0; }
  .modal-container.software-download .software-instructions-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px; }
    .modal-container.software-download .software-instructions-container .revision-text {
      margin: 10px 0 0 auto;
      font-size: 0.8125rem;
      font-style: italic; }
    .modal-container.software-download .software-instructions-container .cms-content-container {
      max-height: 40vh;
      overflow-y: scroll; }
      .modal-container.software-download .software-instructions-container .cms-content-container p, .modal-container.software-download .software-instructions-container .cms-content-container li {
        margin-left: 0 !important; }
  .modal-container.software-download .software-update-available-downloads {
    margin: 20px 0; }
    .modal-container.software-download .software-update-available-downloads ul {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px 20px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .modal-container.software-download .software-update-available-downloads ul {
          grid-template-columns: 1fr 1fr; } }
      .modal-container.software-download .software-update-available-downloads ul .software-download-button {
        width: 100%;
        display: grid;
        grid-template-columns: 60px 1fr 30px;
        gap: 20px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 20px;
        border: 1px solid #eeeeee;
        border-radius: 10px;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .modal-container.software-download .software-update-available-downloads ul .software-download-button {
            padding: 20px 10px; } }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover {
          background-color: #071e83;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:before, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:after, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-label, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-content-container, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .data-time-container {
            color: #ffffff;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:before {
          content: "";
          color: #663399;
          font-family: "fontello";
          font-size: 30px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:after {
          content: "";
          color: #663399;
          font-family: "Font Awesome Solid";
          font-size: 22px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button span {
          grid-column: 2; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-label {
          margin: 0 0 10px;
          color: #663399;
          font-family: "Geologica", "Geologica Fallback", "Arial";
          font-weight: 600;
          font-size: 1.125rem;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-content-container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          text-align: left;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container {
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container:before {
            content: "";
            margin-right: 5px;
            font-family: "Font Awesome Regular";
            font-size: 15px; }
  @media screen and (min-width: 81.25em) {
    .modal-container.payment, .modal-container.add-new-card {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container.payment .cms-content-container, .modal-container.add-new-card .cms-content-container {
    text-align: center; }
  .modal-container.payment .content-container, .modal-container.add-new-card .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    overflow-y: auto; }
  .modal-container.payment .content, .modal-container.add-new-card .content {
    margin-bottom: 0; }
    .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
      margin-top: 15px;
      margin-bottom: 15px; }
      @media screen and (min-width: 81.25em) {
        .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
          margin: 30px 30px; } }
  .modal-container.payment iframe, .modal-container.add-new-card iframe {
    max-width: 100%;
    width: 630px;
    height: 620px;
    display: block;
    margin: 0 auto 40px;
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    -webkit-transition: border 0.8s;
    transition: border 0.8s; }
    .modal-container.payment iframe:hover, .modal-container.add-new-card iframe:hover {
      border-color: #fb6f21;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .modal-container.enquiry-form .content-container {
    max-width: 900px; }
    .modal-container.enquiry-form .content-container form {
      width: 100%;
      margin: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .modal-container.enquiry-form .content-container form {
          max-width: 80%;
          margin: 10px auto 0; } }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    padding: 5px 5px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
        padding: 10px 10px 50px; } }
  .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
    overflow-y: auto; }
    @media print, screen and (max-width: 81.24875em) {
      .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid var(--neutral-colour-lightness-9);
        border-radius: 10px;
        -webkit-box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1);
                box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1); } }
  .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
    --common-button-small-margin: auto;
    --common-button-medium-margin: var(--common-button-small-margin); }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
        margin-bottom: 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher #branch-switcher-container, .modal-container.branch-switcher #account-switcher-container, .modal-container.account-switcher #branch-switcher-container, .modal-container.account-switcher #account-switcher-container {
      padding: 0 80px 0; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher .current-branch-details, .modal-container.branch-switcher .branch-switcher, .modal-container.branch-switcher .current-account-details, .modal-container.branch-switcher .account-switcher, .modal-container.account-switcher .current-branch-details, .modal-container.account-switcher .branch-switcher, .modal-container.account-switcher .current-account-details, .modal-container.account-switcher .account-switcher {
      margin-bottom: 25px; } }
  .modal-container.branch-switcher .current-branch-details h3, .modal-container.branch-switcher .branch-switcher h3, .modal-container.branch-switcher .current-account-details h3, .modal-container.branch-switcher .account-switcher h3, .modal-container.account-switcher .current-branch-details h3, .modal-container.account-switcher .branch-switcher h3, .modal-container.account-switcher .current-account-details h3, .modal-container.account-switcher .account-switcher h3 {
    font-size: 1.375rem; }
  .modal-container.branch-switcher .current-branch-details .address-line, .modal-container.branch-switcher .current-account-details .address-line, .modal-container.account-switcher .current-branch-details .address-line, .modal-container.account-switcher .current-account-details .address-line {
    padding: 2px 0;
    font-size: 0.875rem; }
  .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
    display: inline-block;
    padding-right: 5px;
    color: #071e83;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
        width: 120px; } }
  .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
        width: calc(100% - 120px); } }
  .modal-container.form .content-container {
    max-width: 900px;
    width: 100%;
    padding: 10px;
    margin: auto; }
    .modal-container.form .content-container form {
      max-height: 90vh;
      width: 100%;
      margin: auto;
      overflow-y: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.form .content-container form {
          max-width: 80%;
          margin: 20px auto 30px; } }
  .modal-container.form .cms-content-container {
    margin: 10px 0 0; }
  .modal-container.table .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    max-width: 1150px;
    width: 100%; }
  .modal-container.manage-user-branch-selecter .modal-header h3 {
    margin: 0 0 15px;
    font-size: 1.375rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .modal-header h3 {
        margin: 0 0 35px; } }
  .modal-container.manage-user-branch-selecter .content-container {
    max-width: 1150px;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    z-index: 150; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .content-container {
        max-height: 730px; } }
  .modal-container.manage-user-branch-selecter #users-branch-search-container {
    max-width: 620px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 auto 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter #users-branch-search-container {
        margin: 0 auto 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.manage-user-branch-selecter .select-branches-container {
      max-width: 850px;
      width: 100%;
      max-height: 300px;
      margin: 0 auto 20px;
      overflow-y: auto; } }
  .modal-container.manage-user-branch-selecter .table-footer-spacer {
    max-width: 850px;
    margin: auto; }
  .modal-container.manage-user-branch-selecter .branch-search {
    width: 90%;
    height: 50px;
    margin: 0; }
  .modal-container.manage-user-branch-selecter .control.checkbox {
    margin: 0; }
  .modal-container.manage-user-branch-selecter td {
    vertical-align: middle; }
  .modal-container.quick-order-search-results .modal-header .cms-content-container {
    max-width: 850px;
    width: 100%;
    margin: 20px auto;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.quick-order-search-results [inject-container] {
    padding: 5px 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results [inject-container] {
        padding: 0; } }
  .modal-container.quick-order-search-results .content {
    max-width: 850px;
    width: 100%;
    max-height: 465px; }
  .modal-container.scanner .modal-header .cms-content-container {
    max-width: 640px;
    width: 100%;
    margin: 20px auto;
    padding: 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.scanner .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.scanner .content {
    max-width: 690px;
    width: 100%; }
  .modal-container.call-form .content {
    max-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .modal-container.call-form .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.call-form .content-container {
        max-width: 1150px;
        width: 100%;
        overflow: hidden;
        padding: 10px; } }
    .modal-container.call-form .content-container form {
      max-width: 95%;
      width: 100%;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.call-form .content-container form {
          max-width: 850px; } }
  .modal-container.video-player .modal-header .cms-content-container {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
    text-align: center; }
  .modal-container.video-player .content-container {
    max-width: 95vw; }
    .modal-container.video-player .content-container [inject-container] {
      aspect-ratio: 16 / 9; }
      .modal-container.video-player .content-container [inject-container] iframe {
        width: 100%;
        height: 100%; }
  .modal-container .modal-header .modal-heading {
    margin: 0 0 5px;
    padding: 5px 44px;
    background-color: #071e83;
    border-radius: 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .modal-heading {
        padding: 16px 44px; } }
  .modal-container .modal-header h2 {
    margin: 0;
    padding: 0;
    color: #ffffff;
    text-align: center;
    font-size: 1.5625rem;
    font-weight: 700; }
  .modal-container .modal-header p {
    font-size: 1.0625rem; }
  .modal-container .modal-header .cms-content-container {
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .cms-content-container {
        margin: 30px 30px; } }
    .modal-container .modal-header .cms-content-container.disabled-no-content, .modal-container .modal-header .cms-content-container:empty {
      display: none; }
  .modal-container .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 12.5px;
    right: 20px; }
    .modal-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container .close-button:hover:before {
      color: contract-checker(#fb6f21, #071e83);
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .modal-container .close-button {
        top: 16px; } }
  .modal-container.confirmation .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 26.66667px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .content-container {
        padding: 80px; } }
  .modal-container.confirmation .content {
    width: 100%;
    margin: 0; }
  .modal-container.confirmation:not(.ajax) .content {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation:not(.ajax) .content {
        margin: 0 auto 50px; } }
    .modal-container.confirmation:not(.ajax) .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation:not(.ajax) .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation:not(.ajax) .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .message {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .message {
        margin: 0 auto 50px; } }
    .modal-container.confirmation .message p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation .message p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation .message p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.confirmation .prompt-cancel-button:hover, .modal-container.confirmation .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #d0d0d0;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.confirmation .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.confirmation .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.confirmation .prompt-cancel-button:active, .modal-container.confirmation .prompt-cancel-button.active {
      color: #ffffff;
      background-color: #071e83;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.confirmation .prompt-cancel-button:disabled, .modal-container.confirmation .prompt-cancel-button.disabled, .modal-container.confirmation .prompt-cancel-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.confirmation .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.confirmation .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.confirmation .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .modal-container.confirmation .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .modal-container.alert:not(.ajax) .content {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 10px; }
    .modal-container.alert:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert:not(.ajax) .content:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content h1, .modal-container.alert:not(.ajax) .content h2, .modal-container.alert:not(.ajax) .content h3, .modal-container.alert:not(.ajax) .content h4, .modal-container.alert:not(.ajax) .content h5, .modal-container.alert:not(.ajax) .content h6, .modal-container.alert:not(.ajax) .content p, .modal-container.alert:not(.ajax) .content a {
      color: #b20c0c; }
  .modal-container.alert .message {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 10px; }
    .modal-container.alert .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert .message:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert .message > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert .message h1, .modal-container.alert .message h2, .modal-container.alert .message h3, .modal-container.alert .message h4, .modal-container.alert .message h5, .modal-container.alert .message h6, .modal-container.alert .message p, .modal-container.alert .message a {
      color: #b20c0c; }
  .modal-container.alert .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.alert .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.alert .prompt-proceed-button:hover, .modal-container.alert .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.alert .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.alert .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.alert .prompt-proceed-button:active, .modal-container.alert .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.alert .prompt-proceed-button:disabled, .modal-container.alert .prompt-proceed-button.disabled, .modal-container.alert .prompt-proceed-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.alert .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.alert .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.warning:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .modal-container.warning:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content h1, .modal-container.warning:not(.ajax) .content h2, .modal-container.warning:not(.ajax) .content h3, .modal-container.warning:not(.ajax) .content h4, .modal-container.warning:not(.ajax) .content h5, .modal-container.warning:not(.ajax) .content h6, .modal-container.warning:not(.ajax) .content p, .modal-container.warning:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.warning .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .modal-container.warning .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning .message h1, .modal-container.warning .message h2, .modal-container.warning .message h3, .modal-container.warning .message h4, .modal-container.warning .message h5, .modal-container.warning .message h6, .modal-container.warning .message p, .modal-container.warning .message a {
      color: #ff5e05; }
  .modal-container.warning .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.warning .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.warning .prompt-proceed-button:hover, .modal-container.warning .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.warning .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.warning .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.warning .prompt-proceed-button:active, .modal-container.warning .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.warning .prompt-proceed-button:disabled, .modal-container.warning .prompt-proceed-button.disabled, .modal-container.warning .prompt-proceed-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.warning .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.warning .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.action-required:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .modal-container.action-required:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content h1, .modal-container.action-required:not(.ajax) .content h2, .modal-container.action-required:not(.ajax) .content h3, .modal-container.action-required:not(.ajax) .content h4, .modal-container.action-required:not(.ajax) .content h5, .modal-container.action-required:not(.ajax) .content h6, .modal-container.action-required:not(.ajax) .content p, .modal-container.action-required:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.action-required .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .modal-container.action-required .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required .message h1, .modal-container.action-required .message h2, .modal-container.action-required .message h3, .modal-container.action-required .message h4, .modal-container.action-required .message h5, .modal-container.action-required .message h6, .modal-container.action-required .message p, .modal-container.action-required .message a {
      color: #ff5e05; }
  .modal-container.action-required .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.action-required .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.action-required .prompt-proceed-button:hover, .modal-container.action-required .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.action-required .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.action-required .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.action-required .prompt-proceed-button:active, .modal-container.action-required .prompt-proceed-button.active {
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.action-required .prompt-proceed-button:disabled, .modal-container.action-required .prompt-proceed-button.disabled, .modal-container.action-required .prompt-proceed-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.action-required .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.action-required .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.success:not(.ajax) .content {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 10px; }
    .modal-container.success:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success:not(.ajax) .content:has(.content-container):before {
      color: #12811f; }
    .modal-container.success:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success:not(.ajax) .content h1, .modal-container.success:not(.ajax) .content h2, .modal-container.success:not(.ajax) .content h3, .modal-container.success:not(.ajax) .content h4, .modal-container.success:not(.ajax) .content h5, .modal-container.success:not(.ajax) .content h6, .modal-container.success:not(.ajax) .content p, .modal-container.success:not(.ajax) .content a {
      color: #12811f; }
  .modal-container.success .message {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 10px; }
    .modal-container.success .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success .message:has(.content-container):before {
      color: #12811f; }
    .modal-container.success .message > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success .message h1, .modal-container.success .message h2, .modal-container.success .message h3, .modal-container.success .message h4, .modal-container.success .message h5, .modal-container.success .message h6, .modal-container.success .message p, .modal-container.success .message a {
      color: #12811f; }
  .modal-container.success .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.success .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.success .prompt-proceed-button:hover, .modal-container.success .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.success .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.success .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.success .prompt-proceed-button:active, .modal-container.success .prompt-proceed-button.active {
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.success .prompt-proceed-button:disabled, .modal-container.success .prompt-proceed-button.disabled, .modal-container.success .prompt-proceed-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.success .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.success .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .content-container {
    padding: 20px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content-container {
        padding: 115px 135px; } }
    .modal-container.demo .content-container h2 {
      margin-bottom: 25px;
      color: #ff0101;
      font-size: 1.625rem;
      font-weight: 600;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container h2 {
          margin-bottom: 35px; } }
    .modal-container.demo .content-container h3 {
      margin-bottom: 25px;
      color: #071e83;
      font-size: 1.375rem;
      font-weight: 700; }
    .modal-container.demo .content-container p {
      margin-bottom: 20px;
      padding: 0;
      font-size: 1.125rem;
      font-weight: 300; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container p {
          padding: 0 50px; } }
    .modal-container.demo .content-container strong {
      color: #000000; }
  .modal-container.demo .content {
    width: 100%;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content {
        max-width: 885px; } }
  .modal-container.demo .modal-logo {
    width: 135px;
    height: 135px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 10px; }
  .modal-container.demo .image-slot-1 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .modal-container.demo .image-slot-1:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 70px;
      color: #071e83; }
  .modal-container.demo .image-slot-2 {
    position: absolute; }
    .modal-container.demo .image-slot-2:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 135px;
      color: #ff0101; }
  .modal-container.demo .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-cancel-button:hover, .modal-container.demo .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-cancel-button:active, .modal-container.demo .prompt-cancel-button.active {
      background-color: #d2def9;
      border-color: #d2def9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-cancel-button:disabled, .modal-container.demo .prompt-cancel-button.disabled, .modal-container.demo .prompt-cancel-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.demo .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.demo .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-proceed-button:hover, .modal-container.demo .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #d0d0d0;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-proceed-button:active, .modal-container.demo .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #071e83;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-proceed-button:disabled, .modal-container.demo .prompt-proceed-button.disabled, .modal-container.demo .prompt-proceed-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .modal-container.demo .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .modal-container.demo .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.modal-information-container {
  width: 100%;
  margin: auto;
  border: 1px solid #d0d0d0; }
  @media screen and (min-width: 81.25em) {
    .modal-information-container {
      margin: 20px auto 30px; } }
  .modal-information-container .information-section {
    min-width: 80vw;
    width: 100%;
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-section {
        min-width: unset;
        width: 640px;
        padding: 0 0 20px; } }
    .modal-information-container .information-section h2 {
      width: 100%;
      display: block;
      padding: 15px 0;
      margin: 0 0 10px;
      color: #071e83;
      background-color: #d0d0d0b3;
      font-weight: 400;
      font-size: 1rem;
      text-align: center; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-option {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 10px 0;
        padding: 0 20px; } }
    .modal-information-container .information-option .label {
      width: 100%;
      font-size: 1rem;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        .modal-information-container .information-option .label {
          width: 200px; } }

.inject-content {
  display: none; }

[inject-container] {
  width: 100%;
  max-height: 100%;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative; }
  [inject-container]:has(div.AJAXBlock) {
    min-width: 320px; }
    @media screen and (min-width: 81.25em) {
      [inject-container]:has(div.AJAXBlock) {
        min-width: 640px; } }
  [inject-container] .modal-header .close-button {
    right: 30px; }

.inject-button {
  color: #071e83;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .inject-button:active {
    color: #959595; }
  .inject-button.form {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 10px;
    background-color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .inject-button.form {
        margin: 0 50px 0 auto; } }
    .inject-button.form:after {
      content: "";
      font-family: "fontello-winterstoke";
      font-size: 6px;
      margin-left: 5px; }

/*
----- Modules -----
These can be used anywhere on the site header, main content & footer, these have a hard dependancy on foundation XY grid system for their positioning.
Handles the following: 
- Product / Image collections
  - Grid view
  - Slideshow view
- Varous CMS types:
  - Blog
  - News
  - Events
  - Generic CMS entries 
- EBG Information
- Backgrounds ( Currently only support just colours not images ): 
  - Row Backgrounds 
  - Module Backgrounds
*/
.row-background {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center; }
  @media print, screen and (max-width: 81.24875em) {
    .row-background {
      padding-top: 0;
      padding-bottom: 0; } }
  .row-background.container-padding {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding {
        padding-top: 45px;
        padding-bottom: 45px; } }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding .module-heading {
        margin-top: -45px; } }
  .row-background .module-heading {
    border: 0px solid transparent; }
    .row-background .module-heading + .cms-module .content-container {
      padding-top: 0; }

.module-heading + .cms-module.news-module {
  margin-top: 0; }
  .module-heading + .cms-module.news-module .content-container {
    margin: 0;
    padding: 0 0 20px; }

.grid-container .module-background {
  border-radius: 10px; }

.row-background {
  border-radius: 0; }

.module-background {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-position: center; }
  @media screen and (min-width: 81.25em) {
    .module-background.module-padding {
      padding-top: 30px;
      padding-bottom: 30px; } }
  .module-background.module-padding .module-heading {
    border: 2px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .module-heading {
        margin-top: -30px; } }
  .module-background.module-padding .content-banner {
    width: 100%;
    margin-right: 6.5%; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .content-banner {
        height: 375px; } }
    .module-background.module-padding .content-banner img {
      max-height: 100%; }
  .module-background.remove-margin-top {
    margin-top: 0; }
  .module-background.remove-margin-bottom {
    margin-bottom: 0; }
  .module-background.remove-margin-both {
    margin-top: 0;
    margin-bottom: 0; }

.collection {
  --media-aspect-ratio: 1/1;
  width: 100%; }
  .collection.show-colours .collection-item .image {
    padding: 3px; }
  .collection.collection-remove-gutter {
    --module-gutter: 0; }
  .collection.collection-small-gutter {
    --module-gutter: 10px; }
  .collection.collection-medium-gutter {
    --module-gutter: 19.23077px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-medium-gutter {
        --module-gutter: 25px; } }
  .collection.collection-large-gutter {
    --module-gutter: 38.46154px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-large-gutter {
        --module-gutter: 50px; } }
  .collection.image-grid-module, .collection.image-slideshow-module {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .collection .collection-item.ebg {
    --media-aspect-ratio: 1/1; }
  .collection .grid-margin-x > .collection-item.cell {
    width: auto; }
  .collection .grid-x {
    display: grid; }
  .collection .small-up-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .collection .small-up-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection .small-up-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection .small-up-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .collection .small-up-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .collection .small-up-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collection .small-up-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .collection .small-up-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)); }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  .collection .small-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
    max-width: 1280px;
    max-height: 1280px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
      max-width: 1300px;
      max-height: 1300px; } }
  .collection .small-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
    max-width: 630px;
    max-height: 630px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
      max-width: 644px;
      max-height: 644px; } }
  .collection .small-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
    max-width: 418px;
    max-height: 418px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
      max-width: 424px;
      max-height: 424px; } }
  .collection .small-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
    max-width: 312px;
    max-height: 312px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
      max-width: 316px;
      max-height: 316px; } }
  .collection .small-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
    max-width: 249px;
    max-height: 249px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
      max-width: 250px;
      max-height: 250px; } }
  .collection .small-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
    max-width: 205px;
    max-height: 205px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
      max-width: 207px;
      max-height: 207px; } }
  .collection .small-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
    max-width: 175px;
    max-height: 175px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
      max-width: 175px;
      max-height: 175px; } }
  .collection .small-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
    max-width: 153px;
    max-height: 153px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
      max-width: 152px;
      max-height: 152px; } }
  .collection.show-colours .collection-item.ebg .content-container {
    background-color: #071e83;
    border: 1px solid transparent;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container.compact .description, .collection.show-colours .collection-item.ebg .content-container:not(.compact) .description {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container:hover {
      background-color: #ffffff;
      border-color: #071e83;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .collection.show-colours .collection-item.ebg .content-container:hover.compact .description, .collection.show-colours .collection-item.ebg .content-container:hover:not(.compact) .description {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .collection .content-container .image, .collection .content-container.image {
    border-radius: 10px;
    /* Setting this generically for the following reasons:
            1. If collection-cell-border-radius is enabled
            2. If image scale is enabled.
            */
    overflow: hidden;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .collection .content-container:hover .image, .collection .content-container:hover.image {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  @media print, screen and (max-width: 39.99875em) {
    .collection [bx-column-count="4"] .content-container .quantity-container {
      -ms-flex-pack: distribute;
          justify-content: space-around; }
    .collection [bx-column-count="4"] .quantity-free-text-container {
      width: 100%; } }

.image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 50px); } }
  @media screen and (min-width: 81.25em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 50px); } }
  .image-grid-module .grid-collection-x .collection-item.cell, .product-grid-module .grid-collection-x .collection-item.cell, .collection .grid-collection-x .collection-item.cell {
    width: unset; }

.product-grid-module .cell {
  padding-left: 0.3125rem;
  padding-right: 0.3125rem;
  margin-bottom: 20px; }

.product-grid-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .not-logged-in-container, .product-grid-module.multimedia-right .content-container .stockline-view-button, .product-grid-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

.product-grid-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  .product-grid-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  .product-grid-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .description, .product-grid-module.multimedia-right .collection-item .content-container .code, .product-grid-module.multimedia-right .collection-item .content-container .prices, .product-grid-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

.product-grid-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-left .collection-item.ebg .price {
  display: none; }

.product-grid-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .product-grid-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-left .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .description {
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-left .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

.product-grid-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.product-grid-module.multimedia-bottom .image {
  margin: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .not-logged-in-container, .product-grid-module.minified-layout .content-container .stockline-view-button, .product-grid-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

.product-grid-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

.product-grid-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

.product-grid-module.minified-layout .image {
  width: 110px;
  margin: 0; }

.product-grid-module.minified-layout .description, .product-grid-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

.product-grid-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .product-grid-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

.product-grid-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .product-grid-module [data-content-container]:has(.read-more) {
    height: 300px; }
  .product-grid-module [data-content-container] a {
    max-height: 100%; }
  .product-grid-module [data-content-container] p {
    margin: 0;
    padding: 0; }

.product-grid-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

.product-grid-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

.product-grid-module .collection-item.ebg:active .description {
  background-color: transparent; }

.product-grid-module .collection-item.ebg .content-container {
  padding: 18px 0;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .collection-item.ebg .content-container {
      padding: 18px 0; } }

.product-grid-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 1.125rem;
  background-color: transparent;
  text-transform: uppercase;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .product-grid-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 20px; }

.product-grid-module .collection-item.ebg .content-container:hover {
  -webkit-box-shadow: unset;
          box-shadow: unset; }

.product-grid-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 10px;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .content-container {
      width: 100%; } }
  .product-grid-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  .product-grid-module .content-container .description {
    padding: 10px 0; }
  .product-grid-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  .product-grid-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  .product-grid-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    .product-grid-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    .product-grid-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    .product-grid-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  .product-grid-module .content-container .prices + .not-logged-in-container, .product-grid-module .content-container .prices + .stockline-view-button, .product-grid-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  .product-grid-module .content-container .not-logged-in-container, .product-grid-module .content-container .stockline-view-button, .product-grid-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  .product-grid-module .content-container.minified .image {
    width: 110px; }
  .product-grid-module .content-container:hover .description, .product-grid-module .content-container:hover .read-more {
    color: #fb6f21;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #d0d0d0b3; }
  .product-grid-module .content-container.image {
    background-color: transparent; }
  .product-grid-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    .product-grid-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    .product-grid-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    .product-grid-module .content-container.product .description {
      padding: 15px 10px; }
      .product-grid-module .content-container.product .description:is(:empty) {
        padding: 0; }
  .product-grid-module .content-container:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.product-grid-module .collection-image-container {
  width: 100%; }

.product-grid-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .image {
      margin: auto; } }
  .product-grid-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

.product-grid-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  .product-grid-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  .product-grid-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

.product-grid-module .department-description {
  color: var(--primary-colour-lightness-0, #071e83);
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.product-grid-module .group-description {
  color: #071e83;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3; }
  .product-grid-module .group-description:hover {
    color: #fb6f21;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #d0d0d0b3; }

.product-grid-module .description {
  color: #333333;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .description p {
    margin: 0;
    padding: 0; }

.product-grid-module .read-more {
  color: #333333; }

.product-grid-module .specification p {
  margin: 0;
  padding: 0; }

.product-grid-module .code {
  color: #333333;
  font-size: 1rem; }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.product-grid-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem; }
  .product-grid-module .prices p {
    margin: 0;
    font-weight: 500; }
  .product-grid-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    .product-grid-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .product-grid-module .prices .price-container .label {
      color: #000000;
      font-weight: 500; }
      .product-grid-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .product-grid-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .product-grid-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .product-grid-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 500; }
      @media screen and (min-width: 81.25em) {
        .product-grid-module .prices .price-container .value {
          text-align: right; } }
    .product-grid-module .prices .price-container.saving .label, .product-grid-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    .product-grid-module .prices .price-container.rrp .label, .product-grid-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 0.9375rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .product-grid-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.product-grid-module .price-container .value {
  font-size: 0.9375rem; }

.product-grid-module .price-container .label, .product-grid-module .price-container .value {
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

.product-grid-module .price {
  margin: 0; }
  .product-grid-module .price .currency {
    font-size: 1.625rem; }

.product-grid-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #333333;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

.product-grid-module form, .product-grid-module .not-logged-in-container, .product-grid-module .stockline-view-button {
  margin: auto 0 0; }

.product-grid-module .addToBasket.icon {
  margin: 0; }

.product-grid-module .favouritesContainer {
  display: inline-block; }

.product-grid-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  .product-grid-module .quantity-container .control.select .label {
    display: none; }
  .product-grid-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

.product-grid-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-grid-module .quantity-free-text-container .label {
    display: none; }

.product-grid-module .content-container > a:first-of-type, .product-carousel-module .content-container > a:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0; }
  .product-grid-module .content-container > a:first-of-type:not(:has(img)), .product-carousel-module .content-container > a:first-of-type:not(:has(img)) {
    display: none; }

.product-carousel-module .collection-item:not(.ebg) .content-container.product, .product-grid-module .collection-item:not(.ebg) .content-container.product {
  padding-bottom: 20px;
  border-width: 0 0 5px 0;
  border-color: #8f95a5;
  border-style: solid;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-carousel-module .collection-item:not(.ebg) .content-container.product:hover, .product-grid-module .collection-item:not(.ebg) .content-container.product:hover {
    border-color: #fb6f21;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.image-grid-module .cell {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-bottom: 20px; }

.image-grid-module .image {
  text-align: center; }

.image-grid-module .content-container {
  margin: auto; }

.module-content-container:not([style*="background-color: transparent;"]) {
  margin: 0;
  padding: 10px;
  border-radius: 10px; }
  @media print, screen and (min-width: 40em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 10px; } }
  @media screen and (min-width: 81.25em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 50px; } }

.cms-module {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .cms-module h1 {
    margin: 0 0 30px;
    font-size: 1.9375rem;
    font-weight: 400;
    font-style: normal;
    color: #071e83;
    line-height: 1.6;
    background-color: transparent;
    text-transform: uppercase; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 0 0 15px;
    font-size: 1.9375rem;
    font-weight: 400;
    font-style: normal;
    color: #071e83;
    line-height: 1.6;
    text-transform: uppercase; }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    margin: 0;
    padding: 20px 0;
    font-size: 1.4rem;
    font-weight: 400;
    font-style: normal;
    color: #071e83;
    line-height: 1.6; }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 0;
    padding: 10px 0;
    font-size: 1.2rem;
    font-weight: 400;
    font-style: normal;
    color: #071e83;
    line-height: 1.6; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h6:first-child {
      margin-top: 0; }
    .cms-module h6:only-child {
      margin: 0; }
  .cms-module p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.6;
    color: #000000; }
    .cms-module p img[style*="float:left"], .cms-module p img[style*="float: left"], .cms-module p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .cms-module p img[style*="float:right"], .cms-module p img[style*="float: right"], .cms-module p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .cms-module p img {
      margin: .2em 0; }
    .cms-module p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .cms-module ul, .cms-module ol {
    text-align: left; }
  .cms-module ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .cms-module ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .cms-module ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .cms-module ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #071e83;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .cms-module ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .cms-module ol ol ol {
        list-style-type: lower-roman; }
        .cms-module ol ol ol ol {
          list-style-type: lower-alpha; }
          .cms-module ol ol ol ol ol {
            list-style-type: lower-roman; }
  .cms-module li {
    color: #000000;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.6; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 30px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 15px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 0; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 0; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 0; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 0; }
  .cms-module dl {
    text-align: left; }
  .cms-module p:not(:empty) + table, .cms-module p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .cms-module table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .cms-module table:not([class*=preset]) thead {
      background-color: transparent; }
      .cms-module table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .cms-module table:not([class*=preset]) thead th {
        font-weight: 700; }
    .cms-module table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-module table.responsive-table {
          display: table; } }
      .cms-module table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .cms-module table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .cms-module table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .cms-module table td {
        padding: 10px; } }
    .cms-module table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .cms-module table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .cms-module table tbody {
      background-color: transparent; }
      .cms-module table tbody th {
        background-color: transparent; }
      .cms-module table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .cms-module table tbody tr {
          display: table-row; } }
    .cms-module table .col-label {
      color: #333333; }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .cms-module table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .cms-module table.comparison-table tbody td:first-child {
      color: #333333;
      font-weight: 700; }
  .cms-module blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    text-align: center;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .cms-module blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .cms-module blockquote:hover:before {
        color: #d0d0d0;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .cms-module blockquote:has(img) {
      text-align: left; }
    .cms-module blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        padding: 50px 60px; } }
    .cms-module blockquote + blockquote {
      margin-top: 15px; }
    .cms-module blockquote:before, .cms-module blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .cms-module blockquote:before {
      top: 0;
      left: 0; }
    .cms-module blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .cms-module blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module blockquote img {
          text-align: left; } }
  .cms-module div.gallary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 10px 0 20px; }
    .cms-module div.gallary.cell-gutters {
      gap: 10px; }
    .cms-module div.gallary > img {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .cms-module div.gallary a {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      .cms-module div.gallary a img {
        width: 100%; }
  .cms-module iframe[src*="https://www.youtube.com/"] {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    border-radius: 10px; }
  .cms-module code {
    max-height: 500px;
    position: relative;
    padding: 10px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 40px;
    background-color: #f0f0f0;
    border: 1px solid #959595;
    font-size: 0.9375rem;
    line-height: 40px;
    text-align: left;
    white-space: pre-wrap;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module code {
        padding: 10px 35px; } }
    .cms-module code:hover {
      border-color: #333333;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
    .cms-module code .code-copy-button-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: calc(100% - 15px);
      white-space: normal; }
    .cms-module code .code-copy-button {
      position: absolute;
      top: 0;
      padding: 8px;
      display: block;
      background-color: #959595;
      -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
      transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
      .cms-module code .code-copy-button:before {
        content: "";
        font-family: "Font Awesome Regular";
        font-size: 14px;
        color: #ffffff;
        -webkit-transition: color 0.8s, font-size 0.8s;
        transition: color 0.8s, font-size 0.8s; }
      .cms-module code .code-copy-button:hover {
        background-color: #071e83;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .cms-module code .code-copy-button.active, .cms-module code .code-copy-button:active {
        background-color: #071e83; }
        .cms-module code .code-copy-button.active:before, .cms-module code .code-copy-button:active:before {
          font-family: "Font Awesome Solid"; }
      .cms-module code .code-copy-button.active {
        padding: 12px;
        opacity: .4;
        -webkit-transition: padding 0.6s, opacity 0.6s;
        transition: padding 0.6s, opacity 0.6s; }
        .cms-module code .code-copy-button.active:before {
          font-size: 16px;
          -webkit-transition: font-size 0.6s;
          transition: font-size 0.6s; }
  @media screen and (min-width: 81.25em) {
    .cms-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-module a:hover h2 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline;
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline; }
  .cms-module h2 {
    line-height: 1.2; }
  .cms-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .cms-module .content-container .content-heading {
      width: 100%;
      display: block; }
  .cms-module.events-module {
    gap: 25px;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.events-module {
        display: grid;
        /** Work out the column width, this was originally designed for a 2 column layout which goes down to a single column in the following situations
            - In mobile
            - When the module container is no longer wide enough to show to columns with a width of the calculated column width bellow.
            **/
        grid-template-columns: repeat(auto-fit, minmax(-webkit-min-content, 560px));
        grid-template-columns: repeat(auto-fit, minmax(min-content, 560px));
        padding: 40px;
        gap: 50px; } }
    .cms-module.events-module h3 {
      margin: 0 0 20px;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module h3 {
          margin: 0 0 40px; } }
    .cms-module.events-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .cms-module.events-module .content-banner {
      width: 100%;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner {
          height: 550px; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner img {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center; } }
    .cms-module.events-module .read-more-content p {
      font-size: 1.125rem;
      font-weight: 300; }
  .cms-module.blog-module {
    margin-right: 0;
    margin-left: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module {
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module:has(.content-banner) .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; }
        .cms-module.blog-module:has(.content-banner) .content-container .read-more {
          max-height: unset; }
          .cms-module.blog-module:has(.content-banner) .content-container .read-more .read-more-content {
            max-height: unset; } }
    .cms-module.blog-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 50px 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-module.blog-module .content-container {
          padding: 50px 7.5%; } }
      .cms-module.blog-module .content-container .read-more {
        max-height: 300px; }
        .cms-module.blog-module .content-container .read-more .read-more-content {
          max-height: 300px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner {
        height: 475px;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        border-radius: 0 10px 10px 0; } }
    .cms-module.blog-module .read-more-content p {
      font-size: 1.125rem;
      font-weight: 300; }
  @media screen and (min-width: 81.25em) {
    .cms-module.news-module:has(.content-banner) .content-container {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  .cms-module.news-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-container {
        margin-bottom: 0; } }
  .cms-module.news-module .content-banner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner {
        height: 375px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; } }
    .cms-module.news-module .content-banner .image {
      width: 90%; }
      @media screen and (min-width: 81.25em) {
        .cms-module.news-module .content-banner .image {
          text-align: right; } }
  .cms-module.news-module .read-more-content p {
    font-size: 1.125rem;
    font-weight: 300; }
  .cms-module.news-module h3 {
    margin: 0 0 15px;
    padding: 0; }
  .cms-module.entry-module {
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        padding-right: 11.6%;
        padding-left: 11.6%; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        gap: 40px; } }
    .cms-module.entry-module.text-align-left {
      text-align: left; }
      .cms-module.entry-module.text-align-left .read-more-button {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    .cms-module.entry-module.text-align-right {
      text-align: right; }
      .cms-module.entry-module.text-align-right .read-more-button {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
    .cms-module.entry-module.text-align-center {
      text-align: center; }
      .cms-module.entry-module.text-align-center .read-more-button {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .cms-module.entry-module.multimedia-top {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; }
      .cms-module.entry-module.multimedia-top .content-container, .cms-module.entry-module.multimedia-top.has-image .content-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      .cms-module.entry-module.multimedia-top .read-more {
        max-height: 250px; }
    .cms-module.entry-module.multimedia-right {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-container {
          padding: 10px 0; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-banner {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-right .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-right .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.multimedia-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .cms-module.entry-module.multimedia-bottom .content-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
    .cms-module.entry-module.multimedia-bottom .read-more {
      max-height: 250px; }
    .cms-module.entry-module.multimedia-left {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      .cms-module.entry-module.multimedia-left .content-container .image {
        width: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left .content-container {
          padding: 10px 0; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-left .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-left .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.layout-style {
        padding: 50px; } }
    .cms-module.entry-module.layout-style .content-banner {
      height: unset; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.compact .content-container {
        padding-right: 40px; } }
    .cms-module.entry-module.compact .content-container ul {
      padding: 0; }
    .cms-module.entry-module.compact .content-banner {
      height: 375px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.right-aligned:has(.content-banner) .content-container, .cms-module.entry-module.left-aligned:has(.content-banner) .content-container, .cms-module.entry-module.compact:has(.content-banner) .content-container {
        width: 50%; } }
    .cms-module.entry-module.right-aligned .content-banner, .cms-module.entry-module.left-aligned .content-banner, .cms-module.entry-module.compact .content-banner {
      height: 380px;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.right-aligned .content-banner img, .cms-module.entry-module.left-aligned .content-banner img, .cms-module.entry-module.compact .content-banner img {
          -o-object-fit: cover;
             object-fit: cover; } }
    .cms-module.entry-module .read-more-button {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .cms-module.right-aligned, .cms-module.left-aligned {
    text-align: left; }
    .cms-module.right-aligned .content-heading, .cms-module.left-aligned .content-heading {
      width: 100%;
      display: block; }
    .cms-module.right-aligned .content-container, .cms-module.left-aligned .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .cms-module.right-aligned .cms-content, .cms-module.left-aligned .cms-content {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 60%;
              flex: 0 0 60%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
  .cms-module.right-aligned .content-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-container {
        padding-left: 40px; } }
  .cms-module.right-aligned .content-banner {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-banner {
        margin-bottom: 0; } }
  @media screen and (min-width: 81.25em) {
    .cms-module.left-aligned .content-container {
      padding-right: 40px; } }
  .cms-module.left-aligned .content-container + .content-banner {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.left-aligned .content-container + .content-banner {
        margin-top: 0; } }
  .cms-module.column .content-container {
    text-align: center; }
  .cms-module.column .content-banner {
    max-width: 1080px;
    width: 100%;
    margin: 40px auto 60px; }
    .cms-module.column .content-banner img {
      max-height: 470px; }
  @media screen and (min-width: 81.25em) {
    .cms-module.column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cms-module.column-invert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 40px; }
    .cms-module.column-invert .content-banner {
      max-width: 540px;
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.column-invert .content-banner {
          height: 390px; } }
  .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
  .cms-module:not(.left-aligned).has-image .content-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .cms-module:not(.left-aligned).column-invert .content-banner {
    margin: 0 auto 30px; }
  .cms-module:not(.left-aligned) .content-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .cms-module .content-banner {
    height: 100%;
    position: relative; }
    .cms-module .content-banner .image {
      height: 100%;
      width: 100%;
      text-align: center;
      place-content: normal; }
    .cms-module .content-banner img {
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: top left;
         object-position: top left; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .cms-module .content-banner img {
          height: auto; } }
  .cms-module .read-more {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden; }
  .cms-module .module-navigation {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: auto; }
  .cms-module .read-more-button {
    line-height: 1; }
  .cms-module .blog-button, .cms-module .news-button, .cms-module .events-button {
    margin-left: auto;
    line-height: 1; }

.row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
  width: 590px; }
  @media screen and (min-width: 81.25em) {
    .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
      height: 370px; } }
  .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner img {
    max-height: 375px; }

.row-background {
  position: relative; }
  .row-background:not([style*="background-color: transparent;"]) {
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background:not([style*="background-color: transparent;"]) {
        padding-top: 50px;
        padding-bottom: 50px; } }
    .row-background:not([style*="background-color: transparent;"]) .module-background {
      margin-top: 0;
      margin-bottom: 0; }
  .row-background.remove-padding-top {
    padding-top: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-top {
        padding-top: 0; } }
  .row-background.remove-padding-bottom {
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-bottom {
        padding-bottom: 0; } }
  .row-background.remove-padding-both {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-both {
        padding-top: 0;
        padding-bottom: 0; } }
  .row-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.module-background {
  width: 100%;
  position: relative;
  margin-top: 0;
  margin-bottom: 0; }
  @media screen and (min-width: 81.25em) {
    .module-background {
      margin-top: 20px;
      margin-bottom: 20px; } }
  .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 30px;
        padding-bottom: 30px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .news-module {
        margin-right: 40px;
        margin-left: 25px; } }
  .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
    padding: 10px; }
    @media print, screen and (min-width: 40em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 10px; } }
    @media screen and (min-width: 81.25em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 50px; } }
    .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
      padding-top: 0;
      padding-bottom: 0; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
          padding-top: 30px;
          padding-bottom: 30px; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 25px; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
          margin: 40px; } }
    .module-background:not([style*="background-color: transparent;"]) .content-container:hover, .module-background.has-background-image .content-container:hover {
      -webkit-box-shadow: unset;
              box-shadow: unset; }
  .module-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }
  .module-background .module-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.product-carousel-module.carousel-padding {
  padding: 0 0 50px; }

.cms-subsidiary-module .series-card {
  max-width: 100%;
  width: 100%;
  padding: 18px;
  border: 1px solid #d0d0d0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .cms-subsidiary-module .series-card:hover {
    border-color: transparent;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-subsidiary-module .series-card > a {
    font-size: rem-cal(22);
    font-weight: 600;
    color: #071e83;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-subsidiary-module .series-card ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cms-subsidiary-module .series-card ul li:hover > a {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 1rem;
      color: #333333;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.ebg-information-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .ebg-information-module .group-full-description {
    width: 100%; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module .group-notes {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  .ebg-information-module .group-notes.active .read-more-content {
    max-height: inherit; }
  .ebg-information-module .group-notes p {
    padding: 0;
    font-weight: 400;
    font-size: 1rem; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes p {
        margin: 0; } }
  .ebg-information-module .group-notes .read-more-content {
    max-height: 200px; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes .read-more-content {
        max-height: unset; } }
  .ebg-information-module .group-image {
    width: 100%;
    padding: 20px 0 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-image {
        max-width: 30%;
        display: inline-block;
        margin-left: 20px;
        padding: 0;
        text-align: right; } }

.page-heading-module {
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    .page-heading-module {
      margin: 0; } }
  .page-heading-module h1 {
    margin-bottom: 0; }
  .page-heading-module .cms-container {
    margin-bottom: 0; }

.module-config {
  margin-bottom: 10px;
  padding: 15px 10px;
  background-color: #eeeeee; }
  .module-config li, .module-config strong, .module-config h3 {
    color: #333333; }
  .module-config li, .module-config strong {
    font-size: 0.9375rem; }
  .module-config li strong {
    padding-right: 10px; }
    .module-config li strong:after {
      content: ':';
      display: inline-block;
      color: #333333; }
  .module-config h3 {
    position: relative;
    text-transform: uppercase;
    text-align: center; }
    .module-config h3:after {
      content: '';
      width: 80%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #333333; }

.module-content-container.effect-style {
  --border-radius-small: 1px;
  --border-radius-medium: 5px;
  --border-radius-large: 25%;
  --border-radius-xlarge: 50%;
  --border-width-thin: 1px;
  --border-width-light: 2px;
  --border-width-medium: 5px;
  --border-width-bold: 10px;
  --image-reduce-small: .95;
  --image-reduce-medium: .80;
  --image-reduce-large: .60; }
  .module-content-container.effect-style .content-container {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .module-content-container.effect-style .content-container:hover {
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }

.collection.module-content-container.image-border .content-container.image, .collection.module-content-container.image-border .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff); }

.collection.module-content-container.image-radius-animation .content-container.image, .collection.module-content-container.image-radius-animation .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff);
  border-radius: var(--border-radius, 50%);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
  overflow: hidden;
  -webkit-transition: border-radius 0.8s;
  transition: border-radius 0.8s; }
  .collection.module-content-container.image-radius-animation .content-container.image:before, .collection.module-content-container.image-radius-animation .content-container .image:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    border-radius: var(--border-radius, 50%);
    -webkit-box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: border-radius 0.8s;
    transition: border-radius 0.8s; }

.collection.module-content-container.image-radius-animation .content-container:hover .image {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container:hover .image:before {
    border-radius: calc(var(--border-radius, 50%) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.image-radius-animation .content-container.image:hover {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container.image:hover:before {
    border-radius: calc((var(--border-radius, 50%)) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.invert-cell-shadow .collection-item .content-container {
  border: 2px solid transparent;
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover {
    border-color: #eeeeee;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover .image {
      opacity: 1; }

.collection.module-content-container.reduce-image-hover .content-container:hover {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.collection.module-content-container.reduce-image-hover .content-container.image:hover, .collection.module-content-container.reduce-image-hover .content-container:hover .image {
  opacity: 1; }
  .collection.module-content-container.reduce-image-hover .content-container.image:hover img, .collection.module-content-container.reduce-image-hover .content-container:hover .image img {
    -webkit-transform: scale(var(--reduce-image, 0.95));
            transform: scale(var(--reduce-image, 0.95));
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }

.collection.module-content-container.reduce-image-hover .content-container .image img, .collection.module-content-container.reduce-image-hover .image img {
  border-radius: 10px;
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s; }

.collection.module-content-container.cell-border-default .collection-item .content-container {
  border: 1px solid #eeeeee; }
  .collection.module-content-container.cell-border-default .collection-item .content-container:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #071e83; }

.collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container {
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.cms-module.effect-style.module-content-container.module-borders {
  padding: 20px 0 0;
  border: var(--border-width) solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    .cms-module.effect-style.module-content-container.module-borders {
      padding-top: 0; } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-top .content-banner {
    border-bottom: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
        border-top: 0;
        border-left: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-bottom .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
        border-top: 0;
        border-right: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders .content-container {
    padding-right: 20px;
    padding-left: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders .content-container {
        padding: 80px 100px; } }

.animation-module {
  --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .animation-module [data-animation] {
    aspect-ratio: var(--media-aspect-ratio); }

/*
----- Stock Indiciator(s) -----
Handles the following: 
- Instock, Out of stock & Low stock icons.
- Email when back in stock
*/
.stock-indicator.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }
  .stock-indicator.preset1 p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0 5px 0 0;
    font-size: 0.875rem;
    font-weight: 400; }
    .stock-indicator.preset1 p:before {
      padding: 0 10px 0 0; }
  .stock-indicator.preset1 a {
    width: 100%;
    height: 100%;
    cursor: pointer; }
  .stock-indicator.preset1 .stockLevel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 600; }

.stock-indicator.preset2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .stock-indicator.preset2.soh-2 a:hover, .stock-indicator.preset2.soh-1 a:hover, .stock-indicator.preset2.soh-0 a:hover {
    text-decoration: none; }
  .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 span {
    display: inline-block; }
  .stock-indicator.preset2.soh-2 > p, .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 .label, .stock-indicator.preset2.soh-1 > p, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 .label, .stock-indicator.preset2.soh-0 > p, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 .label {
    margin: 0 5px 0 0;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 400;
    color: #333333; }
    .stock-indicator.preset2.soh-2 > p:before, .stock-indicator.preset2.soh-2 p:before, .stock-indicator.preset2.soh-2 .label:before, .stock-indicator.preset2.soh-1 > p:before, .stock-indicator.preset2.soh-1 p:before, .stock-indicator.preset2.soh-1 .label:before, .stock-indicator.preset2.soh-0 > p:before, .stock-indicator.preset2.soh-0 p:before, .stock-indicator.preset2.soh-0 .label:before {
      padding: 0 5px 0 0; }
  .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 span {
    font-size: 0.875rem;
    font-weight: 400;
    font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 p:before, .stock-indicator.soh-2 .label:before, .stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 p:before, .stock-indicator.soh-1 .label:before, .stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 p:before, .stock-indicator.soh-0 .label:before {
  display: inline-block;
  font-family: "Font Awesome Solid";
  font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 .label:before {
  content: "";
  color: #f9ad04;
  font-size: 16px; }

.stock-indicator.soh-2 span {
  color: #f9ad04; }

.stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 .label:before {
  content: "";
  color: #071e83;
  font-size: 16px; }

.stock-indicator.soh-1 span {
  color: #071e83; }

.stock-indicator.soh-1 .stockLevel {
  color: #071e83; }

.stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 .label:before {
  content: "";
  color: #ff0101;
  font-size: 16px; }

.stock-indicator.soh-0 .stockLevel {
  color: #ff0101; }

.stock-indicator.notification:hover .stock-notification-icon:after {
  color: #fb6f21; }

.stock-indicator.notification.active .stock-notification-icon:after {
  color: #071e83; }

.stock-indicator.notification .stock-notification-icon:after {
  content: "";
  margin-left: 15px;
  color: #ff0101;
  font-family: "Font Awesome Regular";
  font-size: 16px; }

.stock-indicator.notification:not(.active):hover .stock-notification-icon:after {
  content: ""; }

.stock-indicator.notification.active:hover {
  cursor: no-drop; }

.stock-indicator.notification.active .stock-notification-icon:after {
  font-family: "Font Awesome Solid";
  color: #071e83; }

.stock-indicator [data-tooltip] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.stock-indicator .label {
  text-align: left; }

.collection-only-indicator {
  color: #333333;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400; }
  .collection-only-indicator:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-size: 24px;
    font-family: "fontello"; }

#stockNotificationDetails {
  position: relative; }
  @media print, screen and (max-width: 81.24875em) {
    #stockNotificationDetails {
      top: 10vw !important; } }
  #stockNotificationDetails .cmsContainer {
    padding: 0 10px 20px;
    font-size: 1rem; }

#notificationFormContainer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block; }
  @media screen and (min-width: 81.25em) {
    #notificationFormContainer {
      top: 0;
      bottom: 0; } }

#notificationDetailsForm {
  max-width: 85vw;
  width: 100%;
  position: relative;
  margin: auto;
  padding: 30px 20px;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #notificationDetailsForm {
      max-width: 30vw; } }
  #notificationDetailsForm #notificationDetailsFormSubmit {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #071e83;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #071e83;
      background-color: rgba(7, 30, 131, 0.5);
      color: #071e83;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  #notificationDetailsForm .close-button {
    width: 45px;
    height: 45px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    #notificationDetailsForm .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #eeeeee;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

[data-stock-indicator-update] {
  display: none; }

.product-enquiry-details-container {
  width: 100%;
  display: grid;
  gap: 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-details-container {
      grid-auto-columns: auto;
      grid-template-columns: minmax(calc(30% - 7.5px), 1fr) minmax(calc(70% - 7.5px), 1fr);
      gap: 15px;
      margin-bottom: 55px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-details-container {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px; } }
  .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
        gap: 10px 0; } }
    .product-enquiry-details-container .product-enquiry-details-right .callbackContainer, .product-enquiry-details-container .product-enquiry-details-response-area .callbackContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
  .product-enquiry-details-container .product-enquiry-module {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 15px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-details-container .product-enquiry-module {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px 25px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-module {
        gap: 10px 30px; } }
    .product-enquiry-details-container .product-enquiry-module:not(:has(*)) {
      display: none; }
    .product-enquiry-details-container .product-enquiry-module hr {
      width: 100%;
      border-top: 1px solid #d0d0d0;
      border-bottom: 0; }
  .product-enquiry-details-container .reveal-social-icons-container .share-button {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 700; }
    .product-enquiry-details-container .reveal-social-icons-container .share-button:after {
      font-size: 17px; }

.product-enquiry-heading-container .product-enquiry-heading {
  margin: 0;
  padding: 0;
  color: #071e83;
  font-size: 2rem;
  font-weight: 700;
  line-height: 35px;
  text-transform: uppercase; }

.product-enquiry-selection-container {
  width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .product-enquiry-selection-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 10px 15px; } }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-selection-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 25px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-selection-container {
      gap: 10px 30px; } }

.quantity-module, .product-enquiry-quantity-selector {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .quantity-module .label, .product-enquiry-quantity-selector .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 1rem;
    font-weight: 400;
    color: #071e83;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .quantity-module .label, .product-enquiry-quantity-selector .label {
        margin-right: 15px; } }
  .quantity-module .select, .product-enquiry-quantity-selector .select {
    width: unset; }
    .quantity-module .select .control-select-container, .product-enquiry-quantity-selector .select .control-select-container {
      min-width: unset; }

#main-product-information-container {
  padding: 10px 5px 0; }
  @media screen and (min-width: 81.25em) {
    #main-product-information-container {
      padding: 20px 0 0; } }

#productImage, .product-enquiry-main-multimedia-container {
  margin: 0 0 20px;
  text-align: center;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    #productImage, .product-enquiry-main-multimedia-container {
      margin: 0 auto;
      text-align: inherit; } }
  #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
        width: 375px; } }
  #productImage .additionalImageSliderContainer, .product-enquiry-main-multimedia-container .additionalImageSliderContainer {
    margin: auto; }
    #productImage .additionalImageSliderContainer .slide.active .thumbnail, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .slide.active .thumbnail {
      border: 1px solid #4d60b2; }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev,
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev,
      .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        -webkit-box-shadow: none;
                box-shadow: none;
        width: 30px;
        height: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before,
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before,
        .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          width: 20px;
          height: 20px;
          position: absolute;
          top: 0;
          bottom: 0;
          font-family: "Font Awesome Solid";
          font-size: 26px;
          color: #071e83;
          display: inline-block;
          margin: auto;
          border: 0;
          border-width: 0; } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev {
        right: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before {
          right: 15px;
          -webkit-transform: rotate(270deg);
                  transform: rotate(270deg); } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        left: 21px; }
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          left: 10px;
          -webkit-transform: rotate(-270deg);
                  transform: rotate(-270deg); } }

#mainImageContainer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 20px;
  overflow: hidden; }
  #mainImageContainer:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #mainImageContainer .overlay {
    opacity: 1;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  #mainImageContainer.image-360 {
    position: relative; }
    #mainImageContainer.image-360:hover:after {
      display: none; }
    #mainImageContainer.image-360:after {
      content: '';
      max-width: 90px;
      max-height: 90px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(208, 208, 208, 0.2); }
  #mainImageContainer img {
    max-height: 550px;
    margin: 0 auto; }

.product-enquiry-main-image, #mainImageContainer.product-enquiry-main-image {
  --media-aspect-ratio: 1/1;
  margin: 0 auto;
  border: 1px solid #d6d6d6;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-enquiry-main-image:hover, #mainImageContainer.product-enquiry-main-image:hover {
    border-color: #071e83;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .product-enquiry-main-image img, #mainImageContainer.product-enquiry-main-image img {
    min-width: 300px;
    max-height: none;
    min-height: 300px; }
  .product-enquiry-main-image + .product-enquiry-additional-images:has(img), #mainImageContainer.product-enquiry-main-image + .product-enquiry-additional-images:has(img) {
    margin: 20px auto 0; }

.product-overlay-module {
  margin: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media print, screen and (max-width: 81.24875em) {
    .product-overlay-module {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 81.25em) {
    .product-overlay-module {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0; } }
  .product-overlay-module > a {
    display: block;
    text-align: center;
    margin: 10px auto; }
    @media screen and (min-width: 81.25em) {
      .product-overlay-module > a {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(33% - 15px);
                flex: 0 1 calc(33% - 15px);
        margin: 10px 12px; }
        .product-overlay-module > a:nth-child(3n) {
          margin-right: 0; }
        .product-overlay-module > a:nth-child(3n + 1) {
          margin-left: 0; }
        .product-overlay-module > a:last-child {
          margin-right: 0; } }

.product-enquiry-highlighted-banners {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin: 5px 0 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(5, 1fr);
      gap: 5px;
      margin: 10px 0 15px; } }

.part-code-container span {
  padding-right: 5px; }

.part-code-container, .product-enquiry-reference-container {
  margin-bottom: 40px;
  font-size: 0.97rem;
  color: #333333; }
  .part-code-container p, .product-enquiry-reference-container p {
    margin: 0;
    padding: 0; }
  .part-code-container span, .product-enquiry-reference-container span {
    font-weight: 700; }

.product-enquiry-reference-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 10px 0;
  gap: 10px 25px;
  border-bottom: 1px solid #d0d0d0; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-reference-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 20px 0; } }

.product-enquiry-label-value-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-label-value-pair {
      gap: 5px 10px; } }
  .product-enquiry-label-value-pair .label {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
  .product-enquiry-label-value-pair .value {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 400; }
  .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 5px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
        gap: 5px 10px; } }

#product #product-info-left h1 {
  margin: 0 0 20px;
  padding-right: 50px;
  color: #071e83;
  font-size: 2rem;
  font-weight: 700;
  line-height: 35px;
  text-transform: uppercase; }

#product .slide .label {
  display: none; }

#product .addButtonContainer {
  width: 100%;
  margin: 10px 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

#product #product-notes {
  margin: 20px 0 0; }
  @media screen and (min-width: 81.25em) {
    #product #product-notes {
      margin: 0 0 40px; } }
  #product #product-notes h3 {
    font-weight: 500;
    font-size: 1.125rem;
    color: #071e83;
    text-transform: uppercase; }
  #product #product-notes p, #product #product-notes li {
    font-size: 1.0625rem;
    font-weight: 300;
    line-height: 28px;
    color: #333333; }
  #product #product-notes .product-read-more {
    height: 14vh;
    overflow: hidden; }
  #product #product-notes .tabbed-read-more {
    font-weight: 700; }
    #product #product-notes .tabbed-read-more:hover {
      text-decoration: underline; }

#product #alternative-options {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    #product #alternative-options {
      margin-bottom: 30px; } }
  #product #alternative-options h3 {
    margin-bottom: 40px;
    font-size: 0.9375rem;
    line-height: 1; }
  #product #alternative-options .carousel {
    width: 100%; }

.product-enquiry-basket-button-container {
  width: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-basket-button-container {
      margin: 10px 0; } }

.hazard-statement-container {
  margin-bottom: 20px;
  border: 1px solid #000000;
  border-radius: 10px; }
  .hazard-statement-container .hazard-icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin: 15px 0 10px; }
    .hazard-statement-container .hazard-icons-container + .hazard-info-container {
      border-top: 1px solid #d0d0d0; }
  .hazard-statement-container .hazard-icon {
    width: 75px;
    height: 75px;
    background-size: 100%; }
    .hazard-statement-container .hazard-icon.haz-cat-toxic {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-acute-toxicity-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-gas {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-compressed-gas-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-corrosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-corrosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-environment {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-environmental-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-explosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-explosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-flammable {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-flammable-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-ozone {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-harmful-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-oxidising {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-oxidising-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-health {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-serious-health-icon.svg"); }
  .hazard-statement-container .hazard-info-container {
    padding: 10px 0 20px; }
    .hazard-statement-container .hazard-info-container h4 {
      margin: 0 0 15px;
      padding: 0;
      font-size: 1rem;
      font-weight: 700; }
    .hazard-statement-container .hazard-info-container p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      color: #000000; }
      .hazard-statement-container .hazard-info-container p img[style*="float:left"], .hazard-statement-container .hazard-info-container p img[style*="float: left"], .hazard-statement-container .hazard-info-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .hazard-statement-container .hazard-info-container p img[style*="float:right"], .hazard-statement-container .hazard-info-container p img[style*="float: right"], .hazard-statement-container .hazard-info-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .hazard-statement-container .hazard-info-container p img {
        margin: .2em 0; }
      .hazard-statement-container .hazard-info-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
  .hazard-statement-container .hazard-icons-container, .hazard-statement-container .hazard-info-container {
    margin-right: 20px;
    margin-left: 20px; }

.product-enquiry-multi-line-container {
  width: 100%; }
  .product-enquiry-multi-line-container .multi-line-heading {
    margin: 0 0 10px; }
    .product-enquiry-multi-line-container .multi-line-heading h2, .product-enquiry-multi-line-container .multi-line-heading h3, .product-enquiry-multi-line-container .multi-line-heading h4 {
      font-size: 0.875rem;
      font-weight: 700;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      color: #000000; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .product-enquiry-multi-line-container .multi-line-content ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #071e83;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .product-enquiry-multi-line-container .multi-line-content ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .product-enquiry-multi-line-container .multi-line-content ol ol ol {
        list-style-type: lower-roman; }
        .product-enquiry-multi-line-container .multi-line-content ol ol ol ol {
          list-style-type: lower-alpha; }
          .product-enquiry-multi-line-container .multi-line-content ol ol ol ol ol {
            list-style-type: lower-roman; }
  .product-enquiry-multi-line-container .multi-line-content li {
    color: #000000;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.6; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 30px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h2, .product-enquiry-multi-line-container .multi-line-content ol + h2 {
    margin-top: 15px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h3, .product-enquiry-multi-line-container .multi-line-content ol + h3 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content dl {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    padding-left: 0; }
  .product-enquiry-multi-line-container .multi-line-content p, .product-enquiry-multi-line-container .multi-line-content li {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    color: #000000; }
  .product-enquiry-multi-line-container.product-notes {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #d0d0d0; }
    .product-enquiry-multi-line-container.product-notes .read-more:not(:has(.read-more-content)) {
      max-height: 100px; }

#split-specification ul {
  list-style: none;
  line-height: 25px;
  padding-left: 0; }
  #split-specification ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #split-specification ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #071e83;
      border-radius: 5px; }

#split-specification li {
  margin: 5px 0; }

#split-specification li, #split-specification p, #split-specification a, #split-specification span {
  color: #333333;
  font-size: 1.0625rem;
  font-weight: 300;
  line-height: 28px; }

.split-specification {
  padding: 20px 0; }

@media print, screen and (max-width: 81.24875em) {
  #product-price-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#product-price-container .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #product-price-container .prices .price-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      #product-price-container .prices .price-container {
        margin-right: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .rrp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-size {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-item-price {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .saving {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; } }

#product-price-container .price .label:empty + .value {
  margin-left: 0; }

@media screen and (min-width: 81.25em) {
  #product-price-container .price {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; } }

#product-price-container .price .value {
  font-size: 1.75rem; }

.optional-extras-container {
  padding: 10px 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d0d0d0; }
  .optional-extras-container table {
    margin-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .description-col {
        width: 400px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .code-col {
        width: 125px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .price-col {
        width: 80px; } }
    .optional-extras-container table tr:not(:has(.image-col)) td.description-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      text-align: left; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .image {
        width: 100px;
        display: block;
        margin-right: 20px; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin: 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
            margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table td.description-col {
        width: 280px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .code-col {
        width: 100px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .price-col {
        width: 80px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .add-col {
        width: 80px; } }
    .optional-extras-container table th.description-col {
      padding-left: 10px; }
  .optional-extras-container .description-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .description-container {
        padding-left: 15px; } }
    .optional-extras-container .description-container .description {
      line-height: 1.3;
      font-weight: 600;
      color: #333333;
      font-size: 1rem; }
  .optional-extras-container td.code-col {
    font-size: 1rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .image-col {
        width: 110px; } }
  .optional-extras-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block; }
  .optional-extras-container .intro-container {
    padding: 20px 5px; }
    .optional-extras-container .intro-container p {
      margin: var(--indent-margin, 0);
      font-size: 1rem;
      color: #000000; }
      .optional-extras-container .intro-container p img[style*="float:left"], .optional-extras-container .intro-container p img[style*="float: left"], .optional-extras-container .intro-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .optional-extras-container .intro-container p img[style*="float:right"], .optional-extras-container .intro-container p img[style*="float: right"], .optional-extras-container .intro-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .optional-extras-container .intro-container p img {
        margin: .2em 0; }
      .optional-extras-container .intro-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .optional-extras-container .intro-container ul, .optional-extras-container .intro-container ol {
      text-align: left; }
    .optional-extras-container .intro-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .optional-extras-container .intro-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .optional-extras-container .intro-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .optional-extras-container .intro-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #071e83;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .optional-extras-container .intro-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .optional-extras-container .intro-container ol ol ol {
          list-style-type: lower-roman; }
          .optional-extras-container .intro-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .optional-extras-container .intro-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .optional-extras-container .intro-container li {
      color: #000000;
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.6; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 30px; }
    .optional-extras-container .intro-container ul + h2, .optional-extras-container .intro-container ol + h2 {
      margin-top: 15px; }
    .optional-extras-container .intro-container ul + h3, .optional-extras-container .intro-container ol + h3 {
      margin-top: 0; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 0; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 0; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 0; }
    .optional-extras-container .intro-container dl {
      text-align: left; }
    @media print, screen and (min-width: 40em) {
      .optional-extras-container .intro-container {
        text-align: center; } }
  .optional-extras-container .cms-content-container {
    text-align: left; }

#product-case-pricing, #product-price-container {
  margin: 0 0 5px; }
  @media screen and (min-width: 81.25em) {
    #product-case-pricing, #product-price-container {
      margin: 0 0 40px; } }

.product-enquiry-favourites-container .favourites:after {
  font-size: 16px; }

#product-quantity-break-pricing, .product-enquiry-price-break-container {
  max-width: 100%;
  margin: auto;
  padding: 0 0 40px; }
  @media screen and (min-width: 81.25em) {
    #product-quantity-break-pricing, .product-enquiry-price-break-container {
      margin: 0 0 0 auto; } }
  #product-quantity-break-pricing .quantity-break-module-description, .product-enquiry-price-break-container .quantity-break-module-description {
    width: 100%;
    padding: 5px 0;
    color: var(--primary-colour-lightness-0);
    font-weight: 700;
    font-size: 0.9375rem;
    text-align: center;
    border: 2px solid #d0d0d0b3;
    border-radius: 10px; }
    #product-quantity-break-pricing .quantity-break-module-description span, .product-enquiry-price-break-container .quantity-break-module-description span {
      color: var(--primary-colour-lightness-0);
      padding-left: 20px;
      font-weight: 700; }
  #product-quantity-break-pricing table, .product-enquiry-price-break-container table {
    margin: 15px 0 0; }
    #product-quantity-break-pricing table th, .product-enquiry-price-break-container table th {
      padding: 0 5px 10px; }
    #product-quantity-break-pricing table tbody td, .product-enquiry-price-break-container table tbody td {
      text-align: center;
      font-weight: 400; }
      #product-quantity-break-pricing table tbody td.savings-col, .product-enquiry-price-break-container table tbody td.savings-col {
        color: #ff0101;
        font-weight: 700; }
    #product-quantity-break-pricing table .quantity-col, .product-enquiry-price-break-container table .quantity-col {
      width: 30%; }
    #product-quantity-break-pricing table .price-per-item-col, .product-enquiry-price-break-container table .price-per-item-col {
      width: 40%; }
    #product-quantity-break-pricing table .savings-col, .product-enquiry-price-break-container table .savings-col {
      width: 30%; }

@media screen and (min-width: 81.25em) {
  #product-quantity-break-pricing, .grouped-product-modules {
    margin-left: 20px; } }

.product-enquiry-price-break-container {
  width: 100%;
  margin: 10px 0 20px;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-price-break-container {
      margin: 15px 0 20px; } }

.product-enquiry-single-pricing {
  --price-max-width: 1fr; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-single-pricing {
      --price-max-width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-single-pricing {
      --price-max-width: 40%; } }

.product-enquiry-group-pricing {
  --price-max-width: 1fr; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-single-pricing .prices .price {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: auto; } }

.product-enquiry-single-pricing .prices .price .value {
  line-height: normal; }

.product-enquiry-single-pricing, .product-enquiry-group-pricing {
  width: 100%;
  padding: 10px 0; }
  .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--price-max-width))); }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    .product-enquiry-single-pricing .prices .price-group-container, .product-enquiry-group-pricing .prices .price-group-container {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .product-enquiry-single-pricing .prices .price-group-container:not(:has(*)), .product-enquiry-group-pricing .prices .price-group-container:not(:has(*)) {
        display: none; }
      .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: calc(20px / 2 * -1);
        left: 0;
        display: block;
        margin: auto;
        background-color: #aeaeae; }
      @media screen and (min-width: 30em) {
        .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
          width: 1px;
          height: 90%;
          position: absolute;
          top: 0;
          right: calc(20px / 2 * -1);
          bottom: 0;
          left: unset; } }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-single-pricing .prices .price-group-container .price-container.saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-group-pricing .prices .price-group-container .price-container.saving {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp + .saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp + .saving {
        margin-left: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .label:not(:empty) {
        margin-right: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .value {
        margin-left: 0;
        font-size: 1.75rem;
        font-weight: 700; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }

#product-case-pricing .case-price p {
  margin: 0;
  font-weight: 700;
  font-size: 1.0625rem; }

#product-case-pricing .price {
  margin: 5px 0; }

.delivery-countdown-container [data-countdown-time] {
  font-size: 0.875rem;
  font-weight: 400; }

#additional-images .collection-item.active .thumbnail a, .product-enquiry-additional-images .collection-item.active .thumbnail a {
  border: 1px solid #fb6f21;
  opacity: 0.6;
  -webkit-transition: border 0.8s;
  transition: border 0.8s; }

#additional-images .thumbnail, .product-enquiry-additional-images .thumbnail {
  width: 100%;
  height: 100%; }
  #additional-images .thumbnail a, .product-enquiry-additional-images .thumbnail a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
    border: 1px solid #d0d0d0;
    -webkit-transition: border 0.6s;
    transition: border 0.6s; }
    #additional-images .thumbnail a:hover, .product-enquiry-additional-images .thumbnail a:hover {
      border: 1px solid #071e83;
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a:active, .product-enquiry-additional-images .thumbnail a:active {
      border: 1px solid rgba(251, 111, 33, 0.5);
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a.image-360, .product-enquiry-additional-images .thumbnail a.image-360 {
      position: relative; }
      #additional-images .thumbnail a.image-360:hover:after, .product-enquiry-additional-images .thumbnail a.image-360:hover:after {
        display: none; }
      #additional-images .thumbnail a.image-360:after, .product-enquiry-additional-images .thumbnail a.image-360:after {
        content: '';
        max-width: 55px;
        max-height: 55px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        display: block;
        background-color: rgba(0, 0, 0, 0.2);
        background-image: url("/template/content/development/images/icons/3dicon.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 80%;
        border-radius: 12.5px;
        border: 2px solid rgba(208, 208, 208, 0.2); }
    #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
      max-width: 150px;
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
          max-width: auto; } }

.grouped-product-modules {
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .grouped-product-modules {
      margin: 0 0 0 20px; } }
  .grouped-product-modules > li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    border-top: 1px solid #d0d0d0; }
    .grouped-product-modules > li:last-child {
      border-bottom: 1px solid #d0d0d0; }
    .grouped-product-modules > li > a, .grouped-product-modules > li > span, .grouped-product-modules > li > p, .grouped-product-modules > li > div {
      padding: 15px 0; }
    .grouped-product-modules > li a, .grouped-product-modules > li span {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .grouped-product-modules > li:last-child {
      margin-bottom: 20px;
      border-bottom: 1px solid #d0d0d0; }
      @media screen and (min-width: 81.25em) {
        .grouped-product-modules > li:last-child {
          margin-bottom: 40px; } }
  .grouped-product-modules .rating-summary-display {
    margin-left: 10px; }

#additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.3125rem;
      margin-left: -0.3125rem; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.15625rem;
      margin-left: -0.15625rem; } }

#additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
  height: auto;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 10px; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 5px; } }

#additional-image-grid .small-up-1 > .thumbnail, .additional-image-grid .small-up-1 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-2 > .thumbnail, .additional-image-grid .small-up-2 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(50% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-3 > .thumbnail, .additional-image-grid .small-up-3 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(33.33333% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-4 > .thumbnail, .additional-image-grid .small-up-4 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(25% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-5 > .thumbnail, .additional-image-grid .small-up-5 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(20% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-1 > .thumbnail, .additional-image-grid .medium-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-2 > .thumbnail, .additional-image-grid .medium-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-3 > .thumbnail, .additional-image-grid .medium-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-4 > .thumbnail, .additional-image-grid .medium-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-5 > .thumbnail, .additional-image-grid .medium-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-1 > .thumbnail, .additional-image-grid .large-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-2 > .thumbnail, .additional-image-grid .large-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-3 > .thumbnail, .additional-image-grid .large-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-4 > .thumbnail, .additional-image-grid .large-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-5 > .thumbnail, .additional-image-grid .large-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

.stockline-attribute-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .stockline-attribute-container {
      gap: 10px;
      margin: 0 0 20px; } }
  .stockline-attribute-container .control .control-select-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .control .control-select-container {
        max-width: 520px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
  .stockline-attribute-container .control .control-select-option.unavailable-option {
    background-color: #f0f0f0;
    color: #7b7b7b;
    opacity: .5;
    cursor: not-allowed; }
    .stockline-attribute-container .control .control-select-option.unavailable-option:active {
      opacity: .8; }
  .stockline-attribute-container .label, .stockline-attribute-container .description {
    width: 40%;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .label, .stockline-attribute-container .description {
        width: 27%; } }
  .stockline-attribute-container .attribute-display .label {
    display: inline-block;
    margin: 0; }
  .stockline-attribute-container .attribute-display .value {
    display: inline-block;
    font-size: 0.9375rem; }
  .stockline-attribute-container .attribute-container {
    max-width: 100%;
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .attribute-container {
        max-width: 100%; } }

#product-info-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    #product-info-left {
      margin-right: 20px; } }
  #product-info-left.preset-1 #product-specification-description {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #product-info-left.preset-1 .part-code-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-1 #productImage, #product-info-left.preset-1 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #product-specification-description {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-2 .part-code-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #productImage, #product-info-left.preset-2 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-tabs-container {
    padding: 20px 0 35px; } }

@media screen and (min-width: 81.25em) {
  .product-enquiry-tabs-container {
    padding: 25px 0 45px; } }

.product.previously-purchased-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
  margin: 0 0 15px;
  padding: 15px 0;
  border: 2px solid var(--accent-colour-4-lightness-6);
  background-color: var(--accent-colour-4-lightness-9);
  border-radius: 10px; }
  @media print, screen and (min-width: 40em) {
    .product.previously-purchased-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 20px;
      margin: 0 0 35px;
      padding: 15px 0; } }
  .product.previously-purchased-container h3 {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container h3 {
        width: auto;
        font-size: 0.875rem; } }
  .product.previously-purchased-container p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container p {
        gap: 5px 10px; } }
    .product.previously-purchased-container p span {
      font-weight: 400; }
  .product.previously-purchased-container .view-order-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    color: #a234e3;
    font-size: 0.875rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .view-order-link {
        padding: 5px;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .product.previously-purchased-container .view-order-link:hover {
      color: #fb6f21; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #fb6f21;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #071e83; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #071e83; }
  .product.previously-purchased-container .content-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px 10px; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container .content-container {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .content-container {
        gap: 10px 40px; } }

table.custom-stock-table tbody td {
  text-align: left; }

table.custom-stock-table tbody tr[colspan="2"] td {
  border-bottom: 1px solid #eeeeee; }

@media screen and (min-width: 81.25em) {
  table.custom-stock-table tbody tr td:first-child {
    width: 300px; } }

#basket-form {
  margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    #basket-form {
      margin-bottom: 70px; } }

@media screen and (min-width: 81.25em) {
  #basket-content-container {
    margin: 30px 0 0; } }

#basket-table {
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    #basket-table td:not(.basket-description-col), #basket-table th:not(.basket-description-col) {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table.read-only td.basket-current-price-col {
      width: auto; } }
  #basket-table.read-only td.add-to-basket-col button {
    margin: auto; }
  #basket-table.read-only td.basket-quantity {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table.read-only td.basket-quantity {
        width: 20%;
        margin-right: 10px; } }
    #basket-table.read-only td.basket-quantity p {
      margin: 0; }
    #basket-table.read-only td.basket-quantity .label {
      margin-right: 10px;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        #basket-table.read-only td.basket-quantity .label {
          display: none; } }
  #basket-table .basket-description-col {
    --media-aspect-ratio: 1/1; }
    #basket-table .basket-description-col .image {
      width: 175px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 20px 0 0; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-description-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin: 0 40px 0 0; } }
      #basket-table .basket-description-col .image a {
        width: 155px; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image a {
            width: 132px;
            display: block;
            overflow: hidden; } }
      #basket-table .basket-description-col .image img {
        width: 155px;
        border: 1px solid #f0f0f0; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image img {
            width: 132px; } }
  #basket-table td.basket-description-col {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table td.basket-description-col {
        grid-column: 1 / 2 span; } }
  #basket-table .stock-description-level {
    min-width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px 0;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      #basket-table .stock-description-level {
        min-width: unset;
        margin-left: 0;
        padding: 25px 0; } }
    #basket-table .stock-description-level .group-description {
      color: #071e83;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.3; }
      #basket-table .stock-description-level .group-description:hover {
        color: #fb6f21;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #d0d0d0b3; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #333333;
      font-size: 1rem;
      font-weight: 700;
      text-transform: none;
      line-height: normal;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #fb6f21;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    #basket-table .stock-description-level .stock-indicator {
      margin-top: 5px; }
    #basket-table .stock-description-level .stockWarning {
      display: none;
      color: rgba(149, 149, 149, 0.6);
      font-size: 0.9375rem; }
      #basket-table .stock-description-level .stockWarning.active {
        display: block; }
      #basket-table .stock-description-level .stockWarning p {
        margin: 0;
        padding: 0; }
  #basket-table .subsidiary-description {
    color: #333333;
    font-size: 0.875rem;
    font-weight: 700; }
  #basket-table .non-returnable-description {
    font-style: italic;
    font-size: 0.9375rem;
    color: #000000; }
    #basket-table .non-returnable-description:before {
      content: "";
      padding: 0 5px 0 0;
      font-family: "fontello";
      font-style: normal;
      color: #ff5e05; }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-code-col {
      width: 10%;
      display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-price-col, #basket-table .basket-current-price-col {
      max-width: 15%;
      width: 100%; } }
  #basket-table .vat-rate-container {
    display: block; }
  #basket-table td.basket-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-price-col {
        display: table-cell; } }
  #basket-table td.basket-current-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-current-price-col {
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .add-to-basket-col {
      width: 15%; } }
  #basket-table .basket-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity {
        width: 10%;
        display: table-cell; } }
    #basket-table .basket-quantity .quantity-selector-container {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .quantity-selector-container {
          width: auto;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity .label {
        display: none; } }
    #basket-table .basket-quantity .input-number-group {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .input-number-group {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-sub-total {
      width: 11%; } }
  #basket-table .basket-sub-total span {
    width: 60%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: right; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-sub-total span {
        width: auto;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  #basket-table td.basket-sub-total-col {
    width: 50%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    font-weight: 600;
    color: #071e83; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-sub-total-col {
        width: auto;
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-remove-col {
      width: 5%; } }
  #basket-table td.basket-remove-col {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-remove-col {
        width: auto;
        display: table-cell; } }
  #basket-table .remove-button {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #basket-table .basketUpdateRow {
    border-top: 1px solid #959595; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row {
      display: grid;
      grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
      grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
      gap: 5px;
      padding: 10px; } }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row td {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  #basket-table .basket-description-col .col-label, #basket-table .basket-code-col .col-label, #basket-table .basket-sub-total-col .col-label {
    display: none; }

table.quick-order-form-table tbody tr {
  cursor: pointer; }
  @media print, screen and (max-width: 81.24875em) {
    table.quick-order-form-table tbody tr {
      display: grid;
      grid-template-columns: 100px 1fr 30px;
      gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td {
    padding: 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td:not(.image-col) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td {
    text-align: center;
    vertical-align: middle; } }

table.quick-order-form-table .image-col {
  grid-column: 1;
  grid-row: span 4; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .image-col {
      width: 12.2%; } }

table.quick-order-form-table .description-col {
  grid-column: 2 / span 3; }
  table.quick-order-form-table .description-col .stock-description-level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.quick-order-form-table .description-col .stock-description-level {
        margin: 0 0 0 10px; } }
  table.quick-order-form-table .description-col .description {
    color: #333333;
    font-size: 0.9375rem;
    font-weight: 700; }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td.description-col {
    width: 30%; } }

table.quick-order-form-table .code-col {
  grid-column: 2;
  grid-row: 2; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .code-col {
      width: 25%; } }

table.quick-order-form-table .price-col {
  grid-column: 2 / span 3;
  grid-row: 3; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .price-col {
      width: 20%; } }

table.quick-order-form-table .quantity-col {
  grid-row: 4; }

table.quick-order-form-table .add-col {
  grid-column: 2;
  grid-row: 5; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .add-col {
      width: 18.9%;
      text-align: center; } }
  table.quick-order-form-table .add-col .addToBasket.icon, table.quick-order-form-table .add-col .basket-add-button {
    margin-left: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table tbody tr, table#basket-table.basket-table tbody tr {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

table.basket-table tbody td, table#basket-table.basket-table tbody td {
  vertical-align: middle; }
  table.basket-table tbody td .col-label, table#basket-table.basket-table tbody td .col-label {
    display: inline-block; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col, table#basket-table.basket-table td.basket-description-col {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col .image, table#basket-table.basket-table td.basket-description-col .image {
    width: auto;
    margin: 0; } }

table.basket-table td.basket-description-col .stock-description-level, table#basket-table.basket-table td.basket-description-col .stock-description-level {
  gap: 10px 0; }
  table.basket-table td.basket-description-col .stock-description-level .stock-indicator, table#basket-table.basket-table td.basket-description-col .stock-description-level .stock-indicator {
    margin: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table.basket-table .basket-price-col, table.basket-table .basket-quantity, table.basket-table .basket-sub-total-col, table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-code-col, table#basket-table.basket-table .basket-price-col, table#basket-table.basket-table .basket-quantity, table#basket-table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-remove-col {
    width: 100%;
    display: grid;
    grid-template-columns: 50% 50%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table#basket-table.basket-table .basket-code-col {
    grid-column: 2;
    grid-row: 2; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-price-col, table#basket-table.basket-table .basket-price-col {
    grid-column: 2;
    grid-row: 3; } }

table.basket-table .basket-price-col .basket-price-container, table#basket-table.basket-table .basket-price-col .basket-price-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  table.basket-table .basket-price-col .basket-price-container.align-right, table#basket-table.basket-table .basket-price-col .basket-price-container.align-right {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-price-col .vat-rate-container, table#basket-table.basket-table .basket-price-col .vat-rate-container {
    text-align: right; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-quantity, table#basket-table.basket-table .basket-quantity {
    grid-column: 2;
    grid-row: 4;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    grid-column: 2;
    grid-row: 5; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    width: 10%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-remove-col {
    grid-column: 2;
    grid-row: 6; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col .remove-button, table#basket-table.basket-table .basket-remove-col .remove-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

#basket-sticky-summary-container {
  position: relative; }

@media print, screen and (max-width: 81.24875em) {
  #basket .basket-item-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

#basket #basket-delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 30px;
  padding: 20px;
  background-color: transparent;
  border: 1px solid #d0d0d0;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    #basket #basket-delivery {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 0 35px;
      padding: 45px; } }
  #basket #basket-delivery h2 {
    position: relative;
    margin: 0 0 35px;
    color: #071e83;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #183ad3; }
  #basket #basket-delivery .cms-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      #basket #basket-delivery .cms-container {
        width: 50%;
        margin-right: 20px;
        font-size: 0.8125rem; } }
    #basket #basket-delivery .cms-container p {
      margin: 0 0 20px; }

#basket .checkout-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px; }
  #basket .checkout-buttons-container:has(.seperator:not(:empty)) {
    gap: 20px; }
  #basket .checkout-buttons-container.invalid a {
    cursor: no-drop; }
  #basket .checkout-buttons-container #sagepay-checkout-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px 5px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #ffffff;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      #basket .checkout-buttons-container #sagepay-checkout-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket .checkout-buttons-container #sagepay-checkout-button:hover, #basket .checkout-buttons-container #sagepay-checkout-button.hover {
        color: #ffffff;
        background-color: #183ad3;
        border-color: #183ad3;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket .checkout-buttons-container #sagepay-checkout-button:hover .graduated-colour-edge .step, #basket .checkout-buttons-container #sagepay-checkout-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket .checkout-buttons-container #sagepay-checkout-button:active, #basket .checkout-buttons-container #sagepay-checkout-button.active {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled, #basket .checkout-buttons-container #sagepay-checkout-button.disabled, #basket .checkout-buttons-container #sagepay-checkout-button[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    #basket .checkout-buttons-container #sagepay-checkout-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    #basket .checkout-buttons-container #sagepay-checkout-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket .checkout-buttons-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    font-size: 1rem;
    text-transform: uppercase; }

.summary-item-input-container + .checkout-buttons-container, .summary-item + .checkout-buttons-container {
  margin: 20px 0 0; }

.summary-item-input-container.voucher label:before {
  content: ""; }

.summary-item-input-container.vat label:before {
  content: ""; }

.summary-item-input-container {
  width: 100%;
  margin: 30px 0 25px;
  padding: 0; }
  .summary-item-input-container label {
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    color: #071e83;
    font-size: 0.9375rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #183ad3;
      font-family: "Font Awesome Solid";
      font-size: 0.9375rem; }
  .summary-item-input-container .summary-input-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 10px; }
    .summary-item-input-container .summary-input-container.is-invalid-container + .form-error {
      display: block;
      margin: 15px 0 0;
      padding: 0; }
  .summary-item-input-container .summary-input {
    height: 35px;
    margin: 0;
    padding: 0 0 0 5px;
    background-color: transparent;
    border: 0;
    font-size: 0.9375rem;
    color: #000000; }
    .summary-item-input-container .summary-input:hover, .summary-item-input-container .summary-input:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .summary-item-input-container .summary-input::-webkit-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 0.9375rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #183ad3; }
  .summary-item-input-container .summary-input-submit.apply {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #8f95a5;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.apply {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.apply:hover, .summary-item-input-container .summary-input-submit.apply.hover {
        color: #ffffff;
        background-color: #fb6f21;
        border-color: #fb6f21;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.apply:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.apply.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.apply:active, .summary-item-input-container .summary-input-submit.apply.active {
      color: #ffffff;
      background-color: #183ad3;
      border-color: #183ad3;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.apply:disabled, .summary-item-input-container .summary-input-submit.apply.disabled, .summary-item-input-container .summary-input-submit.apply[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.apply:disabled:hover, .summary-item-input-container .summary-input-submit.apply.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .summary-item-input-container .summary-input-submit.apply:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .summary-item-input-container .summary-input-submit.apply .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .summary-input-submit.remove {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #c00000;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.remove {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.remove:hover, .summary-item-input-container .summary-input-submit.remove.hover {
        color: #ffffff;
        background-color: #333333;
        border-color: #333333;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.remove:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.remove.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.remove:active, .summary-item-input-container .summary-input-submit.remove.active {
      color: #ffffff;
      background-color: #183ad3;
      border-color: #183ad3;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.remove:disabled, .summary-item-input-container .summary-input-submit.remove.disabled, .summary-item-input-container .summary-input-submit.remove[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.remove:disabled:hover, .summary-item-input-container .summary-input-submit.remove.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .summary-item-input-container .summary-input-submit.remove:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .summary-item-input-container .summary-input-submit.remove .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .callout {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 10px 0;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    .summary-item-input-container .callout:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .callout {
        gap: 0 15px; } }
    .summary-item-input-container .callout:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .summary-item-input-container .callout.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .summary-item-input-container .callout.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-2 {
          padding: 15px 65px; } }
    .summary-item-input-container .callout.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-3 {
          padding: 15px 0; } }
    .summary-item-input-container .callout.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 10px; }
      .summary-item-input-container .callout.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.success:has(.content-container):before {
        color: #12811f; }
      .summary-item-input-container .callout.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .summary-item-input-container .callout.success h1, .summary-item-input-container .callout.success h2, .summary-item-input-container .callout.success h3, .summary-item-input-container .callout.success h4, .summary-item-input-container .callout.success h5, .summary-item-input-container .callout.success h6, .summary-item-input-container .callout.success p, .summary-item-input-container .callout.success a {
        color: #12811f; }
    .summary-item-input-container .callout.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 10px; }
      .summary-item-input-container .callout.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.warning:has(.content-container):before {
        color: #ff5e05; }
      .summary-item-input-container .callout.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .summary-item-input-container .callout.warning h1, .summary-item-input-container .callout.warning h2, .summary-item-input-container .callout.warning h3, .summary-item-input-container .callout.warning h4, .summary-item-input-container .callout.warning h5, .summary-item-input-container .callout.warning h6, .summary-item-input-container .callout.warning p, .summary-item-input-container .callout.warning a {
        color: #ff5e05; }
    .summary-item-input-container .callout.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 10px; }
      .summary-item-input-container .callout.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.alert:has(.content-container):before {
        color: #b20c0c; }
      .summary-item-input-container .callout.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .summary-item-input-container .callout.alert h1, .summary-item-input-container .callout.alert h2, .summary-item-input-container .callout.alert h3, .summary-item-input-container .callout.alert h4, .summary-item-input-container .callout.alert h5, .summary-item-input-container .callout.alert h6, .summary-item-input-container .callout.alert p, .summary-item-input-container .callout.alert a {
        color: #b20c0c; }
    .summary-item-input-container .callout.disabled p {
      color: #959595;
      font-weight: 600; }
    .summary-item-input-container .callout.information {
      background-color: #ebebeb;
      border: 1px solid #000000; }
      .summary-item-input-container .callout.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.information:has(.content-container):before {
        color: #000000; }
      .summary-item-input-container .callout.information p {
        color: #000000;
        font-weight: 600; }
    .summary-item-input-container .callout.icon-non-returnable {
      --font-family: fontello; }
      .summary-item-input-container .callout.icon-non-returnable:before {
        content: ""; }
    .summary-item-input-container .callout .user-friendly-prefix {
      margin-right: 5px; }
    .summary-item-input-container .callout > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .summary-item-input-container .callout > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .summary-item-input-container .callout > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .summary-item-input-container .callout .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout .content-container {
          margin: 0; } }
    .summary-item-input-container .callout p {
      margin: var(--indent-margin, 0);
      font-size: 1.125rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .summary-item-input-container .callout p img[style*="float:left"], .summary-item-input-container .callout p img[style*="float: left"], .summary-item-input-container .callout p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .summary-item-input-container .callout p img[style*="float:right"], .summary-item-input-container .callout p img[style*="float: right"], .summary-item-input-container .callout p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .summary-item-input-container .callout p img {
        margin: .2em 0; }
      .summary-item-input-container .callout p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .summary-item-input-container .callout p:not(:empty) + table, .summary-item-input-container .callout p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .summary-item-input-container .callout table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .summary-item-input-container .callout table:not([class*=preset]) thead {
        background-color: transparent; }
        .summary-item-input-container .callout table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .summary-item-input-container .callout table:not([class*=preset]) thead th {
          font-weight: 700; }
      .summary-item-input-container .callout table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table.responsive-table {
            display: table; } }
        .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .summary-item-input-container .callout table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout table td {
          padding: 10px; } }
      .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .summary-item-input-container .callout table tbody {
        background-color: transparent; }
        .summary-item-input-container .callout table tbody th {
          background-color: transparent; }
        .summary-item-input-container .callout table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table tbody tr {
            display: table-row; } }
      .summary-item-input-container .callout table .col-label {
        color: #333333; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .summary-item-input-container .callout table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .summary-item-input-container .callout table.comparison-table tbody td:first-child {
        color: #333333;
        font-weight: 700; }
    .summary-item-input-container .callout blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      text-align: center;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .summary-item-input-container .callout blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .summary-item-input-container .callout blockquote:hover:before {
          color: #d0d0d0;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .summary-item-input-container .callout blockquote:has(img) {
        text-align: left; }
      .summary-item-input-container .callout blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          padding: 50px 60px; } }
      .summary-item-input-container .callout blockquote + blockquote {
        margin-top: 15px; }
      .summary-item-input-container .callout blockquote:before, .summary-item-input-container .callout blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .summary-item-input-container .callout blockquote:before {
        top: 0;
        left: 0; }
      .summary-item-input-container .callout blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .summary-item-input-container .callout blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout blockquote img {
            text-align: left; } }
    .summary-item-input-container .callout a[href^="tel:"], .summary-item-input-container .callout a[href^="mailto:"] {
      font-weight: 700; }
      .summary-item-input-container .callout a[href^="tel:"]:hover, .summary-item-input-container .callout a[href^="mailto:"]:hover {
        text-decoration: none; }
      .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before, .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .summary-item-input-container .callout p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .summary-item-input-container .callout p a:has([style*="float"]) {
      display: inline; }
    .summary-item-input-container .callout a {
      text-decoration: underline; }
    .summary-item-input-container .callout > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout > p:first-of-type {
          padding-top: 24px; } }

.summary-item-input-container + .warning-container {
  margin-top: 0; }

.warning-container {
  margin: 20px 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #b20c0c; }
  .warning-container p {
    margin: 0; }

#basket-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 35px;
  gap: 15px 0; }
  @media print, screen and (min-width: 40em) {
    #basket-controls {
      margin: 25px 0 50px;
      gap: 15px 0; } }
  #basket-controls .buttons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    gap: 15px; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        gap: 15px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container a {
        margin-bottom: 0; } }
  #basket-controls .update-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .update-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .update-basket:hover, #basket-controls .update-basket.hover {
        color: #ffffff;
        background-color: #fb6f21;
        border-color: #fb6f21;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .update-basket:hover:after, #basket-controls .update-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .update-basket:hover .graduated-colour-edge .step, #basket-controls .update-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .update-basket:active, #basket-controls .update-basket.active {
      background-color: #071e83;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .update-basket:disabled, #basket-controls .update-basket.disabled, #basket-controls .update-basket[disabled] {
      color: #aeaeae;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
      #basket-controls .update-basket:disabled:after, #basket-controls .update-basket.disabled:after, #basket-controls .update-basket[disabled]:after {
        color: #5c5c5c; }
    #basket-controls .update-basket:disabled:hover, #basket-controls .update-basket.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    #basket-controls .update-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    #basket-controls .update-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .update-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket-controls .empty-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .empty-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .empty-basket:hover, #basket-controls .empty-basket.hover {
        color: #ffffff;
        background-color: #fb6f21;
        border-color: #fb6f21;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .empty-basket:hover:after, #basket-controls .empty-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .empty-basket:hover .graduated-colour-edge .step, #basket-controls .empty-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .empty-basket:active, #basket-controls .empty-basket.active {
      background-color: #071e83;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .empty-basket:disabled, #basket-controls .empty-basket.disabled, #basket-controls .empty-basket[disabled] {
      color: #959595;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
      #basket-controls .empty-basket:disabled:after, #basket-controls .empty-basket.disabled:after, #basket-controls .empty-basket[disabled]:after {
        color: #5c5c5c; }
    #basket-controls .empty-basket:disabled:hover, #basket-controls .empty-basket.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    #basket-controls .empty-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    #basket-controls .empty-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .empty-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.quick-order-form-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 15px; }
  @media screen and (min-width: 81.25em) {
    .quick-order-form-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      gap: 15px; } }
  .quick-order-form-container .search-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .quick-order-form-container .search-container .control.search {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search {
          max-width: 415px; } }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search input {
          width: 305px; } }
    .quick-order-form-container .search-container .input-prefix-icon {
      padding-right: 10px;
      padding-left: 10px; }
      .quick-order-form-container .search-container .input-prefix-icon:before {
        content: "+";
        color: #071e83;
        font-size: 22px;
        font-family: "Font Awesome Solid"; }
    .quick-order-form-container .search-container .form-error {
      padding-left: 0; }

.basket-total-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  background-color: #04007b;
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff; }
  .basket-total-container .label {
    margin-right: 10px; }

.basket-total-sticky-container {
  height: 0 !important;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .basket-total-sticky-container {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .summary-sticky-container {
    width: 100%;
    height: auto !important; } }

@media screen and (min-width: 81.25em) {
  .summary-sticky-container {
    width: 310px;
    margin-left: auto; } }

#basket-summary, .summary-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 20px;
  padding: 40px;
  background-color: var(--primary-colour-lightness-10);
  border-radius: 10px; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-summary, .summary-container {
      max-width: 100% !important;
      width: 100%;
      position: unset; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary, .summary-container {
      width: 310px;
      margin: 0 0 0 auto; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-stuck, .summary-container.is-stuck {
      position: fixed; } }
  #basket-summary.is-stuck:not(.no-animate), .summary-container.is-stuck:not(.no-animate) {
    -webkit-transition: top 0.6s;
    transition: top 0.6s; }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-anchored, .summary-container.is-anchored {
      position: absolute; } }
  #basket-summary.is-anchored.is-at-top, .summary-container.is-anchored.is-at-top {
    margin-top: 0 !important; }
  #basket-summary.is-anchored:not(.no-animate), .summary-container.is-anchored:not(.no-animate) {
    -webkit-transition: top 0.8s;
    transition: top 0.8s; }
  #basket-summary.preset-1 #voucher-container, .summary-container.preset-1 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-1 #goods-summary-value, .summary-container.preset-1 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-1 #voucher-summary-value, .summary-container.preset-1 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-1 #delivery-summary-value, .summary-container.preset-1 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-1 #total-value, .summary-container.preset-1 #total-value {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-1 #total-value:before, .summary-container.preset-1 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
    #basket-summary.preset-1 #total-value:after, .summary-container.preset-1 #total-value:after {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-1 #net-summary-value, .summary-container.preset-1 #net-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7; }
  #basket-summary.preset-1 #vat-summary-value, .summary-container.preset-1 #vat-summary-value {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
  #basket-summary.preset-1 #vat-input-container, .summary-container.preset-1 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-1 #edit-basket-container, .summary-container.preset-1 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-1 #summary-warning-container, .summary-container.preset-1 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-1 .checkout-buttons-container, .summary-container.preset-1 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary.preset-2 #voucher-container, .summary-container.preset-2 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-2 #goods-summary-value, .summary-container.preset-2 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-2 #voucher-summary-value, .summary-container.preset-2 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-2 #delivery-summary-value, .summary-container.preset-2 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-2 #total-value, .summary-container.preset-2 #total-value {
    padding: 0;
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
    #basket-summary.preset-2 #total-value:before, .summary-container.preset-2 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #net-summary-value, .summary-container.preset-2 #net-summary-value {
    padding: 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-2 #net-summary-value:before, .summary-container.preset-2 #net-summary-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #vat-summary-value, .summary-container.preset-2 #vat-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    position: relative; }
  #basket-summary.preset-2 #vat-input-container, .summary-container.preset-2 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-2 #edit-basket-container, .summary-container.preset-2 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-2 #summary-warning-container, .summary-container.preset-2 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-2 .checkout-buttons-container, .summary-container.preset-2 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary .basket-summary-heading, #basket-summary .summary-heading, .summary-container .basket-summary-heading, .summary-container .summary-heading {
    margin: 0;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #071e83;
    text-transform: none; }
  #basket-summary .summary-intro-container, .summary-container .summary-intro-container {
    margin: 0 0 20px; }
    #basket-summary .summary-intro-container p, .summary-container .summary-intro-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem; }
  #basket-summary .summary-item, .summary-container .summary-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5px 0 0;
    font-size: 1rem;
    color: #000000; }
    #basket-summary .summary-item.highlighted, .summary-container .summary-item.highlighted {
      color: var(--accent-colour-1-lightness-0);
      font-weight: 600; }
    #basket-summary .summary-item span, .summary-container .summary-item span {
      display: inline-block; }
      #basket-summary .summary-item span.value, #basket-summary .summary-item span.label, .summary-container .summary-item span.value, .summary-container .summary-item span.label {
        width: 100%; }
      #basket-summary .summary-item span.label, .summary-container .summary-item span.label {
        max-width: 60%;
        font-weight: 400; }
      #basket-summary .summary-item span.value, .summary-container .summary-item span.value {
        max-width: 40%;
        text-align: right;
        font-weight: 400; }
    #basket-summary .summary-item .incVat, .summary-container .summary-item .incVat {
      width: 100%;
      text-align: right;
      font-size: 1rem;
      font-weight: 400;
      font-style: italic; }
  #basket-summary #total-value .label, #basket-summary #total-value .value, .summary-container #total-value .label, .summary-container #total-value .value {
    color: #071e83;
    font-size: 1rem;
    font-weight: 700;
    text-transform: none; }
  #basket-summary #edit-basket-container, .summary-container #edit-basket-container {
    position: relative;
    margin: 30px 7px 0 0;
    color: #071e83;
    font-size: 0.75rem;
    text-align: right; }
    #basket-summary #edit-basket-container:after, .summary-container #edit-basket-container:after {
      content: "";
      width: 10px;
      height: 10px;
      display: inline-block;
      margin-left: 5px;
      font-size: 1rem;
      font-family: "Font Awesome Solid";
      line-height: 1; }
    #basket-summary #edit-basket-container:hover, .summary-container #edit-basket-container:hover {
      color: #fb6f21; }
    #basket-summary #edit-basket-container:active, .summary-container #edit-basket-container:active {
      color: #333333; }

@media screen and (min-width: 81.25em) {
  #delivery-selector {
    width: 50%; } }

#delivery-selector select, #delivery-selector label {
  width: 100%; }

#delivery-selector .delivery-label {
  margin: 10px 0;
  color: #071e83;
  font-weight: 600; }

@media screen and (min-width: 81.25em) {
  #delivery-selector .delivery-service, #delivery-selector .delivery-area {
    width: 405px;
    margin: 0 0 0 auto; } }

#delivery-selector .delivery-service.disabled {
  opacity: 0.5; }

.link-failed-container {
  margin: 0 0 50px;
  text-align: center; }
  .link-failed-container .link-failed-heading {
    margin: 0 0 30px;
    color: #ff0101;
    font-size: 1.375rem;
    font-weight: 400; }
  .link-failed-container .primary-button {
    margin-right: auto;
    margin-left: auto; }

.account-menu-items-container .account-page [class*="-icon"]:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].customer-assets:before, .account-menu-items-container .account-page [class*="-icon"].function-1:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].branch-switcher:before, .account-menu-items-container .account-page [class*="-icon"].account-switcher:before, .account-menu-items-container .account-page [class*="-icon"].function-2:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-calls:before, .account-menu-items-container .account-page [class*="-icon"].function-3:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-details:before, .account-menu-items-container .account-page [class*="-icon"].function-4:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contact-preferences:before, .account-menu-items-container .account-page [class*="-icon"].function-5:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contract-items:before, .account-menu-items-container .account-page [class*="-icon"].function-6:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].service-contracts:before, .account-menu-items-container .account-page [class*="-icon"].function-7:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].software-development-logs:before, .account-menu-items-container .account-page [class*="-icon"].function-8:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-download:before, .account-menu-items-container .account-page [class*="-icon"].function-9:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].online-documentation:before, .account-menu-items-container .account-page [class*="-icon"].function-10:before, .account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].favourites:before, .account-menu-items-container .account-page [class*="-icon"].function-11:before {
  content: "";
  font-family: "Font Awesome Regular"; }

.account-menu-items-container .account-page [class*="-icon"].logout:before, .account-menu-items-container .account-page [class*="-icon"].function-13:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].view-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-15:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-password:before, .account-menu-items-container .account-page [class*="-icon"].function-16:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-cards:before, .account-menu-items-container .account-page [class*="-icon"].function-17:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].payment-requests:before, .account-menu-items-container .account-page [class*="-icon"].function-18:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].download-price-lists:before, .account-menu-items-container .account-page [class*="-icon"].function-19:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].recently-purchased:before, .account-menu-items-container .account-page [class*="-icon"].function-21:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].site-list:before, .account-menu-items-container .account-page [class*="-icon"].function-22:before {
  content: "";
  color: #5f7b27; }

.account-menu-items-container .account-page [class*="-icon"].statement:before, .account-menu-items-container .account-page [class*="-icon"].function-24:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].historical-transactions:before, .account-menu-items-container .account-page [class*="-icon"].function-25:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-basket:before, .account-menu-items-container .account-page [class*="-icon"].function-26:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-27:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-users:before, .account-menu-items-container .account-page [class*="-icon"].function-28:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].employee-status:before, .account-menu-items-container .account-page [class*="-icon"].function-29:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-database:before, .account-menu-items-container .account-page [class*="-icon"].function-30:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].function-31:before {
  content: "";
  font-family: "Font Awesome Brands";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-32:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-33:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: "";
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 17px;
  border-radius: 40px;
  background-color: var(--primary-colour-lightness-0);
  color: var(--white-colour);
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page [class*="-icon"].function-35:before {
  content: "";
  color: #663399; }

.menu .account-menu-sections {
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .menu .account-menu-sections {
      margin-top: 0; } }
  .menu .account-menu-sections .account-page a {
    gap: 10px;
    padding: 5px; }
    .menu .account-menu-sections .account-page a .page-icon {
      font-size: 20px; }
      .menu .account-menu-sections .account-page a .page-icon.change-password, .menu .account-menu-sections .account-page a .page-icon.function-16 {
        font-size: 5.33333px; }
  .menu .account-menu-sections .account-menu-heading-container {
    margin: 5px 0 10px; }

.account-menu-heading-container {
  margin: 35px 0 20px; }

.account-menu-items-container .cell {
  margin-bottom: 10px; }

.account-menu-items-container .account-page {
  height: 100%;
  cursor: pointer; }
  .account-menu-items-container .account-page.site-style span[class*="-icon"]:before {
    color: var(--primary-colour-lightness-0); }
  .account-menu-items-container .account-page a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    padding: 19px;
    color: #000000;
    background-color: #f0f0f0;
    border: 1px solid #f0f0f0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .account-menu-items-container .account-page a:hover {
      background-color: #071e83;
      border-color: #071e83; }
      .account-menu-items-container .account-page a:hover span[class*="-description"] {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .account-menu-items-container .account-page a:hover span[class*="-icon"]:before {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .account-menu-items-container .account-page span[class*="-description"] {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #000000;
    font-weight: 700;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .account-menu-items-container .account-page span[class*="-icon"] {
    width: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .account-menu-items-container .account-page span[class*="-icon"]:before {
      font-family: "fontello";
      font-weight: 400;
      color: var(--primary-colour-lightness-0);
      line-height: 1;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .account-menu-items-container .account-page:hover span[class*="-icon"].function-34:before {
    background-color: var(--white-colour);
    color: var(--primary-colour-lightness-0);
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page .page-icon {
  font-size: 30px; }
  .account-menu-items-container .account-page .page-icon.change-password, .account-menu-items-container .account-page .page-icon.function-16 {
    font-size: 8px; }
  .account-menu-items-container .account-page .page-icon.change-details, .account-menu-items-container .account-page .page-icon.function-4 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.manage-cards, .account-menu-items-container .account-page .page-icon.function-17 {
    font-size: 23px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-9 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-35 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.logout, .account-menu-items-container .account-page .page-icon.function-29 {
    font-size: 25px; }

.account-menu .account-menu-items-container .account-page .page-icon {
  font-size: 20px; }

.account-menu h2 {
  padding-bottom: 10px;
  font-size: 1.25rem; }
  @media screen and (min-width: 81.25em) {
    .account-menu h2 {
      font-size: 1.0625rem; } }

#account-page-grid .account-page {
  padding: 0 0 20px; }
  #account-page-grid .account-page a {
    display: block;
    padding: 35px 20px 30px; }

#account-page-grid .page-icon.change-details:before {
  font-size: 45px; }

#account-page-grid .page-icon.change-password:before {
  font-size: 13px; }

#account-page-grid .page-icon.contract-items:before {
  font-size: 65px; }

#account-page-grid .page-icon.favourites:before {
  font-size: 45px; }

#account-page-grid .page-icon.view-orders:before {
  font-size: 55px; }

#account-page-grid .page-icon.recently-purchased:before {
  font-size: 65px; }

#account-page-grid .page-icon.manage-cards:before {
  font-size: 35px; }

#account-page-grid .page-icon.statement:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-users:before {
  font-size: 55px; }

#account-page-grid .page-icon.branch-switcher:before, #account-page-grid .page-icon.account-switcher:before {
  font-size: 60px; }

#account-page-grid .page-icon.contact-preferences:before {
  font-size: 60px; }

#account-page-grid .page-icon.historical-transactions:before {
  font-size: 60px; }

#account-page-grid .page-icon.upload-basket:before {
  font-size: 45px; }

#account-page-grid .page-icon.upload-orders:before {
  font-size: 45px; }

#account-page-grid .page-icon.logout:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-calls:before {
  font-size: 45px; }

#account-page-grid .page-icon.service-contracts:before {
  font-size: 45px; }

#account-page-grid .page-icon.customer-assets:before {
  font-size: 45px; }

#account-page-grid .page-icon.payment-requests {
  font-size: 45px; }

#account-page-grid .page-icon.download-price-lists {
  font-size: 45px; }

#account-page-grid .page-icon.site-list {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-download {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-database {
  font-size: 45px; }

#account-page-grid .page-icon.online-documentation {
  font-size: 45px; }

.account-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .account-sorting-options {
      margin: 0 0 10px; } }
  .account-sorting-options .sort-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option {
        width: auto;
        height: 100%;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter {
        max-width: 490px; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter select, .account-sorting-options .sort-option.branch-filter .control-select-dropdown {
        width: 300px; } }
    .account-sorting-options .sort-option.branch-filter .tooltip-container {
      -ms-flex-item-align: center;
          align-self: center;
      margin-left: 5px; }
    .account-sorting-options .sort-option.pagination {
      margin-right: 0;
      margin-left: auto; }
    .account-sorting-options .sort-option .label, .account-sorting-options .sort-option .paginationLabel {
      width: auto;
      margin-right: 10px;
      white-space: nowrap; }

.account-buttons-container {
  margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .account-buttons-container {
      width: 235px; } }
  .account-buttons-container.center-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.order-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .order-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto; } }
  .order-container + .responsive-tabs {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .order-container + .responsive-tabs {
        margin-top: 40px; } }
  .order-container.payment-confirmation {
    margin-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation {
        margin-bottom: 20px; } }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation .order-details-container .order-details, .order-container.payment-confirmation .order-details-container .order-delivery {
        width: calc(50% - 10px); } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table {
      width: 970px;
      margin-right: auto;
      margin-left: 0; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table .basket-price-col {
      width: 15%; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table td.basket-description-col {
      width: 515px; } }
  .order-container #order-table {
    margin: 20px auto 25px; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table td:not(.basket-description-col), .order-container #order-table th:not(.basket-description-col) {
        text-align: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table.read-only td.basket-current-price-col {
        width: auto; } }
    .order-container #order-table.read-only td.add-to-basket-col button {
      margin: auto; }
    .order-container #order-table.read-only td.basket-quantity {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table.read-only td.basket-quantity {
          width: 20%;
          margin-right: 10px; } }
      .order-container #order-table.read-only td.basket-quantity p {
        margin: 0; }
      .order-container #order-table.read-only td.basket-quantity .label {
        margin-right: 10px;
        font-weight: 600; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table.read-only td.basket-quantity .label {
            display: none; } }
    .order-container #order-table .basket-description-col {
      --media-aspect-ratio: 1/1; }
      .order-container #order-table .basket-description-col .image {
        width: 175px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 20px 0 0; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-description-col .image {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0 40px 0 0; } }
        .order-container #order-table .basket-description-col .image a {
          width: 155px; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image a {
              width: 132px;
              display: block;
              overflow: hidden; } }
        .order-container #order-table .basket-description-col .image img {
          width: 155px;
          border: 1px solid #f0f0f0; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image img {
              width: 132px; } }
    .order-container #order-table td.basket-description-col {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table td.basket-description-col {
          grid-column: 1 / 2 span; } }
    .order-container #order-table .stock-description-level {
      min-width: 40%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 10px 0;
      padding: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .stock-description-level {
          min-width: unset;
          margin-left: 0;
          padding: 25px 0; } }
      .order-container #order-table .stock-description-level .group-description {
        color: #071e83;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.3; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #fb6f21;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #d0d0d0b3; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #333333;
        font-size: 1rem;
        font-weight: 700;
        text-transform: none;
        line-height: normal;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #fb6f21;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .order-container #order-table .stock-description-level .stock-indicator {
        margin-top: 5px; }
      .order-container #order-table .stock-description-level .stockWarning {
        display: none;
        color: rgba(149, 149, 149, 0.6);
        font-size: 0.9375rem; }
        .order-container #order-table .stock-description-level .stockWarning.active {
          display: block; }
        .order-container #order-table .stock-description-level .stockWarning p {
          margin: 0;
          padding: 0; }
    .order-container #order-table .subsidiary-description {
      color: #333333;
      font-size: 0.875rem;
      font-weight: 700; }
    .order-container #order-table .non-returnable-description {
      font-style: italic;
      font-size: 0.9375rem;
      color: #000000; }
      .order-container #order-table .non-returnable-description:before {
        content: "";
        padding: 0 5px 0 0;
        font-family: "fontello";
        font-style: normal;
        color: #ff5e05; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-code-col {
        width: 10%;
        display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-price-col, .order-container #order-table .basket-current-price-col {
        max-width: 15%;
        width: 100%; } }
    .order-container #order-table .vat-rate-container {
      display: block; }
    .order-container #order-table td.basket-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-price-col {
          display: table-cell; } }
    .order-container #order-table td.basket-current-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-current-price-col {
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .add-to-basket-col {
        width: 15%; } }
    .order-container #order-table .basket-quantity {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity {
          width: 10%;
          display: table-cell; } }
      .order-container #order-table .basket-quantity .quantity-selector-container {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .quantity-selector-container {
            width: auto;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity .label {
          display: none; } }
      .order-container #order-table .basket-quantity .input-number-group {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .input-number-group {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-sub-total {
        width: 11%; } }
    .order-container #order-table .basket-sub-total span {
      width: 60%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      text-align: right; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-sub-total span {
          width: auto;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1; } }
    .order-container #order-table td.basket-sub-total-col {
      width: 50%;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4;
      font-weight: 600;
      color: #071e83; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-sub-total-col {
          width: auto;
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-remove-col {
        width: 5%; } }
    .order-container #order-table td.basket-remove-col {
      width: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-ordinal-group: 7;
          -ms-flex-order: 6;
              order: 6; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-remove-col {
          width: auto;
          display: table-cell; } }
    .order-container #order-table .remove-button {
      width: 80px;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      color: #959595;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .order-container #order-table .basketUpdateRow {
      border-top: 1px solid #959595; }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row {
        display: grid;
        grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
        grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
        gap: 5px;
        padding: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline; } }
  .order-container #basket-summary {
    margin: 0; }
  .order-container #basket-summary {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.order-details, .order-delivery, .enquiry-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
  padding: 15px 20px;
  background-color: #f0f0f0;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .order-details, .order-delivery, .enquiry-details-container {
      width: auto;
      margin: 0;
      padding: 30px 40px; } }
  .order-details.inline, .order-delivery.inline, .enquiry-details-container.inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 20px; }
    .order-details.inline .order-detail-heading, .order-delivery.inline .order-detail-heading, .enquiry-details-container.inline .order-detail-heading {
      margin: 0; }
    @media screen and (min-width: 81.25em) {
      .order-details.inline .detail-item-container > span, .order-delivery.inline .detail-item-container > span, .enquiry-details-container.inline .detail-item-container > span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: 5px; } }
    .order-details.inline .detail-item-container > address, .order-delivery.inline .detail-item-container > address, .enquiry-details-container.inline .detail-item-container > address {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      gap: 5px; }
      .order-details.inline .detail-item-container > address span, .order-delivery.inline .detail-item-container > address span, .enquiry-details-container.inline .detail-item-container > address span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        white-space: nowrap; }
        .order-details.inline .detail-item-container > address span:not(:last-child):after, .order-delivery.inline .detail-item-container > address span:not(:last-child):after, .enquiry-details-container.inline .detail-item-container > address span:not(:last-child):after {
          content: ',';
          display: inline-block; }
  .order-details.payer-details, .order-delivery.payer-details, .enquiry-details-container.payer-details {
    padding: 20px 20px; }

.order-detail-heading, .order-delivery-heading, .enquiry-details-heading {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 5px;
  margin: 0 0 25px;
  border-bottom: 1px solid #aeaeae; }
  .order-detail-heading h3, .order-delivery-heading h3, .enquiry-details-heading h3 {
    font-size: 1.375rem;
    font-weight: 400; }
  .order-detail-heading a.edit, .order-delivery-heading a.edit, .enquiry-details-heading a.edit {
    margin-left: auto; }

.detail-item-container, .delivery-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .detail-item-container:has(> p:empty), .delivery-item-container:has(> p:empty) {
    display: none; }
  .detail-item-container > span, .delivery-item-container > span {
    width: 100%;
    display: inline-block;
    color: #071e83;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > span, .delivery-item-container > span {
        width: 170px; } }
  .detail-item-container > p, .delivery-item-container > p {
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > p, .delivery-item-container > p {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .detail-item-container a, .delivery-item-container a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-weight: 700;
    font-size: 0.875rem; }
  .detail-item-container address, .delivery-item-container address {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 0.875rem; }

.basket-current-price-col {
  position: relative;
  color: #ff0101; }
  .basket-current-price-col .current-price-saving {
    position: relative;
    color: #071e83;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .basket-current-price-col .current-price-saving {
        width: 70px;
        position: absolute;
        top: 35px;
        right: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto; } }
    .basket-current-price-col .current-price-saving:after {
      content: '\f0dd';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 0;
      color: #ff0101;
      font-family: "Font Awesome Solid";
      font-size: 13px; }

.order-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .order-details-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .order-details-container .grid-x {
    width: calc(100% + 10px); }
    @media print, screen and (min-width: 40em) {
      .order-details-container .grid-x {
        width: calc(100% + 20px); } }

.requisition-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 81.25em) {
    .requisition-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto 50px; } }

.package-reference-container {
  font-size: 1rem;
  font-weight: 700; }
  .package-reference-container .label {
    display: inline-block; }
  .package-reference-container .container-reference {
    display: inline-block;
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .package-reference-container .container-reference {
        margin-right: 30px;
        margin-left: 15px; } }
    @media screen and (min-width: 81.25em) {
      .package-reference-container .container-reference {
        margin-right: 60px;
        margin-left: 30px; } }

.users-found-count {
  margin-bottom: 30px;
  font-size: 1rem; }
  @media screen and (min-width: 81.25em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #071e83;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 1rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      #users-table td .label {
        display: none; } }

#users-table td.users-contact-col {
  font-weight: 700;
  color: #333333; }

#users-table .users-account-col {
  text-align: left; }
  @media screen and (min-width: 81.25em) {
    #users-table .users-account-col {
      width: 25%;
      text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-contact-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-email-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col .remove-user-button {
    margin: auto; } }

.remove-user-button {
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer; }
  @media screen and (min-width: 81.25em) {
    .remove-user-button {
      display: block; } }
  .remove-user-button:before {
    content: "";
    color: #959595;
    font-family: "Font Awesome Regular";
    font-size: 1.13636rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .remove-user-button:hover:before {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #071e83; }

.manage-user-button-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px auto 0; }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .primary-button {
      margin: 0 20px 0 auto; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .secondary-button {
      margin: 0; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .tertiary-button {
      margin: 0; } }

#select-branches-table {
  max-width: 850px;
  width: 100%;
  margin: auto;
  overflow-y: scroll; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .label {
      display: none; } }
  #select-branches-table .branch-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      #select-branches-table .branch-col {
        padding-left: 80px; } }
  #select-branches-table td.branch-col {
    font-size: 1rem; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .allow-login-col {
      padding-right: 160px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-type-col {
    width: 250px;
    padding-left: 50px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-number-col {
    width: 180px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-expire-date-col {
    width: 240px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-remove-col {
    padding-right: 0; } }

#tokens-table, .tokens-table {
  margin: 0; }
  #tokens-table tr:hover .card-type:before, .tokens-table tr:hover .card-type:before {
    color: #fb6f21;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #tokens-table tr.card-expired .card-type-col, #tokens-table tr.card-expired .card-number-col, #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .card-type-col, .tokens-table tr.card-expired .card-number-col, .tokens-table tr.card-expired .expire-date {
    opacity: 0.5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .expire-date {
      opacity: 1; } }
  #tokens-table tr.card-expired:hover .card-type-col, #tokens-table tr.card-expired:hover .card-number-col, #tokens-table tr.card-expired:hover .expire-date, .tokens-table tr.card-expired:hover .card-type-col, .tokens-table tr.card-expired:hover .card-number-col, .tokens-table tr.card-expired:hover .expire-date {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #tokens-table td, .tokens-table td {
    font-size: 1rem; }
  #tokens-table .card-select-col .radio, .tokens-table .card-select-col .radio {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-type-col, .tokens-table .card-type-col {
      width: 30%;
      padding-left: 200px;
      text-align: left; } }
  #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
        width: 20%;
        -webkit-box-orient: unset;
        -webkit-box-direction: unset;
            -ms-flex-direction: unset;
                flex-direction: unset;
        text-align: center; } }
  #tokens-table .expire-date, .tokens-table .expire-date {
    display: inline-block; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .expire-date, .tokens-table .expire-date {
        width: auto; } }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-remove-col, .tokens-table .card-remove-col {
      text-align: center;
      padding-right: 200px; } }
  #tokens-table .selected-card, .tokens-table .selected-card {
    display: inline-block;
    font-weight: 600; }

.no-tokens-found {
  margin: 50px 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 600; }
  @media screen and (min-width: 81.25em) {
    .no-tokens-found {
      margin: 100px 0; } }
  .no-tokens-found .no-tokens-icon:before {
    content: "";
    font-family: "Font Awesome Regular";
    font-size: 4.0625rem;
    color: #d0d0d0; }

.payment-details-container {
  max-height: 60vh;
  overflow-y: scroll; }

.modal-container[type=select-payment] #payment-add-new-card-form {
  display: none; }

#payment-add-new-card-form {
  max-width: 640px;
  width: 100%;
  margin: auto; }
  #payment-add-new-card-form fieldset {
    margin: 0;
    padding: 0; }
  #payment-add-new-card-form .cms-content-container {
    padding: 0; }

.save-card-container {
  width: 100%; }
  .save-card-container .control.checkbox {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .save-card-container .label {
    width: auto; }

#payment-frame {
  width: 100%;
  border: 0; }

.statement-list-container.in-active, .statement-pay-container.in-active, .account-pay-container.in-active {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.statement-balance-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .statement-balance-container {
      margin: 0 2% 20px 0;
      text-align: right; } }
  .statement-balance-container p {
    margin: 0;
    padding: 0;
    font-size: 1.1875rem;
    font-weight: 700;
    color: #071e83; }
    .statement-balance-container p span {
      padding-left: 60px; }

.statement-pay-container, .account-pay-container {
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .statement-pay-container, .account-pay-container {
      margin: 30px 0 0; } }

.summary-container.statement .summary-heading, .summary-container.account-payment-summary .summary-heading {
  margin: 0 0 40px; }

.transaction-type {
  display: inline-block; }
  @media screen and (min-width: 81.25em) {
    .transaction-type {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.direct-debit-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .direct-debit-icon:after {
    content: "";
    margin-left: 5px;
    font-family: "fontello";
    font-size: 16px;
    color: #000000; }

table.service-contracts {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .branch-col {
      width: 6.2%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .next-due-date-col {
      width: 8%;
      padding: 0 12px; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .document-reference-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .your-reference-col {
      width: 10%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .sku-reference-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-value-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-type-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts td.contract-type-col {
      padding: 0 10px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-group-col {
      width: 9.8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .frequency-col {
      width: 8.5%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .payment-method-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .termination-date-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .balance-col {
      width: 7%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .renewal-col {
      width: 5.5%; } }
  table.service-contracts .tubs-renew-button {
    font-weight: 400;
    font-size: 0.875rem;
    color: #071e83; }
    @media print, screen and (max-width: 81.24875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 10px 35px;
        border: 1px solid #d0d0d0;
        text-transform: uppercase;
        text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .item-col, table.order-invoice-enquiry-table .item-col {
    width: 5%; } }

table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
  overflow-wrap: anywhere; }
  @media screen and (min-width: 81.25em) {
    table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
      width: 14%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .description-col, table.order-invoice-enquiry-table .description-col {
    width: 23%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table th.description-col, table.order-invoice-enquiry-table th.description-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .invoices-col, table.order-status-table .deliveries-col, table.order-invoice-enquiry-table .invoices-col, table.order-invoice-enquiry-table .deliveries-col {
    width: 12%; } }

table.order-status-table ul, table.order-invoice-enquiry-table ul {
  padding: 0;
  list-style: none; }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .item-col {
    width: 6.95%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .reference-col {
    width: 13%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .quantity-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .description-col {
    width: 27%;
    text-align: left; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .our-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .your-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table {
    margin-top: 40px; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table .description-col {
    width: 33%;
    padding-left: 20px;
    text-align: left; } }

table.contracts-table td.description-col {
  font-weight: 700;
  color: #333333; }

@media screen and (min-width: 81.25em) {
  table.transactions-table .type-col, table.transactions-table .document-reference-col, table.transactions-table .value-col, table.transactions-table .status-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.transactions-table .date-col {
    padding-left: 20px;
    text-align: left; } }

.account-return-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .account-return-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .account-return-button:hover, .account-return-button.hover {
      color: #071e83;
      background-color: #d2def9;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .account-return-button:hover .graduated-colour-edge .step, .account-return-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .account-return-button:active, .account-return-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .account-return-button:disabled, .account-return-button.disabled, .account-return-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .account-return-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .account-return-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .pay-col {
    width: 6.2%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .date-col {
    width: 20%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .time-col {
    width: 8.5%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .reference-col {
    width: 18.1%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .amount-col {
    width: 10.8%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .contact-col {
    width: 25%; } }

.site-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .site-list-container {
      margin: 0 0 40px; } }
  .site-list-container .bespoke-site-icon {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .site-list-container .bespoke-site-icon:before {
      content: "";
      margin: auto;
      font-family: "fontello";
      font-size: 26px;
      color: #fb6f21; }
  .site-list-container .site-logo {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .site-list-container .site-logo:hover {
      opacity: .5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .site-list-container .site-logo .image {
      height: 100%;
      aspect-ratio: 1 / 1; }
      .site-list-container .site-logo .image img {
        height: 100%; }
  .site-list-container .site-description a:hover {
    color: #fb6f21; }
  .site-list-container .site-description a:active {
    color: #333333; }

.site-list-publish-status:before {
  font-family: "Font Awesome Solid";
  font-size: 16px; }

.site-list-publish-status.success:before {
  content: "";
  color: #12811f; }

.site-list-publish-status.failed:before {
  content: "";
  color: #b20c0c; }

.site-list-publish-status.unknown:before {
  content: "";
  color: #333333; }

.site-list-publish-status.cancelled:before {
  content: "";
  color: #333333; }

.site-list-publish-status.in-progress:before {
  content: "";
  display: block;
  color: #071e83;
  -webkit-animation: spinner 1.5s linear infinite;
          animation: spinner 1.5s linear infinite; }

@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.data-time-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .data-time-container .time {
    display: inline-block;
    margin-left: 15px;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .data-time-container .time {
        display: block;
        margin-left: 15px; } }

@media screen and (min-width: 81.25em) {
  table.publish-history .data-time-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px; } }

table.site-list-table tbody td {
  vertical-align: middle; }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 0.875rem; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td.site-logo-col {
    padding: 0; } }

table.site-list-table.responsive-table td .col-label {
  width: 40%;
  font-weight: 600;
  color: #000000; }

table.site-list-table.preset-1 tbody tr {
  padding: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    table.site-list-table.preset-1 tbody tr {
      background-color: #f0f0f0; } }
  @media screen and (min-width: 81.25em) {
    table.site-list-table.preset-1 tbody tr {
      padding: 0; } }

table.site-list-table td p {
  margin: 0;
  padding: 0; }

table.site-list-table th.site-logo-col {
  display: none; }

table.site-list-table tr.staging-site .site-logo-col .site-logo {
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }

@media screen and (min-width: 81.25em) {
  table.site-list-table .site-logo-col {
    width: 112px;
    padding: 0; } }

table.site-list-table .site-logo-col a {
  width: 100%;
  text-align: center; }

table.site-list-table .site-logo-col .site-logo {
  height: 120px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  padding: 30px;
  background-color: #d0d0d0;
  border: 2px solid #ffffff; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-logo-col .site-logo {
      width: 110px;
      margin: 2px;
      padding: 10px;
      border: 0; } }
  table.site-list-table .site-logo-col .site-logo .image, table.site-list-table .site-logo-col .site-logo a {
    width: 100%; }

table.site-list-table .site-description-col {
  text-align: left; }
  table.site-list-table .site-description-col p {
    margin: 0;
    padding: 0; }
  table.site-list-table .site-description-col hr {
    width: 100%;
    margin: 10px 0 15px; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col hr {
        display: none; } }
  table.site-list-table .site-description-col .site-description a {
    color: #071e83;
    font-size: 1.0625rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-description a {
        font-size: 0.9375rem; } }
  table.site-list-table .site-description-col .site-environment {
    font-size: 1.0625rem;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-environment {
        font-size: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table th.site-description-col {
    padding-left: 20px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table td.site-description-col {
    width: 250px;
    padding-left: 30px; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table td.site-description-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table .site-description, table.site-list-table .site-environment {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .license-col, table.site-list-table .publishing-col {
    width: 110px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .started-col, table.site-list-table .ended-col, table.site-list-table .last-touch-col {
    width: 145px; } }

table.site-list-table .site-buttons-col .site-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin: 30px 0 0; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-buttons-col .site-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 10px;
      margin: 0; } }

table.site-list-table .site-buttons-col button, table.site-list-table .site-buttons-col a {
  margin: 0;
  font-size: 0.8125rem;
  padding: 10px 15px; }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container .time {
    margin-left: 0; } }

table.site-list-table .bespoke-site-icon:before {
  font-size: 44px; }

.site-list-content-container {
  padding: 20px;
  background-color: #f0f0f0;
  border-radius: 10px;
  -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .site-list-content-container:hover {
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .site-list-content-container.staging-site .site-logo {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .site-list-content-container .site-logo {
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 20px;
    background-color: #d0d0d0;
    border: 2px solid #ffffff; }
    .site-list-content-container .site-logo .image {
      padding: 30px; }
    .site-list-content-container .site-logo .image, .site-list-content-container .site-logo img {
      width: 100%; }
  .site-list-content-container .site-description {
    text-align: center; }
    .site-list-content-container .site-description a {
      margin: 0;
      color: #071e83;
      font-size: 1.0625rem;
      font-weight: 700; }
  .site-list-content-container hr {
    margin: 10px 0 15px; }
  .site-list-content-container .site-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 0; }
    .site-list-content-container .site-option > span {
      width: 40%;
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      color: #000000; }
    .site-list-content-container .site-option p {
      margin: 0;
      font-size: 0.875rem; }
    .site-list-content-container .site-option + .site-buttons-container {
      margin-top: 30px; }
  .site-list-content-container .data-time-container {
    font-size: 0.875rem; }
    .site-list-content-container .data-time-container .time {
      display: inline-block; }
  .site-list-content-container .site-buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin: 30px 0 0; }
    @media screen and (min-width: 81.25em) {
      .site-list-content-container .site-buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 15px;
        margin: 0; } }
    .site-list-content-container .site-buttons-container button, .site-list-content-container .site-buttons-container a {
      margin: 0;
      font-size: 0.8125rem;
      padding: 10px 15px; }
  .site-list-content-container .bespoke-site-icon:before {
    font-size: 74px; }

/*
----- CMS Styling ------ 
- Style for the actual cms pages themselves:
  - CMS Entry
  - Blog
  - News
  - Events
  - CMS Series
- CMS entry controls
- CMS module
- CMS content container, this get used throughout express for various pieces of content that is defined in the vmadmin's cms system these block of content can literally be anywhere ( headings for pages, in the footer, ajax responses ).
*/
.display-cms-series-intro, .series-explanatory-text {
  max-width: 850px;
  margin: 30px-20px, 0 auto 30px;
  text-align: center; }
  .display-cms-series-intro.cms-content-container p, .series-explanatory-text.cms-content-container p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #7b7b7b; }

.display-cms-series {
  margin: 25px 0 0; }
  .display-cms-series a:hover h3, .display-cms-series a:hover .video-player-indicator-text {
    text-decoration: underline;
    color: var(--secondary-colour-lightness-0, #fb6f21);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .display-cms-series h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700; }
  .display-cms-series .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
  .display-cms-series .entry-content {
    font-size: 1.0625rem; }
    .display-cms-series .entry-content p {
      margin: 0;
      padding: 0; }
  .display-cms-series.news .cell {
    background-color: #eeeeee; }
    .display-cms-series.news .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.blog .cell {
    background-color: #eeeeee; }
    .display-cms-series.blog .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.events .cell {
    background-color: #eeeeee; }
    .display-cms-series.events .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.video-playlist .cell > a {
    background-color: #f0f0f0; }
    .display-cms-series.video-playlist .cell > a:hover {
      background-color: var(--white-colour); }
  .display-cms-series .cell {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .display-cms-series .cell:hover {
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .display-cms-series.table .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .cell {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-container {
      height: 270px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-top: 40px;
      padding-left: 110px;
      padding-right: 110px; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-banner {
      width: 400px;
      height: 260px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .display-cms-series.table .content-banner .image {
    width: 310px;
    height: 200px;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .content-banner .image {
        margin: 40px 0 0; } }
  .display-cms-series.table .entry-content {
    margin: 0 0 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content {
        margin: 0; } }
  .display-cms-series.table .entry-content.read-more {
    overflow: hidden; }
    .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
      height: 200px; }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
          height: 30%; } }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content.read-more {
        height: 30%; } }
  .display-cms-series.grid.video-playlist .cell a {
    max-height: 520px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .cell a {
        padding: 45px; } }
  .display-cms-series.grid.video-playlist .content-banner {
    margin-bottom: 25px; }
  .display-cms-series.grid.video-playlist h3 {
    margin: 0 0 10px;
    line-height: normal; }
  .display-cms-series.grid.video-playlist .duration-container {
    margin: 0 0 10px; }
  .display-cms-series.grid.video-playlist .entry-content.read-more {
    padding: 0 0 30px;
    font-size: 1rem;
    color: var(--black-colour);
    overflow: hidden; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .entry-content.read-more {
        padding: 0 0 50px; } }
  .display-cms-series.grid.video-playlist .content-container {
    height: 100%; }
    .display-cms-series.grid.video-playlist .content-container .video-player-indicator-text {
      margin-top: auto; }
  .display-cms-series.grid.blog .cell {
    height: 530px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 25px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.blog .cell {
        padding: 50px; } }
    .display-cms-series.grid.blog .cell .content-banner {
      margin-bottom: 35px; }
      .display-cms-series.grid.blog .cell .content-banner .image {
        height: 170px; }
    .display-cms-series.grid.blog .cell .entry-content.read-more {
      overflow: hidden; }
  .display-cms-series.grid.events .cell {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell {
        height: 260px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 35px 45px; } }
    .display-cms-series.grid.events .cell .content-container {
      height: 200px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell .content-banner {
        width: 200px;
        margin-left: 40px;
        margin-right: 0; } }
    .display-cms-series.grid.events .cell .entry-content.read-more {
      overflow: hidden; }
      .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
        height: 200px; }
        @media screen and (min-width: 81.25em) {
          .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
            height: 75px; } }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.grid.events .cell .entry-content.read-more {
          height: 75px; } }
  .display-cms-series.grid .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.grid .content-banner .image {
      width: 100%;
      height: 100%;
      text-align: center;
      border: 1px solid #d0d0d0; }
      .display-cms-series.grid .content-banner .image img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; } }
  .display-cms-series .publish-date {
    margin: 0 0 17px; }

.publish-date {
  font-style: italic;
  font-size: 0.9375rem;
  color: #333333; }

.read-more-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  color: #333333;
  font-size: 1rem;
  font-weight: 600;
  text-transform: none; }
  @media screen and (min-width: 81.25em) {
    .read-more-anchor {
      margin: 10px 0 0; } }
  .read-more-anchor:hover {
    text-decoration: underline; }

.cms-entry-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 25px 30px 40px;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container {
      padding: 50px 110px 70px; } }
  .cms-entry-container.news-article .cms-heading:before {
    content: ""; }
  .cms-entry-container.event .cms-heading:before {
    content: ""; }
  .cms-entry-container.blog-post .cms-heading:before {
    content: ""; }
  .cms-entry-container.information {
    background-color: #f0f0f0; }
    .cms-entry-container.information.style-1 {
      padding: 0;
      background-color: transparent; }
  .cms-entry-container .cms-heading {
    width: 100%;
    display: block;
    text-align: center; }
    .cms-entry-container .cms-heading:before {
      display: block;
      margin-bottom: 25px;
      font-family: "Font Awesome Regular";
      font-size: 2.875rem;
      color: #071e83;
      line-height: 0.8;
      opacity: 0.3; }
    .cms-entry-container .cms-heading h1 {
      margin: 0 0 40px; }
  .cms-entry-container .content-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1px;
            flex: 1 1px; }
    .cms-entry-container .content-container h1 {
      margin: 0 0 30px;
      font-size: 1.9375rem;
      font-weight: 400;
      font-style: normal;
      color: #071e83;
      line-height: 1.6;
      background-color: transparent;
      text-transform: uppercase; }
      .cms-entry-container .content-container h1:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h1:only-child {
        margin: 0; }
    .cms-entry-container .content-container h2 {
      margin: 0 0 15px;
      font-size: 1.9375rem;
      font-weight: 400;
      font-style: normal;
      color: #071e83;
      line-height: 1.6;
      text-transform: uppercase; }
      .cms-entry-container .content-container h2:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h2:only-child {
        margin: 0; }
    .cms-entry-container .content-container h3 {
      margin: 0;
      padding: 20px 0;
      font-size: 1.4rem;
      font-weight: 400;
      font-style: normal;
      color: #071e83;
      line-height: 1.6; }
      .cms-entry-container .content-container h3:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h3:only-child {
        margin: 0; }
    .cms-entry-container .content-container h4 {
      margin: 0;
      padding: 10px 0;
      font-size: 1.2rem;
      font-weight: 400;
      font-style: normal;
      color: #071e83;
      line-height: 1.6; }
      .cms-entry-container .content-container h4:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h4:only-child {
        margin: 0; }
    .cms-entry-container .content-container h5 {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h5:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h5:only-child {
        margin: 0; }
    .cms-entry-container .content-container h6 {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h6:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h6:only-child {
        margin: 0; }
    .cms-entry-container .content-container p {
      margin: var(--indent-margin, 0);
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.6;
      color: #000000; }
      .cms-entry-container .content-container p img[style*="float:left"], .cms-entry-container .content-container p img[style*="float: left"], .cms-entry-container .content-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .cms-entry-container .content-container p img[style*="float:right"], .cms-entry-container .content-container p img[style*="float: right"], .cms-entry-container .content-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .cms-entry-container .content-container p img {
        margin: .2em 0; }
      .cms-entry-container .content-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .cms-entry-container .content-container ul, .cms-entry-container .content-container ol {
      text-align: left; }
    .cms-entry-container .content-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .cms-entry-container .content-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .cms-entry-container .content-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .cms-entry-container .content-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #071e83;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .cms-entry-container .content-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .cms-entry-container .content-container ol ol ol {
          list-style-type: lower-roman; }
          .cms-entry-container .content-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .cms-entry-container .content-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .cms-entry-container .content-container li {
      color: #000000;
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.6; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 30px; }
    .cms-entry-container .content-container ul + h2, .cms-entry-container .content-container ol + h2 {
      margin-top: 15px; }
    .cms-entry-container .content-container ul + h3, .cms-entry-container .content-container ol + h3 {
      margin-top: 0; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 0; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 0; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 0; }
    .cms-entry-container .content-container dl {
      text-align: left; }
    .cms-entry-container .content-container p:not(:empty) + table, .cms-entry-container .content-container p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .cms-entry-container .content-container table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .cms-entry-container .content-container table:not([class*=preset]) thead {
        background-color: transparent; }
        .cms-entry-container .content-container table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .cms-entry-container .content-container table:not([class*=preset]) thead th {
          font-weight: 700; }
      .cms-entry-container .content-container table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table.responsive-table {
            display: table; } }
        .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .cms-entry-container .content-container table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container table td {
          padding: 10px; } }
      .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .cms-entry-container .content-container table tbody {
        background-color: transparent; }
        .cms-entry-container .content-container table tbody th {
          background-color: transparent; }
        .cms-entry-container .content-container table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table tbody tr {
            display: table-row; } }
      .cms-entry-container .content-container table .col-label {
        color: #333333; }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .cms-entry-container .content-container table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .cms-entry-container .content-container table.comparison-table tbody td:first-child {
        color: #333333;
        font-weight: 700; }
    .cms-entry-container .content-container blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      text-align: center;
      font-family: "Geologica", "Geologica Fallback", "Arial";
      font-size: 1rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .cms-entry-container .content-container blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .cms-entry-container .content-container blockquote:hover:before {
          color: #d0d0d0;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .cms-entry-container .content-container blockquote:has(img) {
        text-align: left; }
      .cms-entry-container .content-container blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          padding: 50px 60px; } }
      .cms-entry-container .content-container blockquote + blockquote {
        margin-top: 15px; }
      .cms-entry-container .content-container blockquote:before, .cms-entry-container .content-container blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .cms-entry-container .content-container blockquote:before {
        top: 0;
        left: 0; }
      .cms-entry-container .content-container blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .cms-entry-container .content-container blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container blockquote img {
            text-align: left; } }
    .cms-entry-container .content-container div.gallary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 10px 0 20px; }
      .cms-entry-container .content-container div.gallary.cell-gutters {
        gap: 10px; }
      .cms-entry-container .content-container div.gallary > img {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .cms-entry-container .content-container div.gallary a {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .cms-entry-container .content-container div.gallary a img {
          width: 100%; }
    .cms-entry-container .content-container iframe[src*="https://www.google.com/maps/embed"] {
      border: 2px solid #ffffff;
      border-radius: 10px; }
    th, td {
      text-align: left; }
    .cms-entry-container .content-container form fieldset h2 {
      color: #071e83; }
    .cms-entry-container .content-container img {
      border-radius: 10px; }
    .cms-entry-container .content-container .background-section {
      padding: 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container .background-section {
          padding: 15px; } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner {
      width: 50%; } }
  .cms-entry-container .content-banner .image:first-child {
    margin-bottom: 10px; }
  .cms-entry-container .content-banner .image:last-child {
    margin-top: 10px; }
  .cms-entry-container .content-banner .image:not(:first-child), .cms-entry-container .content-banner .image:not(:last-child) {
    margin-top: 10px;
    margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner .image {
      width: 78%;
      margin-left: auto; } }
  .cms-entry-container .publish-date {
    display: block;
    margin: 20px 0 0; }
  .cms-entry-container .tagging-container {
    width: 100%;
    margin: 20px 0 0; }
    @media screen and (min-width: 81.25em) {
      .cms-entry-container .tagging-container {
        margin: 40px 0 0; } }

.cms-entry-container a[href^="tel:"], .cms-entry-container a[href^="mailto:"], .cms-content-container a[href^="tel:"], .cms-content-container a[href^="mailto:"], .cms-modul.entry-module a[href^="tel:"], .cms-modul.entry-module a[href^="mailto:"] {
  font-weight: 700; }
  .cms-entry-container a[href^="tel:"]:hover, .cms-entry-container a[href^="mailto:"]:hover, .cms-content-container a[href^="tel:"]:hover, .cms-content-container a[href^="mailto:"]:hover, .cms-modul.entry-module a[href^="tel:"]:hover, .cms-modul.entry-module a[href^="mailto:"]:hover {
    text-decoration: none; }
  .cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.cms-entry-container p a:not([class*="-button"]), .cms-content-container p a:not([class*="-button"]), .cms-modul.entry-module p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.cms-entry-container p a:has([style*="float"]), .cms-content-container p a:has([style*="float"]), .cms-modul.entry-module p a:has([style*="float"]) {
  display: inline; }

.cms-entry-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 40px 0 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-navigation {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-entry-navigation .buttons-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media print, screen and (min-width: 40em) {
      .cms-entry-navigation .buttons-container {
        width: 50%; } }

.cms-entries-controls, .entries-icon-controls {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entries-controls, .entries-icon-controls {
      width: 50%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-top: 0; } }
  .cms-entries-controls .label, .entries-icon-controls .label {
    margin-right: 30px;
    color: #071e83;
    font-size: 1.125rem;
    font-weight: 500;
    text-transform: uppercase; }
  .cms-entries-controls .control-button, .entries-icon-controls .control-button {
    width: 55px;
    height: 55px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    color: #071e83;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    border-radius: 10px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .cms-entries-controls .control-button:first-of-type, .entries-icon-controls .control-button:first-of-type {
      margin-right: 30px; }
    .cms-entries-controls .control-button:hover, .entries-icon-controls .control-button:hover {
      background-color: #8f95a5;
      color: #071e83;
      -webkit-box-shadow: 0;
              box-shadow: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .cms-entries-controls .control-button:active, .entries-icon-controls .control-button:active {
      background-color: #fb6f21;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "fontello-winterstoke";
      font-size: 20px; }
  .cms-entries-controls .previous-cms-entry:before, .entries-icon-controls .previous-cms-entry:before {
    content: "";
    margin-right: 1px; }
  .cms-entries-controls .next-cms-entry:before, .entries-icon-controls .next-cms-entry:before {
    content: "";
    margin-left: 1px; }

.entries-text-controls-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 0;
  margin: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .entries-text-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 30px;
      margin: 0 0 20px; } }
  .entries-text-controls-container .label {
    color: #071e83;
    font-size: 1.125rem;
    font-weight: 500;
    text-transform: uppercase; }
  .entries-text-controls-container .control-button.previous-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 15px 10px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.previous-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.previous-entry:hover, .entries-text-controls-container .control-button.previous-entry.hover {
        color: #071e83;
        background-color: #8f95a5;
        border-color: #071e83;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover:before, .entries-text-controls-container .control-button.previous-entry.hover:before {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.previous-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.previous-entry:active, .entries-text-controls-container .control-button.previous-entry.active {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.previous-entry:active:before, .entries-text-controls-container .control-button.previous-entry.active:before {
        color: #ffffff; }
    .entries-text-controls-container .control-button.previous-entry:disabled, .entries-text-controls-container .control-button.previous-entry.disabled, .entries-text-controls-container .control-button.previous-entry[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.previous-entry:disabled:before, .entries-text-controls-container .control-button.previous-entry.disabled:before, .entries-text-controls-container .control-button.previous-entry[disabled]:before {
        color: #5c5c5c; }
    .entries-text-controls-container .control-button.previous-entry:disabled:hover, .entries-text-controls-container .control-button.previous-entry.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .entries-text-controls-container .control-button.previous-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .entries-text-controls-container .control-button.previous-entry:before {
      content: "";
      margin: 0 10px 0 0;
      font-family: "fontello-winterstoke";
      font-size: 20px;
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.previous-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .entries-text-controls-container .control-button.next-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 15px 10px);
    color: #071e83;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: 2px;
    border-color: #d0d0d0;
    text-decoration: none;
    line-height: 1;
    border-radius: 10px !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.next-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.next-entry:hover, .entries-text-controls-container .control-button.next-entry.hover {
        color: #071e83;
        background-color: #8f95a5;
        border-color: #071e83;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover:after, .entries-text-controls-container .control-button.next-entry.hover:after {
          color: #071e83;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.next-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.next-entry:active, .entries-text-controls-container .control-button.next-entry.active {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.next-entry:active:after, .entries-text-controls-container .control-button.next-entry.active:after {
        color: #ffffff; }
    .entries-text-controls-container .control-button.next-entry:disabled, .entries-text-controls-container .control-button.next-entry.disabled, .entries-text-controls-container .control-button.next-entry[disabled] {
      color: #5c5c5c;
      background-color: #ffffff;
      border-color: rgba(208, 208, 208, 0.7);
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.next-entry:disabled:after, .entries-text-controls-container .control-button.next-entry.disabled:after, .entries-text-controls-container .control-button.next-entry[disabled]:after {
        color: #5c5c5c; }
    .entries-text-controls-container .control-button.next-entry:disabled:hover, .entries-text-controls-container .control-button.next-entry.disabled:hover {
      border-color: rgba(208, 208, 208, 0.7); }
    .entries-text-controls-container .control-button.next-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
    .entries-text-controls-container .control-button.next-entry:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "fontello-winterstoke";
      font-size: 20px;
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.next-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.cms-entry-back-button {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-back-button {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-back-button {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .cms-entry-back-button:hover, .cms-entry-back-button.hover {
      color: #071e83;
      background-color: #d2def9;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-entry-back-button:hover .graduated-colour-edge .step, .cms-entry-back-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-entry-back-button:active, .cms-entry-back-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-entry-back-button:disabled, .cms-entry-back-button.disabled, .cms-entry-back-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .cms-entry-back-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .cms-entry-back-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.site-map {
  margin: 0 0 25px; }
  .site-map > ul {
    margin: 0;
    padding: 0; }
    .site-map > ul > li {
      padding: 20px 0; }
  .site-map:not(.suppress-border) > ul > li {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map:not(.suppress-border) > ul > li:only-child {
      border-width: 0; }
    .site-map:not(.suppress-border) > ul > li:last-child {
      border-color: transparent; }
    .site-map:not(.suppress-border) > ul > li:hover {
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .site-map:not(.suppress-border) > ul > li:hover a:before {
        border-color: #071e83;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
  .site-map ul {
    list-style: none;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map ul .parent > a, .site-map ul .parent > span {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 1.25rem;
      font-weight: 700;
      color: #071e83; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "fontello-winterstoke";
        color: #aeaeae;
        font-size: 20px;
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
    .site-map ul .parent > ul {
      margin-left: 30px; }
    .site-map ul .parent .child {
      padding: 7px 0; }
      .site-map ul .parent .child > a {
        font-size: 1rem;
        font-weight: 400;
        color: #000000; }
  .site-map .parent a:hover, .site-map ul .child > a:hover {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }

.cms-module .read-more-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #071e83;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid transparent;
  text-transform: none;
  -webkit-transition: color, border, background-color 0.8s;
  transition: color, border, background-color 0.8s; }
  .cms-module .read-more-button:hover {
    color: #fb6f21;
    text-decoration: underline;
    border-color: transparent;
    background-color: transparent;
    -webkit-transition: color, border-color, background-color 0.6s;
    transition: color, border-color, background-color 0.6s; }
  .cms-module .read-more-button:active {
    color: #183ad3;
    background-color: transparent; }

.back-to-information {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 10px 35px);
  color: #071e83;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .back-to-information {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .back-to-information {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .back-to-information:hover, .back-to-information.hover {
      color: #071e83;
      background-color: #d2def9;
      border-color: #071e83;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .back-to-information:hover .graduated-colour-edge .step, .back-to-information.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .back-to-information:active, .back-to-information.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-to-information:disabled, .back-to-information.disabled, .back-to-information[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .back-to-information:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .back-to-information .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-container {
  margin: 12px 0 41px; }
  .cms-container p {
    font-size: 1rem; }

div[style*="background-color"] .cms-content-container {
  padding: 0 25px; }
  @media screen and (min-width: 81.25em) {
    div[style*="background-color"] .cms-content-container {
      padding: 0 50px; } }

.cms-content-container h1 {
  margin: 0 0 30px;
  font-size: 1.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6;
  background-color: transparent;
  text-transform: uppercase; }
  .cms-content-container h1:first-child {
    margin-top: 0; }
  .cms-content-container h1:only-child {
    margin: 0; }

.cms-content-container h2 {
  margin: 0 0 15px;
  font-size: 1.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6;
  text-transform: uppercase; }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  margin: 0;
  padding: 20px 0;
  font-size: 1.4rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6; }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 0;
  padding: 10px 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

.cms-content-container h5 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h5:first-child {
    margin-top: 0; }
  .cms-content-container h5:only-child {
    margin: 0; }

.cms-content-container h6 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h6:first-child {
    margin-top: 0; }
  .cms-content-container h6:only-child {
    margin: 0; }

.cms-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.6;
  color: #000000; }
  .cms-content-container p img[style*="float:left"], .cms-content-container p img[style*="float: left"], .cms-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .cms-content-container p img[style*="float:right"], .cms-content-container p img[style*="float: right"], .cms-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .cms-content-container p img {
    margin: .2em 0; }
  .cms-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.cms-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
  text-align: center;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 1rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .cms-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .cms-content-container blockquote:hover:before {
      color: #d0d0d0;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-content-container blockquote:has(img) {
    text-align: left; }
  .cms-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      padding: 50px 60px; } }
  .cms-content-container blockquote + blockquote {
    margin-top: 15px; }
  .cms-content-container blockquote:before, .cms-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .cms-content-container blockquote:before {
    top: 0;
    left: 0; }
  .cms-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .cms-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container blockquote img {
        text-align: left; } }

.cms-content-container p:not(:empty) + table, .cms-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.cms-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .cms-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .cms-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .cms-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .cms-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table.responsive-table {
        display: table; } }
    .cms-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .cms-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container table td {
      padding: 10px; } }
  .cms-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .cms-content-container table tbody {
    background-color: transparent; }
    .cms-content-container table tbody th {
      background-color: transparent; }
    .cms-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table tbody tr {
        display: table-row; } }
  .cms-content-container table .col-label {
    color: #333333; }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .cms-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .cms-content-container table.comparison-table tbody td:first-child {
    color: #333333;
    font-weight: 700; }

.cms-content-container ul, .cms-content-container ol {
  text-align: left; }

.cms-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .cms-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .cms-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .cms-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #071e83;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .cms-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .cms-content-container ol ol ol {
      list-style-type: lower-roman; }
      .cms-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .cms-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.cms-content-container li {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.6; }

.cms-content-container ul + h1, .cms-content-container ol + h1 {
  margin-top: 30px; }

.cms-content-container ul + h2, .cms-content-container ol + h2 {
  margin-top: 15px; }

.cms-content-container ul + h3, .cms-content-container ol + h3 {
  margin-top: 0; }

.cms-content-container ul + h4, .cms-content-container ol + h4 {
  margin-top: 0; }

.cms-content-container ul + h5, .cms-content-container ol + h5 {
  margin-top: 0; }

.cms-content-container ul + h6, .cms-content-container ol + h6 {
  margin-top: 0; }

.cms-content-container dl {
  text-align: left; }

.cms-content-container.success {
  margin-bottom: 70px; }
  .cms-content-container.success h2 {
    color: #333333; }
  .cms-content-container.success .amount-paid {
    font-weight: 700;
    color: #12811f; }

.cms-content-container.alert {
  margin-bottom: 35px; }
  .cms-content-container.alert h2 {
    margin: 0 0 5px;
    color: #333333; }
  .cms-content-container.alert p {
    color: #333333; }
  .cms-content-container.alert .amount-paid {
    font-weight: 700;
    color: #b20c0c; }

.cms-content-container.center-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center; }

.cms-content-container.error {
  color: #b20c0c; }
  .cms-content-container.error h2, .cms-content-container.error h3, .cms-content-container.error h4, .cms-content-container.error h5 {
    color: #b20c0c; }

.cms-content-container.gutter-y {
  margin: 12px 0 41px; }

.cms-content-container.page-heading-content {
  padding: 0 0 15px; }

.cms-content-container.no-side-padding {
  padding-right: 0;
  padding-left: 0; }

.cms-content-container.outline {
  padding: 15px 10px;
  border: 2px solid #eeeeee;
  border-radius: 10px;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container.outline {
      padding: 30px 20px; } }
  .cms-content-container.outline:hover {
    border-color: #959595;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.cms-content-container p {
  width: 100%; }

a {
  font-size: 1.125rem;
  color: var(--primary-colour-lightness-0, var(--primary-colour-lightness-0)); }
  a:hover {
    color: var(--secondary-colour-lightness-0); }
  a:active {
    color: var(--primary-colour-lightness-2); }

.cms-content-container a:hover {
  text-decoration: underline; }

.cms-content-container a[class*="-button"]:hover {
  text-decoration: none; }

.cms-content-container p:first-of-type {
  margin-top: 0;
  padding-top: 0; }

.cms-content-container p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0; }

.cms-content-container + table {
  margin-top: 15px; }

.cms-content-container + .page-buttons-container {
  margin-top: 20px; }

/************************************** Popups ************************************/
/**********************************************************************************/
#popupOverlay {
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 50000; }
  #popupOverlay:after {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0; }

#popupContainer {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.3em;
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
  display: inline-block;
  margin: 0 2%;
  max-width: 800px;
  overflow: hidden;
  position: relative;
  text-align: left;
  vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    #popupContainer {
      width: 840px; } }
  #popupContainer.standard {
    max-height: 90%; }
    #popupContainer.standard #popupContent {
      padding: 20px; }
      #popupContainer.standard #popupContent .contentContainer {
        max-height: 50vh;
        overflow-y: auto; }
  #popupContainer.scroll #popupContent {
    max-height: 90vh;
    padding: 20px;
    overflow-y: scroll; }
    #popupContainer.scroll #popupContent .contentContainer {
      max-height: 50vh;
      overflow-y: auto; }
  #popupContainer legend {
    padding: 10px 5px;
    width: calc(100% - 10px); }
  #popupContainer form {
    width: 100%;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #popupContainer form {
        width: 740px; } }
  #popupContainer .confirmationContainer {
    background-color: #ffffff;
    color: #12811f;
    display: inline-block;
    line-height: 1em;
    margin: 0 1em 0 0;
    padding: 13px 10px; }
  #popupContainer .popupButtonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    #popupContainer .popupButtonContainer .popupCloseButton {
      line-height: 1em;
      position: relative; }

.closeButton.popupCloseButton {
  width: 70px;
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .closeButton.popupCloseButton:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:hover:before {
    color: #071e83;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:active:before {
    color: #fb6f21;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.secondary-button.popupCloseButton:before {
  content: "";
  display: none; }

#checkout-content-container {
  width: 100%;
  position: relative; }

.section-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px; }
  .section-buttons-container a {
    margin-bottom: 0; }

.formFieldContainer {
  width: 100%; }

#checkoutForm select {
  padding: 0 0 0 25px; }

#checkoutForm .changeDetails {
  margin: 5px 0 15px; }

#checkoutForm #checkoutFormDetails {
  border: 1px solid rgba(77, 96, 178, 0.2); }

#checkoutForm .checkout-details {
  width: 100%;
  text-align: center;
  font-size: 0.875rem; }

#checkoutForm #deliveryDetailsContainer {
  margin: 20px 0 35px; }
  #checkoutForm #deliveryDetailsContainer h3 {
    position: relative;
    font-size: 1rem;
    font-style: italic;
    color: #071e83;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    #checkoutForm #deliveryDetailsContainer h3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
      background-color: #d0d0d0; }

#checkoutForm #checkoutButtonContainer {
  margin: 75px 0 0; }
  #checkoutForm #checkoutButtonContainer #checkoutSubmitButton {
    width: auto;
    display: block;
    padding: 15px 25px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #071e83;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:enabled:hover {
      border: 1px solid #071e83;
      background-color: rgba(7, 30, 131, 0.5);
      color: #071e83;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }

#editDetailsFormContainer {
  max-width: 600px;
  max-height: 800px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  padding: 10px 10px 20px;
  overflow-y: scroll;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  #editDetailsFormContainer h1 {
    position: relative;
    padding: 70.4px 0 0;
    text-align: center;
    font-size: 1.0625rem;
    color: #959595; }
    #editDetailsFormContainer h1:before {
      content: '\f4ff';
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      font-size: 44px;
      font-family: "Font Awesome Solid";
      color: #071e83; }
  #editDetailsFormContainer .buttonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer button {
        margin: 0 10px; } }
  #editDetailsFormContainer #changeDetailsCancelButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #aeaeae;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsCancelButton:enabled:hover {
      border: 1px solid #aeaeae;
      background-color: rgba(7, 30, 131, 0.5);
      color: #aeaeae;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsCancelButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  #editDetailsFormContainer #changeDetailsSubmitButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #071e83;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #071e83;
      background-color: rgba(7, 30, 131, 0.5);
      color: #071e83;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  #editDetailsFormContainer #changeDetailsClose {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #071e83;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #editDetailsFormContainer #changeDetailsClose:enabled:hover {
      border: 1px solid #071e83;
      background-color: rgba(7, 30, 131, 0.5);
      color: #071e83;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsClose:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }

#changeDetails.success h2 {
  width: 100%;
  display: block;
  padding: 15px 0;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: #071e83;
  background-color: #8f95a5; }

#accountPostcodeLookupAddressContainer {
  width: 100%; }

#terms {
  margin: 50px 0 0; }

#deliveryDetailsContainer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  #deliveryDetailsContainer.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

#deliveryContainer {
  position: relative;
  display: none; }

#deliveryUpgradeContainer {
  width: 100%; }

.validationError {
  width: 100%;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  font-weight: bold;
  font-size: 0.75rem !important;
  text-align: center;
  color: #b20c0c; }

.delivery-option {
  width: 260px !important; }

.checkout-complete-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#billPostcodeLookupAddressContainer {
  width: 100%; }

.edit.checkoutPopupLink {
  margin-bottom: 15px; }

.checkout-returning-customer-container {
  margin-bottom: 20px;
  border: 1px solid #c8c8c8;
  border-radius: 10px;
  background-color: #f0f0f0; }
  .checkout-returning-customer-container p, .checkout-returning-customer-container h2 {
    padding: 0; }
  .checkout-returning-customer-container:hover .content-container:before {
    color: #071e83;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .checkout-returning-customer-container:hover .quaternary-button:not(:hover) {
    border-color: #c8c8c8; }
  .checkout-returning-customer-container .content-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .checkout-returning-customer-container .content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: left; } }
    .checkout-returning-customer-container .content-container h2 {
      margin: 0;
      font-size: 1.875rem;
      font-weight: 300;
      line-height: 1;
      color: #071e83; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container h2 {
          margin-right: 15px; } }
    .checkout-returning-customer-container .content-container p {
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 400;
      color: #071e83; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container p {
          margin: auto 25px 0 0; } }
    .checkout-returning-customer-container .content-container .quaternary-button:after {
      content: "";
      display: inline-block;
      margin-left: 5px;
      font-family: "fontello-winterstoke";
      font-size: 8px;
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #071e83; }
    .checkout-returning-customer-container .content-container:before {
      content: "";
      display: block;
      margin: 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 32px;
      line-height: 1;
      color: #4678e2;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 120em) {
        .checkout-returning-customer-container .content-container:before {
          margin: 0 20px 0 0; } }

.errorContainer.postcodeLookupSelectContainer {
  margin: 0 auto;
  padding: 10px 0;
  text-align: center; }

.delivery-read-only {
  position: relative; }

/*
----- 404 ------ 
- Are you lost? 
*/
.error-not-found-logo {
  width: 200px;
  height: 100px;
  margin-bottom: 52.5px; }
  @media screen and (min-width: 81.25em) {
    .error-not-found-logo {
      margin-bottom: 105px; } }

.error-not-found-container {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  background-image: url("/template/content/development/images/icons/404.svg");
  background-position: top left;
  background-size: 90px 30px; }

.error-not-found-content-container {
  width: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); }
  @media screen and (min-width: 81.25em) {
    .error-not-found-content-container {
      width: 800px; } }
  .error-not-found-content-container .cms-content-container h1 {
    margin: 0;
    font-size: 12.5rem;
    font-weight: 700;
    color: #071e83;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #fb6f21; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #071e83; }
  .error-not-found-content-container .button-container {
    margin: 62.5px 0 0; }
    @media screen and (min-width: 81.25em) {
      .error-not-found-content-container .button-container {
        margin: 125px 0 0; } }

/*
----- Light box  -----
- This get displayed on product pages to display the full resolution product images.
Funtionality this holds:
- Light box active / inactive states.
- The overlay styles.
- Additional Images.
- 360 image support.
- The header that gets generated.
- Video player.
*/
#lightbox-overlay.active {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: #000000;
  opacity: 0.7;
  z-index: 10000; }

.lightbox {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .lightbox.active {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media print, screen and (max-width: 39.99875em) {
      .lightbox.active {
        max-height: 50%;
        max-width: 100%; } }

#lightbox-header {
  width: 100%;
  display: block;
  position: relative;
  background-color: #183ad3;
  z-index: 5000; }
  #lightbox-header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    list-style: none; }
  #lightbox-header #lightbox-count {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    font-size: 1rem;
    color: #ffffff;
    letter-spacing: 7px; }
    @media print, screen and (min-width: 40em) {
      #lightbox-header #lightbox-count {
        font-size: 1.25rem; } }
  #lightbox-header #lightbox-close-button-container {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }

#lightbox-content-outer-container {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000; }

#lightbox-content-inner-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.reel-overlay {
  width: auto !important;
  height: auto !important;
  margin: 0 auto; }

.image.lightbox-enabled:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  padding: 2px 8px;
  background-color: rgba(255, 255, 255, 0.85);
  font-family: "Font Awesome Solid";
  font-size: 22px;
  color: #071e83;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #d6d6d6;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  z-index: 1000; }

.image.lightbox-enabled:hover:before {
  color: #fb6f21;
  border-color: #071e83; }

.lightbox #lightbox-close-button-container {
  position: relative;
  margin: auto 15px; }

.lightbox .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; }
  .lightbox .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #ffffff;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .lightbox .close-button:hover:before {
    color: #ffffff;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .lightbox .close-button:active:before {
    color: #fb6f21;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

@media print, screen and (max-width: 99.99875em) {
  .lightbox .reel-overlay {
    max-width: 100%; } }

.lightbox .lightbox-content {
  max-height: calc(100% - var(--lightbox-header-height) - 10px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 10px 0;
  padding: 0;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .lightbox .lightbox-content {
      max-height: none;
      -webkit-box-orient: unset;
      -webkit-box-direction: unset;
          -ms-flex-direction: unset;
              flex-direction: unset;
      margin-left: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox .lightbox-content {
      margin: 20px 0;
      border-radius: 0 10px 10px 0; } }
  @media screen and (min-width: 100em) {
    .lightbox .lightbox-content {
      -ms-flex-item-align: auto;
          align-self: auto;
      margin: auto; } }
  .lightbox .lightbox-content .lightBoxSlide {
    display: none; }
    .lightbox .lightbox-content .lightBoxSlide.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      max-height: 70vh; }
      @media print, screen and (min-width: 40em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          max-width: calc(100vw - 100px);
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 80vh; } }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 85vh; } }
      .lightbox .lightbox-content .lightBoxSlide.active.is-video {
        width: 100vw; }
        @media print, screen and (min-width: 40em) {
          .lightbox .lightbox-content .lightBoxSlide.active.is-video {
            width: 60vw; } }
    .lightbox .lightbox-content .lightBoxSlide img, .lightbox .lightbox-content .lightBoxSlide #lightbox-video-player {
      max-height: 100%;
      margin: 0;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -o-object-fit: contain;
         object-fit: contain; }
  .lightbox .lightbox-content .prev,
  .lightbox .lightbox-content .next {
    width: 25px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #ffffff;
    border-style: solid;
    border-color: #071e83;
    cursor: pointer;
    opacity: 0.8;
    -webkit-transition: opacity 0.8s, background-color 0.8s, border-color 0.6s;
    transition: opacity 0.8s, background-color 0.8s, border-color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .lightbox .lightbox-content .prev,
      .lightbox .lightbox-content .next {
        width: 50px;
        height: 70px; } }
    .lightbox .lightbox-content .prev:before,
    .lightbox .lightbox-content .next:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #071e83;
      font-family: "fontello-winterstoke";
      font-size: 16px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .prev:before,
        .lightbox .lightbox-content .next:before {
          font-size: 26px; } }
    .lightbox .lightbox-content .prev:not(.disabled):hover,
    .lightbox .lightbox-content .next:not(.disabled):hover {
      background-color: #fb6f21;
      border-color: #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .lightbox .lightbox-content .prev:not(.disabled):hover:before,
      .lightbox .lightbox-content .next:not(.disabled):hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .lightbox .lightbox-content .prev:not(.disabled):active,
    .lightbox .lightbox-content .next:not(.disabled):active {
      background-color: #071e83;
      border-color: #ffffff; }
      .lightbox .lightbox-content .prev:not(.disabled):active:before,
      .lightbox .lightbox-content .next:not(.disabled):active:before {
        color: #ffffff; }
    .lightbox .lightbox-content .prev.disabled,
    .lightbox .lightbox-content .next.disabled {
      opacity: 0.4;
      background: transparent;
      border-color: rgba(208, 208, 208, 0.7);
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      cursor: no-drop; }
  .lightbox .lightbox-content .prev {
    left: 0;
    border-radius: 0 5px 5px 0;
    border-width: 2px 2px 2px 0; }
    .lightbox .lightbox-content .prev:before {
      content: ""; }
  .lightbox .lightbox-content .next {
    right: 0;
    border-radius: 5px 0 0 5px;
    border-width: 2px 0 2px 2px; }
    .lightbox .lightbox-content .next:before {
      content: ""; }

.lightbox .slidesContainer {
  -webkit-box-shadow: -20px 6px 60px -13px #000000;
          box-shadow: -20px 6px 60px -13px #000000; }

.lightbox #lightboxPagerContainer {
  height: auto;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .lightbox #lightboxPagerContainer {
      width: auto;
      border-radius: 10px 0 0 10px; } }
  .lightbox #lightboxPagerContainer.disabled {
    display: none; }
  .lightbox #lightboxPagerContainer.vertical {
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    background-color: #ffffff; }
    .lightbox #lightboxPagerContainer.vertical li {
      padding-right: 5px; }
      .lightbox #lightboxPagerContainer.vertical li.active img {
        opacity: 0.4; }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-y {
      width: 10px;
      position: absolute;
      left: 0;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.vertical .ps__rail-y .ps__thumb-y {
        width: 10px;
        position: absolute;
        background-color: rgba(7, 30, 131, 0.7); }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-x {
      display: none; }
  .lightbox #lightboxPagerContainer.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .lightbox #lightboxPagerContainer.horizontal {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .lightbox #lightboxPagerContainer.horizontal li {
      position: relative;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      @media print, screen and (min-width: 40em) {
        .lightbox #lightboxPagerContainer.horizontal li {
          -webkit-box-flex: inherit;
              -ms-flex: inherit;
                  flex: inherit; } }
      .lightbox #lightboxPagerContainer.horizontal li.active {
        background-color: #ffffff; }
        .lightbox #lightboxPagerContainer.horizontal li.active img {
          opacity: 0.4; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-y {
      display: none; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-x {
      width: 100%;
      height: 10px;
      position: absolute;
      top: auto !important;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.horizontal .ps__rail-x .ps__thumb-x {
        height: 10px;
        position: absolute;
        background-color: rgba(7, 30, 131, 0.7); }

.lightbox-pager-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  cursor: pointer; }
  @media print, screen and (min-width: 40em) {
    .lightbox-pager-item {
      width: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item {
      width: 170px; } }
  .lightbox-pager-item img {
    max-height: 100%; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item img {
        max-width: 25vw;
        max-height: 20vh; } }
  .lightbox-pager-item.active {
    cursor: default; }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item.is-video {
      width: auto; } }
  .lightbox-pager-item.is-video img {
    height: 50px;
    margin: 10px; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item.is-video img {
        height: auto;
        margin: 20px; } }
  .lightbox-pager-item.image-360 {
    position: relative; }
    .lightbox-pager-item.image-360:hover:after {
      display: none; }
    .lightbox-pager-item.image-360:after {
      content: '';
      max-width: 55px;
      max-height: 55px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(208, 208, 208, 0.2); }

.lightbox-background {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(174, 174, 174, 0.3); }

#lightbox-video-player {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9; }

/*
----- Magnifier ----- 
This is primarily used on the product page when you hover over the main image.
*/
.img-magnifier-container {
  position: relative; }

.img-magnifier-glass {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: crosshair; }

.product-enquiry-main-image.magnification-container.image:hover:before {
  padding: 2px 4px;
  font-size: 11px; }

.image-magnification {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  visibility: hidden; }
  .image-magnification.active {
    visibility: visible; }
  .image-magnification .magnifying-glass {
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    z-index: 1;
    cursor: crosshair; }

.magnifier-controls-container {
  position: absolute;
  bottom: 0;
  right: 0; }
  .magnifier-controls-container .magnifier-control {
    display: block;
    padding: 20px;
    border: 1px solid #071e83;
    cursor: pointer; }
    .magnifier-controls-container .magnifier-control:before {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 30px;
      color: #071e83;
      line-height: 0; }
    .magnifier-controls-container .magnifier-control.de-increment:before {
      content: ""; }
    .magnifier-controls-container .magnifier-control.increment:before {
      content: ""; }

/*
----- bxSlider ( Carousels ) ------ 
- https://bxslider.com/
- This handles all the display styles for carousels / slideshows around express this can be in a module or additional images on the product page, the content is not restricted to just images but can extend to display product / ebg's. 
*/
.carousel {
  width: 100%;
  position: relative;
  --module-gutter: 10px; }
  .carousel.bx-underline .collection-item .content-container {
    border-width: 0;
    border-style: solid;
    border-color: #8f95a5;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .carousel.bx-underline .collection-item .content-container:hover {
      border-color: #fb6f21;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .carousel.bx-shadow .collection-item .content-container {
    height: 100%;
    position: relative;
    margin: auto;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .carousel.bx-shadow .collection-item .content-container:hover {
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .carousel.transition-mode-horizontal .collection-item {
    height: 100%; }
  .carousel.transition-mode-horizonal .bx-viewport, .carousel.transition-mode-fade .bx-viewport {
    overflow-y: visible !important;
    overflow-x: clip !important; }
  @media print, screen and (min-width: 40em) {
    .carousel {
      --module-gutter: 50px; } }
  @media screen and (min-width: 81.25em) {
    .carousel {
      --module-gutter: 50px; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container [data-content-container], .product-carousel-module.multimedia-right .content-container [data-content-container], .cms-carousel-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:first-child, .product-carousel-module.multimedia-right .content-container a:first-child, .cms-carousel-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(2), .product-carousel-module.multimedia-right .content-container a:nth-child(2), .cms-carousel-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(3), .product-carousel-module.multimedia-right .content-container a:nth-child(3), .cms-carousel-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(4), .product-carousel-module.multimedia-right .content-container a:nth-child(4), .cms-carousel-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(5), .product-carousel-module.multimedia-right .content-container a:nth-child(5), .cms-carousel-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .stock-indicator, .product-carousel-module.multimedia-right .content-container .stock-indicator, .cms-carousel-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .quantity-container, .product-carousel-module.multimedia-right .content-container .quantity-container, .cms-carousel-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .unit-of-measure, .product-carousel-module.multimedia-right .content-container .unit-of-measure, .cms-carousel-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .content-container .stockline-view-button, [data-bxSlider].multimedia-right .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .content-container .stockline-view-button, .product-carousel-module.multimedia-right .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .price, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .price, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

[data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container:hover, .product-carousel-module.multimedia-right .collection-item .content-container:hover, .cms-carousel-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  [data-bxSlider].multimedia-right .collection-item .content-container > a:first-child, .product-carousel-module.multimedia-right .collection-item .content-container > a:first-child, .cms-carousel-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product .description, .product-carousel-module.multimedia-right .collection-item .content-container.product .description, .cms-carousel-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .callbackContainer, .product-carousel-module.multimedia-right .collection-item .content-container .callbackContainer, .cms-carousel-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container p, .product-carousel-module.multimedia-right .collection-item .content-container p, .cms-carousel-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .group-description, .product-carousel-module.multimedia-right .collection-item .content-container .group-description, .cms-carousel-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-right .collection-item .content-container .image img, .product-carousel-module.multimedia-right .collection-item .content-container .image img, .cms-carousel-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .description, [data-bxSlider].multimedia-right .collection-item .content-container .code, [data-bxSlider].multimedia-right .collection-item .content-container .prices, [data-bxSlider].multimedia-right .collection-item .content-container .stock-indicator, .product-carousel-module.multimedia-right .collection-item .content-container .description, .product-carousel-module.multimedia-right .collection-item .content-container .code, .product-carousel-module.multimedia-right .collection-item .content-container .prices, .product-carousel-module.multimedia-right .collection-item .content-container .stock-indicator, .cms-carousel-module.multimedia-right .collection-item .content-container .description, .cms-carousel-module.multimedia-right .collection-item .content-container .code, .cms-carousel-module.multimedia-right .collection-item .content-container .prices, .cms-carousel-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-right .collection-item .content-container .read-more-content, .product-carousel-module.multimedia-right .collection-item .content-container .read-more-content, .cms-carousel-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

[data-bxSlider].multimedia-left .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:first-child, .product-carousel-module.multimedia-left .content-container a:first-child, .cms-carousel-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(2), .product-carousel-module.multimedia-left .content-container a:nth-child(2), .cms-carousel-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(3), .product-carousel-module.multimedia-left .content-container a:nth-child(3), .cms-carousel-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(4), .product-carousel-module.multimedia-left .content-container a:nth-child(4), .cms-carousel-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(5), .product-carousel-module.multimedia-left .content-container a:nth-child(5), .cms-carousel-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .quantity-container, .product-carousel-module.multimedia-left .content-container .quantity-container, .cms-carousel-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .unit-of-measure, .product-carousel-module.multimedia-left .content-container .unit-of-measure, .cms-carousel-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-left .collection-item.ebg .price, .product-carousel-module.multimedia-left .collection-item.ebg .price, .cms-carousel-module.multimedia-left .collection-item.ebg .price {
  display: none; }

[data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  [data-bxSlider].multimedia-left .content-container > a:first-child, .product-carousel-module.multimedia-left .content-container > a:first-child, .cms-carousel-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-left .content-container.product .description, .product-carousel-module.multimedia-left .content-container.product .description, .cms-carousel-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .callbackContainer, .product-carousel-module.multimedia-left .content-container .callbackContainer, .cms-carousel-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-left .content-container p, .product-carousel-module.multimedia-left .content-container p, .cms-carousel-module.multimedia-left .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-left .content-container .group-description, .product-carousel-module.multimedia-left .content-container .group-description, .cms-carousel-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .description, .product-carousel-module.multimedia-left .content-container .description, .cms-carousel-module.multimedia-left .content-container .description {
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-left .content-container .image img, .product-carousel-module.multimedia-left .content-container .image img, .cms-carousel-module.multimedia-left .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-left .content-container .code, .product-carousel-module.multimedia-left .content-container .code, .cms-carousel-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .prices, .product-carousel-module.multimedia-left .content-container .prices, .cms-carousel-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider].multimedia-left .content-container .prices .price-container, .product-carousel-module.multimedia-left .content-container .prices .price-container, .cms-carousel-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-left .content-container .read-more-content, .product-carousel-module.multimedia-left .content-container .read-more-content, .cms-carousel-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

[data-bxSlider].multimedia-bottom .content-container > a:first-of-type, .product-carousel-module.multimedia-bottom .content-container > a:first-of-type, .cms-carousel-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

[data-bxSlider].multimedia-bottom .image, .product-carousel-module.multimedia-bottom .image, .cms-carousel-module.multimedia-bottom .image {
  margin: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container a:first-child, .product-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .collection-item.ebg .content-container a.description, .product-carousel-module.minified-layout .collection-item.ebg .content-container a.description, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container [data-content-container], .product-carousel-module.minified-layout .content-container [data-content-container], .cms-carousel-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:first-child, .product-carousel-module.minified-layout .content-container a:first-child, .cms-carousel-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(2), .product-carousel-module.minified-layout .content-container a:nth-child(2), .cms-carousel-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(3), .product-carousel-module.minified-layout .content-container a:nth-child(3), .cms-carousel-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(4), .product-carousel-module.minified-layout .content-container a:nth-child(4), .cms-carousel-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(5), .product-carousel-module.minified-layout .content-container a:nth-child(5), .cms-carousel-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .stock-indicator, .product-carousel-module.minified-layout .content-container .stock-indicator, .cms-carousel-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .quantity-container, .product-carousel-module.minified-layout .content-container .quantity-container, .cms-carousel-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .unit-of-measure, .product-carousel-module.minified-layout .content-container .unit-of-measure, .cms-carousel-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .not-logged-in-container, [data-bxSlider].minified-layout .content-container .stockline-view-button, [data-bxSlider].minified-layout .content-container .enquiry-button-container, .product-carousel-module.minified-layout .content-container .not-logged-in-container, .product-carousel-module.minified-layout .content-container .stockline-view-button, .product-carousel-module.minified-layout .content-container .enquiry-button-container, .cms-carousel-module.minified-layout .content-container .not-logged-in-container, .cms-carousel-module.minified-layout .content-container .stockline-view-button, .cms-carousel-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].minified-layout .content-container.product, .product-carousel-module.minified-layout .content-container.product, .cms-carousel-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container, .product-carousel-module.minified-layout .content-container, .cms-carousel-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

[data-bxSlider].minified-layout .content-container > a:first-of-type, .product-carousel-module.minified-layout .content-container > a:first-of-type, .cms-carousel-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container, .product-carousel-module.minified-layout .collection-item.ebg .content-container, .cms-carousel-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .description, .product-carousel-module.minified-layout .collection-item.ebg .description, .cms-carousel-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

[data-bxSlider].minified-layout .image, .product-carousel-module.minified-layout .image, .cms-carousel-module.minified-layout .image {
  width: 110px;
  margin: 0; }

[data-bxSlider].minified-layout .description, [data-bxSlider].minified-layout a:first-child, .product-carousel-module.minified-layout .description, .product-carousel-module.minified-layout a:first-child, .cms-carousel-module.minified-layout .description, .cms-carousel-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

[data-bxSlider] .image-container, .product-carousel-module .image-container, .cms-carousel-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  [data-bxSlider] .image-container:hover, .product-carousel-module .image-container:hover, .cms-carousel-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

[data-bxSlider] [data-content-container], .product-carousel-module [data-content-container], .cms-carousel-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  [data-bxSlider] [data-content-container]:has(.read-more), .product-carousel-module [data-content-container]:has(.read-more), .cms-carousel-module [data-content-container]:has(.read-more) {
    height: 300px; }
  [data-bxSlider] [data-content-container] a, .product-carousel-module [data-content-container] a, .cms-carousel-module [data-content-container] a {
    max-height: 100%; }
  [data-bxSlider] [data-content-container] p, .product-carousel-module [data-content-container] p, .cms-carousel-module [data-content-container] p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .collection-item.ebg:has(.description:empty) .content-container, .product-carousel-module .collection-item.ebg:has(.description:empty) .content-container, .cms-carousel-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

[data-bxSlider] .collection-item.ebg:hover .description, .product-carousel-module .collection-item.ebg:hover .description, .cms-carousel-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

[data-bxSlider] .collection-item.ebg:active .description, .product-carousel-module .collection-item.ebg:active .description, .cms-carousel-module .collection-item.ebg:active .description {
  background-color: transparent; }

[data-bxSlider] .collection-item.ebg .content-container, .product-carousel-module .collection-item.ebg .content-container, .cms-carousel-module .collection-item.ebg .content-container {
  padding: 18px 0;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .collection-item.ebg .content-container, .product-carousel-module .collection-item.ebg .content-container, .cms-carousel-module .collection-item.ebg .content-container {
      padding: 18px 0; } }

[data-bxSlider] .collection-item.ebg .description, .product-carousel-module .collection-item.ebg .description, .cms-carousel-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 1.125rem;
  background-color: transparent;
  text-transform: uppercase;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  [data-bxSlider] .collection-item.ebg .description:not(:empty), .product-carousel-module .collection-item.ebg .description:not(:empty), .cms-carousel-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 20px; }

[data-bxSlider] .collection-item.ebg .content-container:hover, .product-carousel-module .collection-item.ebg .content-container:hover, .cms-carousel-module .collection-item.ebg .content-container:hover {
  -webkit-box-shadow: unset;
          box-shadow: unset; }

[data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 10px;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
      width: 100%; } }
  [data-bxSlider] .content-container .code, .product-carousel-module .content-container .code, .cms-carousel-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .code:not(:empty) + .description, .product-carousel-module .content-container .code:not(:empty) + .description, .cms-carousel-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  [data-bxSlider] .content-container .description, .product-carousel-module .content-container .description, .cms-carousel-module .content-container .description {
    padding: 10px 0; }
  [data-bxSlider] .content-container .specification, .product-carousel-module .content-container .specification, .cms-carousel-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .specification:not(:empty), .product-carousel-module .content-container .specification:not(:empty), .cms-carousel-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  [data-bxSlider] .content-container .prices, .product-carousel-module .content-container .prices, .cms-carousel-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  [data-bxSlider] .content-container .stock-indicator, .product-carousel-module .content-container .stock-indicator, .cms-carousel-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    [data-bxSlider] .content-container .stock-indicator + .not-logged-in-container, .product-carousel-module .content-container .stock-indicator + .not-logged-in-container, .cms-carousel-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    [data-bxSlider] .content-container .stock-indicator a, .product-carousel-module .content-container .stock-indicator a, .cms-carousel-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    [data-bxSlider] .content-container .stock-indicator button, .product-carousel-module .content-container .stock-indicator button, .cms-carousel-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  [data-bxSlider] .content-container .prices + .not-logged-in-container, [data-bxSlider] .content-container .prices + .stockline-view-button, [data-bxSlider] .content-container .prices + .enquiry-button-container, .product-carousel-module .content-container .prices + .not-logged-in-container, .product-carousel-module .content-container .prices + .stockline-view-button, .product-carousel-module .content-container .prices + .enquiry-button-container, .cms-carousel-module .content-container .prices + .not-logged-in-container, .cms-carousel-module .content-container .prices + .stockline-view-button, .cms-carousel-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  [data-bxSlider] .content-container .not-logged-in-container, [data-bxSlider] .content-container .stockline-view-button, [data-bxSlider] .content-container .enquiry-button-container, .product-carousel-module .content-container .not-logged-in-container, .product-carousel-module .content-container .stockline-view-button, .product-carousel-module .content-container .enquiry-button-container, .cms-carousel-module .content-container .not-logged-in-container, .cms-carousel-module .content-container .stockline-view-button, .cms-carousel-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  [data-bxSlider] .content-container.minified .image, .product-carousel-module .content-container.minified .image, .cms-carousel-module .content-container.minified .image {
    width: 110px; }
  [data-bxSlider] .content-container:hover .description, [data-bxSlider] .content-container:hover .read-more, .product-carousel-module .content-container:hover .description, .product-carousel-module .content-container:hover .read-more, .cms-carousel-module .content-container:hover .description, .cms-carousel-module .content-container:hover .read-more {
    color: #fb6f21;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  [data-bxSlider] .content-container:active .description, .product-carousel-module .content-container:active .description, .cms-carousel-module .content-container:active .description {
    color: #d0d0d0b3; }
  [data-bxSlider] .content-container.image, .product-carousel-module .content-container.image, .cms-carousel-module .content-container.image {
    background-color: transparent; }
  [data-bxSlider] .content-container.product, .product-carousel-module .content-container.product, .cms-carousel-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    [data-bxSlider] .content-container.product .group-description, .product-carousel-module .content-container.product .group-description, .cms-carousel-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    [data-bxSlider] .content-container.product a.group-description + a:has(.description) .description, .product-carousel-module .content-container.product a.group-description + a:has(.description) .description, .cms-carousel-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    [data-bxSlider] .content-container.product .description, .product-carousel-module .content-container.product .description, .cms-carousel-module .content-container.product .description {
      padding: 15px 10px; }
      [data-bxSlider] .content-container.product .description:is(:empty), .product-carousel-module .content-container.product .description:is(:empty), .cms-carousel-module .content-container.product .description:is(:empty) {
        padding: 0; }
  [data-bxSlider] .content-container:hover, .product-carousel-module .content-container:hover, .cms-carousel-module .content-container:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

[data-bxSlider] .collection-image-container, .product-carousel-module .collection-image-container, .cms-carousel-module .collection-image-container {
  width: 100%; }

[data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
      margin: auto; } }
  [data-bxSlider] .image img, .product-carousel-module .image img, .cms-carousel-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

[data-bxSlider] .label-value-pair-container, .product-carousel-module .label-value-pair-container, .cms-carousel-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  [data-bxSlider] .label-value-pair-container .label, .product-carousel-module .label-value-pair-container .label, .cms-carousel-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  [data-bxSlider] .label-value-pair-container .value, .product-carousel-module .label-value-pair-container .value, .cms-carousel-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

[data-bxSlider] .department-description, .product-carousel-module .department-description, .cms-carousel-module .department-description {
  color: var(--primary-colour-lightness-0, #071e83);
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .department-description:hover, .product-carousel-module .department-description:hover, .cms-carousel-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

[data-bxSlider] .group-description, .product-carousel-module .group-description, .cms-carousel-module .group-description {
  color: #071e83;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #fb6f21;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #d0d0d0b3; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #333333;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .description p, .product-carousel-module .description p, .cms-carousel-module .description p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .read-more, .product-carousel-module .read-more, .cms-carousel-module .read-more {
  color: #333333; }

[data-bxSlider] .specification p, .product-carousel-module .specification p, .cms-carousel-module .specification p {
  margin: 0;
  padding: 0; }

[data-bxSlider] .code, .product-carousel-module .code, .cms-carousel-module .code {
  color: #333333;
  font-size: 1rem; }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label, .product-carousel-module .col-label + .prices p:only-child .label, .cms-carousel-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label + .value, .product-carousel-module .col-label + .prices p:only-child .label + .value, .cms-carousel-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

[data-bxSlider] .prices, .product-carousel-module .prices, .cms-carousel-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem; }
  [data-bxSlider] .prices p, .product-carousel-module .prices p, .cms-carousel-module .prices p {
    margin: 0;
    font-weight: 500; }
  [data-bxSlider] .prices .price-container, .product-carousel-module .prices .price-container, .cms-carousel-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    [data-bxSlider] .prices .price-container:has(.vat), .product-carousel-module .prices .price-container:has(.vat), .cms-carousel-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    [data-bxSlider] .prices .price-container .label, .product-carousel-module .prices .price-container .label, .cms-carousel-module .prices .price-container .label {
      color: #000000;
      font-weight: 500; }
      [data-bxSlider] .prices .price-container .label:not(:empty), .product-carousel-module .prices .price-container .label:not(:empty), .cms-carousel-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 500; }
      @media screen and (min-width: 81.25em) {
        [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
          text-align: right; } }
    [data-bxSlider] .prices .price-container.saving .label, [data-bxSlider] .prices .price-container.saving .value, .product-carousel-module .prices .price-container.saving .label, .product-carousel-module .prices .price-container.saving .value, .cms-carousel-module .prices .price-container.saving .label, .cms-carousel-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    [data-bxSlider] .prices .price-container.rrp .label, [data-bxSlider] .prices .price-container.rrp .value, .product-carousel-module .prices .price-container.rrp .label, .product-carousel-module .prices .price-container.rrp .value, .cms-carousel-module .prices .price-container.rrp .label, .cms-carousel-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 400;
      font-size: 0.9375rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    [data-bxSlider] .prices .price-container .label + .value, .product-carousel-module .prices .price-container .label + .value, .cms-carousel-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

[data-bxSlider] .price-container .value, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .value {
  font-size: 0.9375rem; }

[data-bxSlider] .price-container .label, [data-bxSlider] .price-container .value, .product-carousel-module .price-container .label, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .label, .cms-carousel-module .price-container .value {
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

[data-bxSlider] .price, .product-carousel-module .price, .cms-carousel-module .price {
  margin: 0; }
  [data-bxSlider] .price .currency, .product-carousel-module .price .currency, .cms-carousel-module .price .currency {
    font-size: 1.625rem; }

[data-bxSlider] .vat, .product-carousel-module .vat, .cms-carousel-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #333333;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: left;
  white-space: nowrap; }

[data-bxSlider] form, [data-bxSlider] .not-logged-in-container, [data-bxSlider] .stockline-view-button, .product-carousel-module form, .product-carousel-module .not-logged-in-container, .product-carousel-module .stockline-view-button, .cms-carousel-module form, .cms-carousel-module .not-logged-in-container, .cms-carousel-module .stockline-view-button {
  margin: auto 0 0; }

[data-bxSlider] .addToBasket.icon, .product-carousel-module .addToBasket.icon, .cms-carousel-module .addToBasket.icon {
  margin: 0; }

[data-bxSlider] .favouritesContainer, .product-carousel-module .favouritesContainer, .cms-carousel-module .favouritesContainer {
  display: inline-block; }

[data-bxSlider] .quantity-container .control.select, .product-carousel-module .quantity-container .control.select, .cms-carousel-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  [data-bxSlider] .quantity-container .control.select .label, .product-carousel-module .quantity-container .control.select .label, .cms-carousel-module .quantity-container .control.select .label {
    display: none; }
  [data-bxSlider] .quantity-container .control.select .control-select-dropdown, .product-carousel-module .quantity-container .control.select .control-select-dropdown, .cms-carousel-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

[data-bxSlider] .quantity-free-text-container, .product-carousel-module .quantity-free-text-container, .cms-carousel-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  [data-bxSlider] .quantity-free-text-container .label, .product-carousel-module .quantity-free-text-container .label, .cms-carousel-module .quantity-free-text-container .label {
    display: none; }

@media screen and (min-width: 81.25em) {
  .bx-seperator .collection-item[aria-hidden=false] + .collection-item:before {
    content: '';
    width: 1px;
    height: 80%;
    background-color: #333333;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto; } }

.bx-viewport {
  z-index: 1; }
  .bx-viewport > div {
    height: 100%; }

[id$="-carousel-container"] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.carousel:not(.largeControls):not(.smallControls) .bx-controls {
  height: 30px; }
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    width: 30px;
    height: 30px; }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-prev {
    right: 36px; } }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-next {
    left: 36px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-prev {
    right: 27.5px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-next {
    left: 27.5px; } }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 55px; } }

.carousel.largeControls .bx-controls .bx-prev:not(.disabled),
.carousel.largeControls .bx-controls .bx-next:not(.disabled) {
  width: 45px;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 55px;
      height: 55px; } }

.carousel.smallControls .bx-controls {
  height: 45px;
  width: 100px; }
  .carousel.smallControls .bx-controls .bx-prev:not(.disabled),
  .carousel.smallControls .bx-controls .bx-next:not(.disabled) {
    width: 45px;
    height: 45px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):hover,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):hover {
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      width: 12px;
      height: 12px; }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #071e83;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-223deg);
              transform: rotate(-223deg); } }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #071e83;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-43deg);
              transform: rotate(-43deg); } }

.carousel:not(.smallControls) .bx-controls {
  width: 100%; }
  .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    background-color: #ffffff;
    opacity: 1;
    -webkit-transition: background-color 0.8s, opacity 0.8s, border-color 0.8s;
    transition: background-color 0.8s, opacity 0.8s, border-color 0.8s; }
    @media print, screen and (max-width: 81.24875em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    @media screen and (min-width: 81.25em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        opacity: 0.5; } }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover {
      text-decoration: none;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      opacity: 1;
      -webkit-transition: background-color 0.6s, opacity 0.6s;
      transition: background-color 0.6s, opacity 0.6s; }
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover:before,
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover:before {
        border-color: #071e83; }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):active,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):active {
      background-color: #ffffff;
      opacity: 1; }

.bx-controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

.small-wide-controls .bx-controls .bx-prev:not(.disabled):before {
  content: "";
  font-size: 14px; }

.small-wide-controls .bx-controls .bx-next:not(.disabled):before {
  content: "";
  font-size: 14px; }

.bx-controls.disabled {
  display: none; }

.bx-controls .bx-prev:not(.disabled):before,
.bx-controls .bx-next:not(.disabled):before {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "fontello-winterstoke";
  font-size: 14px;
  color: #071e83;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  -webkit-filter: drop-shadow(0);
          filter: drop-shadow(0); }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-prev:not(.disabled):before,
    .bx-controls .bx-next:not(.disabled):before {
      font-size: 16px; } }

.bx-controls .bx-prev:not(.disabled):hover:before,
.bx-controls .bx-next:not(.disabled):hover:before {
  color: #071e83;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.bx-controls .bx-prev:not(.disabled):active:before,
.bx-controls .bx-next:not(.disabled):active:before {
  color: #071e83; }

.bx-controls .bx-prev {
  position: relative;
  float: left; }

.bx-controls .bx-prev:not(.disabled):before {
  content: ""; }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-prev:not(.disabled):before {
      margin-left: -1px; } }

.bx-controls .bx-next {
  position: relative;
  float: right; }

.bx-controls .bx-next:not(.disabled):before {
  content: ""; }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-next:not(.disabled):before {
      margin-left: 1px; } }

.bx-prev, .bx-next {
  position: relative;
  z-index: 1;
  border-radius: 10px; }

.bx-prev {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-prev {
      padding: 0; } }

.bx-next {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-next {
      padding: 0; } }

div[data-bxSlider][bx-column-count="1"] {
  --columns: 1; }

div[data-bxSlider][bx-column-count="2"] {
  --columns: 2; }

div[data-bxSlider][bx-column-count="3"] {
  --columns: 3; }

div[data-bxSlider][bx-column-count="4"] {
  --columns: 4; }

div[data-bxSlider][bx-column-count="5"] {
  --columns: 5; }

div[data-bxSlider][bx-column-count="6"] {
  --columns: 6; }

div[data-bxSlider][bx-column-count="7"] {
  --columns: 7; }

div[data-bxSlider][bx-column-count="8"] {
  --columns: 8; }

div[data-bxSlider][bx-column-count="9"] {
  --columns: 9; }

div[data-bxSlider][bx-column-count="10"] {
  --columns: 10; }

div[data-bxSlider][bx-column-count="11"] {
  --columns: 11; }

div[data-bxSlider][bx-column-count="12"] {
  --columns: 12; }

div[data-bxSlider]:not([data-initialised="true"]) {
  width: 100%;
  position: relative;
  display: grid;
  --small-columns: max(round(down, calc(var(--columns) / 2), 1), 1);
  --medium-columns: calc(var(--small-columns) + 1);
  grid-template-columns: repeat(var(--small-columns), minmax(0, 1fr));
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--medium-columns), minmax(0, 1fr));
      gap: var(--module-gutter, 50px); } }
  @media screen and (min-width: 81.25em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
      gap: var(--module-gutter, 50px); } }
  div[data-bxSlider]:not([data-initialised="true"]) > * {
    visibility: hidden; }
  div[data-bxSlider]:not([data-initialised="true"]):after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    display: block; }
  div[data-bxSlider]:not([data-initialised="true"]):before {
    content: "";
    width: 42px;
    height: 42px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    border: 4px solid rgba(149, 149, 149, 0.2);
    border-top: 4px solid #959595;
    border-radius: 50%;
    -webkit-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
    -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
            animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
    z-index: 1; }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
  div[data-bxSlider]:not([data-initialised="true"]) .collection-item:not(:first-child) {
    display: none; }

.bx-viewport {
  overflow-y: visible; }

.carousel .bx-viewport .collection-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.bx-pager {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }
  .bx-pager .bx-pager-item {
    position: relative;
    width: 22.5px;
    height: 22.5px;
    display: block;
    margin: 0 7.5px;
    z-index: 1; }
    @media screen and (min-width: 81.25em) {
      .bx-pager .bx-pager-item {
        width: 15px;
        height: 15px; } }
    .bx-pager .bx-pager-item a {
      width: 100%;
      height: 100%;
      display: block;
      background-color: #ffffff;
      border-radius: 25px;
      border: 1px solid #aeaeae;
      opacity: 0.5;
      -webkit-transition: opacity, border-color, background-color 0.8s;
      transition: opacity, border-color, background-color 0.8s; }
      .bx-pager .bx-pager-item a:hover {
        background-color: #8f95a5;
        border-color: #8f95a5;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #ffffff;
        border-color: #ffffff; }
      .bx-pager .bx-pager-item a.active {
        background-color: #ffffff;
        border-color: #ffffff;
        opacity: 1;
        cursor: not-allowed;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }

/*
----- Sliders -----
Handles the following: 
- This is *NOT* carousel functionality please refer to bxslider.scss for that.
- This is form form controls where you require an input type = slider.
- The stlyes here will also have a heavy influence on the price slider for filters.
*/
.slider {
  height: 10px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.8s, border-color 0.8s;
  transition: background-color 0.8s, border-color 0.8s; }
  .slider:hover {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-transition: background-color 0.6s, border-color 0.6s;
    transition: background-color 0.6s, border-color 0.6s; }
    .slider:hover .ui-slider-range:before {
      background-color: #fff067;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
  .slider:active {
    background-color: #ffffff;
    border-color: transparent; }
    .slider:active .ui-slider-range:before {
      background-color: #fb6f21; }
  .slider.slider-invalid .ui-slider-range:before {
    background-color: #b20c0c; }
  .slider.slider-invalid .ui-slider-handle:before {
    background-color: #b20c0c; }

.ui-slider-handle {
  width: 22px;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -.5em;
  margin-left: -5px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 25px;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .ui-slider-handle:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fb6f21;
    border-radius: 25px;
    border: 3px solid #ffffff; }
  .ui-slider-handle:hover {
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.ui-state-active {
  outline: 0; }

.ui-slider-range {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  z-index: 1; }
  .ui-slider-range:before {
    content: '';
    width: calc(100% + 4px);
    height: calc(100% + 2px);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #ffec41;
    border-radius: 5px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .ui-slider-range.ui-slider-range-min:before {
    left: -1px; }
  .ui-slider-range.ui-slider-range-max:before {
    right: -1px; }
  .ui-slider-range.ui-slider-horizontal {
    top: 0;
    height: 100%; }

.slider-errors {
  max-height: 0;
  overflow: hidden;
  text-align: center;
  margin: 25px 3px 5px;
  font-weight: 600;
  font-size: 0.6875rem;
  color: #b20c0c;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .slider-errors.active {
    max-height: 300px;
    padding: 5px;
    border: 1px solid #b20c0c;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }

[data-tooltip] {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

span.tooltip-trigger {
  position: relative;
  cursor: help;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-tap-highlight-color: transparent; }
  span.tooltip-trigger:before {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 5px 8px;
    font-size: 10px;
    font-family: "Font Awesome Solid";
    color: #ffffff;
    line-height: 1;
    background-color: rgba(51, 51, 51, 0.7);
    border-radius: 25px;
    -webkit-transition: background-color 0.8s, color 0.8s;
    transition: background-color 0.8s, color 0.8s; }
  span.tooltip-trigger:hover:before {
    background-color: #fb6f21;
    color: #ffffff;
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }
  span.tooltip-trigger:active:before {
    background-color: #071e83;
    color: #ffffff; }

.tooltip-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer; }
  .tooltip-container.warning .tooltip-content .content-container:before, .tooltip-container.alert .tooltip-content .content-container:before {
    content: "";
    display: block;
    margin-bottom: 5px;
    font-size: 20px;
    font-family: "Font Awesome Solid";
    text-align: center; }
  .tooltip-container.warning .tooltip-content .content-container p, .tooltip-container.alert .tooltip-content .content-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.9375rem;
    font-weight: 700; }
  .tooltip-container.warning .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #ff5e05;
    font-size: 20px; }
  .tooltip-container.warning .tooltip-content {
    border-color: #ff5e05;
    background-color: #ffefe6; }
    .tooltip-container.warning .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.warning .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.warning .tooltip-content .content-container:before {
      content: "";
      color: #ff5e05; }
    .tooltip-container.warning .tooltip-content p {
      color: #ff5e05;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.alert .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #b20c0c;
    font-size: 20px; }
  .tooltip-container.alert .tooltip-content {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .tooltip-container.alert .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.alert .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.alert .tooltip-content .content-container:before {
      content: "";
      color: #b20c0c; }
    .tooltip-container.alert .tooltip-content p {
      color: #b20c0c;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.state-indicator .tooltip-trigger:before {
    content: ""; }
  .tooltip-container.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tooltip-container.align-right .tooltip-content:before, .tooltip-container.align-right .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container.responsive-override-align-right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-right .tooltip-content-container {
      left: 0; }
    .tooltip-container.responsive-override-align-right .tooltip-content:before, .tooltip-container.responsive-override-align-right .tooltip-content:after {
      left: 8px; }
  .tooltip-container.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.align-left .tooltip-content:before, .tooltip-container.align-left .tooltip-content:after {
      left: 8px; }
  .tooltip-container.responsive-override-align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-left .tooltip-content-container {
      right: 0;
      left: unset; }
    .tooltip-container.responsive-override-align-left .tooltip-content:before, .tooltip-container.responsive-override-align-left .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container .tooltip-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tooltip-container .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fb6f21;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffffff;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }

.tooltip-content-container .tooltip-content {
  visibility: visible;
  overflow: visible; }

.tooltip-content {
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.tooltip-content-container {
  width: 300px;
  position: absolute;
  top: 100%;
  z-index: 10;
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .tooltip-content-container.active {
    max-height: 300px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .tooltip-content-container .tooltip-content {
    width: auto;
    height: auto;
    position: relative;
    padding: 20px;
    margin-top: 9px;
    background-color: #ffffff;
    border: 2px solid #fb6f21;
    border-radius: 10px;
    z-index: 1; }
    .tooltip-content-container .tooltip-content ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    .tooltip-content-container .tooltip-content li, .tooltip-content-container .tooltip-content a, .tooltip-content-container .tooltip-content p {
      font-size: 0.8125rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
    .tooltip-content-container .tooltip-content li p {
      margin: 10px 0; }
    .tooltip-content-container .tooltip-content p {
      padding: 0;
      margin: 0; }

/*
----- Read more -----
Handles the following: 
- Revealing additional markup, this can include text or images.
- How the fade / gradiant gets used when cutting of the overflowing content.
*/
.read-more {
  position: relative; }
  .read-more.container-calculation-waiting {
    display: none; }
  .read-more.active .read-more-content {
    height: 100% !important;
    -webkit-transition: height 0.6s;
    transition: height 0.6s; }
  .read-more.active .readMoreButton:before {
    content: ""; }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .read-more-content {
      height: auto !important; } }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .readMoreButton {
      display: none; } }
  .read-more .read-more-content {
    max-height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }
  .read-more .readMoreButton {
    display: block;
    margin: 0 auto;
    padding: 10px 15px 24px;
    color: #071e83;
    font-weight: 600; }
    .read-more .readMoreButton:hover:before {
      color: #959595;
      font-size: 0.9375rem;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .read-more .readMoreButton:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 5px;
      left: 0;
      font-family: "fontello-winterstoke";
      font-size: 0.75rem;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }

.read-more:not(.fade-disabled-low-content) .read-more-content:not(.no-fade) {
  -webkit-mask-image: linear-gradient(to top, transparent 0px, #000000 50px);
          mask-image: linear-gradient(to top, transparent 0px, #000000 50px); }

@media screen and (min-width: 81.25em) {
  .read-more:not(.fade-disabled-low-content).mobile-only .read-more-content:not(.no-fade) {
    -webkit-mask-image: unset;
            mask-image: unset; } }

.read-more:not(.fade-disabled-low-content).active .read-more-content {
  -webkit-mask-image: unset;
          mask-image: unset; }

.read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p {
  display: -webkit-box;
  -webkit-line-clamp: var(--read-more-line-clamp);
  -webkit-box-orient: vertical; }
  .read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p + p {
    display: none; }

.read-more:not([rm-id]) {
  visibility: hidden; }

/*
----- Auto Complete ( Predictive Search ) ------ 
The dropdown you see when you start typing in a query within the search bar in the header.
*/
#headerSearchForm .ac-results {
  border-radius: 0 0 10px 10px;
  padding: 110px 0 40px; }
  @media screen and (min-width: 81.25em) {
    #headerSearchForm .ac-results > ul {
      width: 700px !important;
      padding: 0 6%;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      background-color: #ffffff;
      border-bottom: 5px solid #071e83;
      z-index: 50000; } }

.ac-results {
  width: 100%;
  max-height: 100vh; }
  @media screen and (min-width: 81.25em) {
    .ac-results {
      z-index: 200001; } }
  .ac-results.scroller > ul {
    overflow-y: scroll; }
  .ac-results > ul, .ac-results .results-content-container > ul {
    max-height: 70vh;
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-y: auto; }
    @media screen and (min-width: 81.25em) {
      .ac-results > ul, .ac-results .results-content-container > ul {
        margin: auto; } }

.ac-collection-title-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 5px 15px;
  background-color: #071e83;
  border-radius: 10px; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1.0625rem;
    font-weight: 600;
    text-transform: uppercase;
    font-family: "Geologica", "Geologica Fallback", "Arial"; }
  .ac-collection-title-container .view-all {
    float: right; }
    .ac-collection-title-container .view-all:hover a:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .ac-collection-title-container .view-all a {
      color: #ffffff;
      font-size: 0.8rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .ac-collection-title-container .view-all a:after {
        content: "";
        margin: 0 0 0 5px;
        font-family: "fontello-winterstoke";
        font-size: 0.5625rem;
        color: #fb6f21;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }

.ac-item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0;
  list-style: none; }
  .ac-item-list.column .ac-item {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .ac-item-list.column .ac-item {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
  .ac-item-list:not(.column) .ac-item {
    width: 100%; }
  .ac-item-list.row .ac-item {
    margin: 0 0 10px; }

.ac-item {
  margin: 0 0 5px; }
  .ac-item:hover a span {
    color: #071e83;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .ac-item .image, .ac-item .ac-item-multimedia-content {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #d0d0d0; }
  .ac-item img {
    max-width: 100%; }
  .ac-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 10px;
    padding: 0 20px 0 0; }
    .ac-item a span {
      font-weight: 400;
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .ac-item .ac-item-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .ac-item .item-reference {
    font-size: 0.8125rem;
    text-transform: uppercase;
    color: #959595; }
  .ac-item .item-snippet {
    margin: 5px 0 0;
    font-size: 0.8125rem;
    color: #959595; }

.autocomplete-results-search-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-results-search-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .autocomplete-results-search-container .ajax-search {
    height: 50px; }
    .autocomplete-results-search-container .ajax-search + button {
      height: 50px; }

.autocomplete-container.active .ac-results {
  max-height: 900px;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container.active .ac-results {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); } }

.autocomplete-container .ac-results {
  max-height: 0px;
  display: none; }

.autocomplete-container .results-content-container {
  background: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container .results-content-container {
      border-radius: 0 0 10px 10px;
      padding-bottom: 50px;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      border-bottom-color: #071e83;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .autocomplete-container .results-content-container ul li:last-child .ac-item-list {
    padding-bottom: 0; }

.sa {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }
  .sa-warning {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #ff5e05;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: scaleWarning 0.75s infinite alternate;
            animation: scaleWarning 0.75s infinite alternate; }
    .sa-warning:after, .sa-warning:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 50%; }
    .sa-warning:before {
      display: inline-block;
      opacity: 0; }
    .sa-warning:after {
      display: block;
      z-index: 1; }
    .sa-warning-body {
      width: 5px;
      height: 47px;
      position: absolute;
      top: 10px;
      left: 50%;
      margin-left: -2px;
      background-color: #ff5e05;
      border-radius: 2px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
    .sa-warning-dot {
      background-color: #ff5e05;
      border-radius: 50%;
      bottom: 10px;
      height: 7px;
      left: 50%;
      margin-left: -3px;
      position: absolute;
      width: 7px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
  .sa-error {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #b20c0c;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: animateErrorIcon .5s;
            animation: animateErrorIcon .5s; }
    .sa-error:after, .sa-error:before {
      content: '';
      height: 120px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 60px; }
    .sa-error:before {
      border-radius: 40px 0 0 40px;
      width: 26px;
      height: 80px;
      top: -17px;
      left: 5px;
      -webkit-transform-origin: 60px 60px;
              transform-origin: 60px 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .sa-error:after {
      border-radius: 0 120px 120px 0;
      left: 30px;
      top: -11px;
      -webkit-transform-origin: 0 60px;
              transform-origin: 0 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: rotatePlaceholder 4.25s ease-in;
              animation: rotatePlaceholder 4.25s ease-in; }
    .sa-error-x {
      display: block;
      position: relative;
      z-index: 2; }
    .sa-error-placeholder {
      border-radius: 50%;
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      height: 80px;
      left: -4px;
      position: absolute;
      top: -4px;
      width: 80px;
      z-index: 2; }
    .sa-error-fix {
      width: 5px;
      height: 90px;
      left: 28px;
      position: absolute;
      top: 8px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      z-index: 1; }
    .sa-error-left, .sa-error-right {
      border-radius: 2px;
      display: block;
      height: 5px;
      position: absolute;
      z-index: 2;
      background-color: #b20c0c;
      top: 37px;
      width: 47px; }
    .sa-error-left {
      left: 17px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-animation: animateXLeft .75s;
              animation: animateXLeft .75s; }
    .sa-error-right {
      right: 16px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: animateXRight .75s;
              animation: animateXRight .75s; }

@keyframes rotatePlaceholder {
  0%,
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  100%,
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@-webkit-keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@-webkit-keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

.check_mark {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }

.sa-icon {
  width: 80px;
  height: 80px;
  border: 4px solid #12811f;
  border-radius: 40px;
  border-radius: 50%;
  padding: 0;
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.sa-icon.sa-success {
  border-color: #12811f; }

.sa-icon.sa-success::before,
.sa-icon.sa-success::after {
  content: '';
  border-radius: 40px;
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.sa-icon.sa-success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 60px 60px;
          transform-origin: 60px 60px; }

.sa-icon.sa-success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 0px 60px;
          transform-origin: 0px 60px; }

.sa-icon.sa-success .sa-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  border-radius: 50%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2; }

.sa-icon.sa-success .sa-fix {
  width: 5px;
  height: 90px;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
          animation: rotatePlaceholder 4.25s ease-in; }

.sa-icon.sa-success {
  border-color: transparent\9; }

.sa-icon.sa-success .sa-line.sa-tip {
  -webkit-transform: rotate(45deg) \9;
          transform: rotate(45deg) \9; }

.sa-icon.sa-success .sa-line.sa-long {
  -webkit-transform: rotate(-45deg) \9;
          transform: rotate(-45deg) \9; }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
          animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
          animation: animateSuccessLong 0.75s; }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

.sa-icon.sa-success .sa-line {
  height: 5px;
  background-color: #12811f;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2; }

.sa-icon.sa-success .sa-line.sa-tip {
  width: 25px;
  left: 14px;
  top: 46px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.sa-icon.sa-success .sa-line.sa-long {
  width: 47px;
  right: 8px;
  top: 38px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

@-webkit-keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

/*
----- Notifications ( Callouts ) -----
Handles the following: 
- On page notications ( no items found ) 
- Header notifications.
- Cookie notification.
- Callouts ( things that slide out from the edged of a window ) 
- No Javascript notification
- Browser compatiblity notification 

*/
.header-notification-container {
  width: 100%; }
  .header-notification-container .callout {
    margin: 0;
    padding: 0 10px; }
    @media print, screen and (min-width: 40em) {
      .header-notification-container .callout {
        padding: 0; } }
    .header-notification-container .callout:not(:first-of-type) {
      border-top-color: #ffffff; }
    .header-notification-container .callout h5 {
      position: relative;
      padding: 0 0 0 35px;
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 700;
      color: #ffffff; }
      .header-notification-container .callout h5:before {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        padding: 0 5px 0 0;
        font-size: 22px;
        color: #ffffff;
        font-family: "Font Awesome Solid";
        line-height: 1; }
    .header-notification-container .callout a {
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .header-notification-container .callout a:hover {
        color: #ffffff;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
      .header-notification-container .callout a:active {
        color: #ffffff; }
    .header-notification-container .callout button:not(.close-button) {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .header-notification-container .callout button:not(.close-button) {
          width: auto; } }
      @media screen and (min-width: 81.25em) {
        .header-notification-container .callout button:not(.close-button) {
          margin-left: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .header-notification-container .callout button.close-button {
        position: relative;
        right: 0; } }
  .header-notification-container .alert h5:before {
    content: ""; }
  .header-notification-container .warning h5:before {
    content: ""; }
  .header-notification-container .success h5:before {
    content: ""; }
  .header-notification-container .content-container {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .header-notification-container .close-button {
    width: 17px;
    height: 17px;
    display: block;
    margin: 5px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-notification-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

.notification-container.callout {
  display: none; }

.callout-container {
  position: fixed;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 999999999999; }
  .callout-container.side .callout {
    border-radius: 10px 0 0 10px; }
  .callout-container .callout {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 25px;
    font-weight: 700;
    font-size: 1.0625rem; }
    .callout-container .callout:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background-color: #ffffff;
      z-index: -1; }
    .callout-container .callout.success {
      border-left: 5px solid #12811f;
      background-color: #dffbe2;
      color: #12811f; }
      .callout-container .callout.success strong {
        color: #12811f; }
    .callout-container .callout.warning {
      border-left: 5px solid #ff5e05;
      background-color: #ffefe6;
      color: #ff5e05; }
      .callout-container .callout.warning strong {
        color: #ff5e05; }
    .callout-container .callout.alert {
      border-left: 5px solid #b20c0c;
      background-color: #fde1e1;
      color: #b20c0c; }
      .callout-container .callout.alert strong {
        color: #b20c0c; }
    .callout-container .callout h5 {
      margin: 0 25px 0 0;
      font-weight: 400;
      font-size: 1.0625rem; }
      .callout-container .callout h5 strong {
        font-weight: 700; }
    .callout-container .callout .close-button {
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .callout-container .callout .close-button:before {
        position: relative;
        bottom: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .callout-container .callout .close-button:before:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #aeaeae;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:hover:before {
          color: #071e83;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:active:before {
          color: #fb6f21;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.on-page-notifications-container {
  margin: 0 0 20px; }

.on-page-notification {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .on-page-notification:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .on-page-notification {
      gap: 0 15px; } }
  .on-page-notification:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .on-page-notification.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .on-page-notification.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-2 {
        padding: 15px 65px; } }
  .on-page-notification.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-3 {
        padding: 15px 0; } }
  .on-page-notification.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 10px; }
    .on-page-notification.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.success:has(.content-container):before {
      color: #12811f; }
    .on-page-notification.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .on-page-notification.success h1, .on-page-notification.success h2, .on-page-notification.success h3, .on-page-notification.success h4, .on-page-notification.success h5, .on-page-notification.success h6, .on-page-notification.success p, .on-page-notification.success a {
      color: #12811f; }
  .on-page-notification.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .on-page-notification.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.warning:has(.content-container):before {
      color: #ff5e05; }
    .on-page-notification.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .on-page-notification.warning h1, .on-page-notification.warning h2, .on-page-notification.warning h3, .on-page-notification.warning h4, .on-page-notification.warning h5, .on-page-notification.warning h6, .on-page-notification.warning p, .on-page-notification.warning a {
      color: #ff5e05; }
  .on-page-notification.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 10px; }
    .on-page-notification.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.alert:has(.content-container):before {
      color: #b20c0c; }
    .on-page-notification.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .on-page-notification.alert h1, .on-page-notification.alert h2, .on-page-notification.alert h3, .on-page-notification.alert h4, .on-page-notification.alert h5, .on-page-notification.alert h6, .on-page-notification.alert p, .on-page-notification.alert a {
      color: #b20c0c; }
  .on-page-notification.disabled p {
    color: #959595;
    font-weight: 600; }
  .on-page-notification.information {
    background-color: #ebebeb;
    border: 1px solid #000000; }
    .on-page-notification.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.information:has(.content-container):before {
      color: #000000; }
    .on-page-notification.information p {
      color: #000000;
      font-weight: 600; }
  .on-page-notification.icon-non-returnable {
    --font-family: fontello; }
    .on-page-notification.icon-non-returnable:before {
      content: ""; }
  .on-page-notification .user-friendly-prefix {
    margin-right: 5px; }
  .on-page-notification > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .on-page-notification > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .on-page-notification > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .on-page-notification .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification .content-container {
        margin: 0; } }
  .on-page-notification p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .on-page-notification p img[style*="float:left"], .on-page-notification p img[style*="float: left"], .on-page-notification p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .on-page-notification p img[style*="float:right"], .on-page-notification p img[style*="float: right"], .on-page-notification p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .on-page-notification p img {
      margin: .2em 0; }
    .on-page-notification p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .on-page-notification p:not(:empty) + table, .on-page-notification p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .on-page-notification table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .on-page-notification table:not([class*=preset]) thead {
      background-color: transparent; }
      .on-page-notification table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .on-page-notification table:not([class*=preset]) thead th {
        font-weight: 700; }
    .on-page-notification table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table.responsive-table {
          display: table; } }
      .on-page-notification table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .on-page-notification table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification table td {
        padding: 10px; } }
    .on-page-notification table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .on-page-notification table tbody {
      background-color: transparent; }
      .on-page-notification table tbody th {
        background-color: transparent; }
      .on-page-notification table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table tbody tr {
          display: table-row; } }
    .on-page-notification table .col-label {
      color: #333333; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .on-page-notification table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .on-page-notification table.comparison-table tbody td:first-child {
      color: #333333;
      font-weight: 700; }
  .on-page-notification blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    text-align: center;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .on-page-notification blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .on-page-notification blockquote:hover:before {
        color: #d0d0d0;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .on-page-notification blockquote:has(img) {
      text-align: left; }
    .on-page-notification blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        padding: 50px 60px; } }
    .on-page-notification blockquote + blockquote {
      margin-top: 15px; }
    .on-page-notification blockquote:before, .on-page-notification blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .on-page-notification blockquote:before {
      top: 0;
      left: 0; }
    .on-page-notification blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .on-page-notification blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification blockquote img {
          text-align: left; } }
  .on-page-notification a[href^="tel:"], .on-page-notification a[href^="mailto:"] {
    font-weight: 700; }
    .on-page-notification a[href^="tel:"]:hover, .on-page-notification a[href^="mailto:"]:hover {
      text-decoration: none; }
    .on-page-notification a[href^="tel:"].show-contact-icon:before, .on-page-notification a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .on-page-notification a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .on-page-notification a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .on-page-notification p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .on-page-notification p a:has([style*="float"]) {
    display: inline; }
  .on-page-notification a {
    text-decoration: underline; }
  .on-page-notification > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification > p:first-of-type {
        padding-top: 27px; } }

.no-items-found-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .no-items-found-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .no-items-found-container {
      gap: 0 15px; } }
  .no-items-found-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .no-items-found-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .no-items-found-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-2 {
        padding: 15px 65px; } }
  .no-items-found-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-3 {
        padding: 15px 0; } }
  .no-items-found-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 10px; }
    .no-items-found-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.success:has(.content-container):before {
      color: #12811f; }
    .no-items-found-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .no-items-found-container.success h1, .no-items-found-container.success h2, .no-items-found-container.success h3, .no-items-found-container.success h4, .no-items-found-container.success h5, .no-items-found-container.success h6, .no-items-found-container.success p, .no-items-found-container.success a {
      color: #12811f; }
  .no-items-found-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .no-items-found-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .no-items-found-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .no-items-found-container.warning h1, .no-items-found-container.warning h2, .no-items-found-container.warning h3, .no-items-found-container.warning h4, .no-items-found-container.warning h5, .no-items-found-container.warning h6, .no-items-found-container.warning p, .no-items-found-container.warning a {
      color: #ff5e05; }
  .no-items-found-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 10px; }
    .no-items-found-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .no-items-found-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .no-items-found-container.alert h1, .no-items-found-container.alert h2, .no-items-found-container.alert h3, .no-items-found-container.alert h4, .no-items-found-container.alert h5, .no-items-found-container.alert h6, .no-items-found-container.alert p, .no-items-found-container.alert a {
      color: #b20c0c; }
  .no-items-found-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .no-items-found-container.information {
    background-color: #ebebeb;
    border: 1px solid #000000; }
    .no-items-found-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.information:has(.content-container):before {
      color: #000000; }
    .no-items-found-container.information p {
      color: #000000;
      font-weight: 600; }
  .no-items-found-container.icon-non-returnable {
    --font-family: fontello; }
    .no-items-found-container.icon-non-returnable:before {
      content: ""; }
  .no-items-found-container .user-friendly-prefix {
    margin-right: 5px; }
  .no-items-found-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .no-items-found-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .no-items-found-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .no-items-found-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container .content-container {
        margin: 0; } }
  .no-items-found-container p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .no-items-found-container p img[style*="float:left"], .no-items-found-container p img[style*="float: left"], .no-items-found-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .no-items-found-container p img[style*="float:right"], .no-items-found-container p img[style*="float: right"], .no-items-found-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .no-items-found-container p img {
      margin: .2em 0; }
    .no-items-found-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .no-items-found-container p:not(:empty) + table, .no-items-found-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .no-items-found-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .no-items-found-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .no-items-found-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .no-items-found-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .no-items-found-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table.responsive-table {
          display: table; } }
      .no-items-found-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .no-items-found-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container table td {
        padding: 10px; } }
    .no-items-found-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .no-items-found-container table tbody {
      background-color: transparent; }
      .no-items-found-container table tbody th {
        background-color: transparent; }
      .no-items-found-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table tbody tr {
          display: table-row; } }
    .no-items-found-container table .col-label {
      color: #333333; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .no-items-found-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .no-items-found-container table.comparison-table tbody td:first-child {
      color: #333333;
      font-weight: 700; }
  .no-items-found-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    text-align: center;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .no-items-found-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .no-items-found-container blockquote:hover:before {
        color: #d0d0d0;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .no-items-found-container blockquote:has(img) {
      text-align: left; }
    .no-items-found-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        padding: 50px 60px; } }
    .no-items-found-container blockquote + blockquote {
      margin-top: 15px; }
    .no-items-found-container blockquote:before, .no-items-found-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .no-items-found-container blockquote:before {
      top: 0;
      left: 0; }
    .no-items-found-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .no-items-found-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container blockquote img {
          text-align: left; } }
  .no-items-found-container a[href^="tel:"], .no-items-found-container a[href^="mailto:"] {
    font-weight: 700; }
    .no-items-found-container a[href^="tel:"]:hover, .no-items-found-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .no-items-found-container a[href^="tel:"].show-contact-icon:before, .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .no-items-found-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .no-items-found-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .no-items-found-container p a:has([style*="float"]) {
    display: inline; }
  .no-items-found-container a {
    text-decoration: underline; }
  .no-items-found-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container > p:first-of-type {
        padding-top: 27px; } }

.internal-error-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #fde1e1;
  border: 1px solid #b20c0c; }
  .internal-error-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .internal-error-container {
      gap: 0 15px; } }
  .internal-error-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .internal-error-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .internal-error-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-2 {
        padding: 15px 65px; } }
  .internal-error-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-3 {
        padding: 15px 0; } }
  .internal-error-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 10px; }
    .internal-error-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.success:has(.content-container):before {
      color: #12811f; }
    .internal-error-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .internal-error-container.success h1, .internal-error-container.success h2, .internal-error-container.success h3, .internal-error-container.success h4, .internal-error-container.success h5, .internal-error-container.success h6, .internal-error-container.success p, .internal-error-container.success a {
      color: #12811f; }
  .internal-error-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 10px; }
    .internal-error-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .internal-error-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .internal-error-container.warning h1, .internal-error-container.warning h2, .internal-error-container.warning h3, .internal-error-container.warning h4, .internal-error-container.warning h5, .internal-error-container.warning h6, .internal-error-container.warning p, .internal-error-container.warning a {
      color: #ff5e05; }
  .internal-error-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 10px; }
    .internal-error-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .internal-error-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .internal-error-container.alert h1, .internal-error-container.alert h2, .internal-error-container.alert h3, .internal-error-container.alert h4, .internal-error-container.alert h5, .internal-error-container.alert h6, .internal-error-container.alert p, .internal-error-container.alert a {
      color: #b20c0c; }
  .internal-error-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .internal-error-container.information {
    background-color: #ebebeb;
    border: 1px solid #000000; }
    .internal-error-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.information:has(.content-container):before {
      color: #000000; }
    .internal-error-container.information p {
      color: #000000;
      font-weight: 600; }
  .internal-error-container.icon-non-returnable {
    --font-family: fontello; }
    .internal-error-container.icon-non-returnable:before {
      content: ""; }
  .internal-error-container .user-friendly-prefix {
    margin-right: 5px; }
  .internal-error-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .internal-error-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .internal-error-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .internal-error-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container .content-container {
        margin: 0; } }
  .internal-error-container p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .internal-error-container p img[style*="float:left"], .internal-error-container p img[style*="float: left"], .internal-error-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .internal-error-container p img[style*="float:right"], .internal-error-container p img[style*="float: right"], .internal-error-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .internal-error-container p img {
      margin: .2em 0; }
    .internal-error-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .internal-error-container p:not(:empty) + table, .internal-error-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .internal-error-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .internal-error-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .internal-error-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .internal-error-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .internal-error-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table.responsive-table {
          display: table; } }
      .internal-error-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .internal-error-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container table td {
        padding: 10px; } }
    .internal-error-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .internal-error-container table tbody {
      background-color: transparent; }
      .internal-error-container table tbody th {
        background-color: transparent; }
      .internal-error-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table tbody tr {
          display: table-row; } }
    .internal-error-container table .col-label {
      color: #333333; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .internal-error-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .internal-error-container table.comparison-table tbody td:first-child {
      color: #333333;
      font-weight: 700; }
  .internal-error-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    text-align: center;
    font-family: "Geologica", "Geologica Fallback", "Arial";
    font-size: 1rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .internal-error-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .internal-error-container blockquote:hover:before {
        color: #d0d0d0;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .internal-error-container blockquote:has(img) {
      text-align: left; }
    .internal-error-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        padding: 50px 60px; } }
    .internal-error-container blockquote + blockquote {
      margin-top: 15px; }
    .internal-error-container blockquote:before, .internal-error-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .internal-error-container blockquote:before {
      top: 0;
      left: 0; }
    .internal-error-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .internal-error-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container blockquote img {
          text-align: left; } }
  .internal-error-container a[href^="tel:"], .internal-error-container a[href^="mailto:"] {
    font-weight: 700; }
    .internal-error-container a[href^="tel:"]:hover, .internal-error-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .internal-error-container a[href^="tel:"].show-contact-icon:before, .internal-error-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .internal-error-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .internal-error-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .internal-error-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .internal-error-container p a:has([style*="float"]) {
    display: inline; }
  .internal-error-container a {
    text-decoration: underline; }
  .internal-error-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container > p:first-of-type {
        padding-top: 27px; } }
  .internal-error-container p {
    color: #b20c0c; }
    .internal-error-container p:before {
      content: "";
      color: #b20c0c; }

#noJsBasketNotification {
  position: absolute;
  top: 100%;
  padding: 10px 30px;
  background-color: #ffffff;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  z-index: 1; }
  #noJsBasketNotification p {
    margin: 0 0 10px;
    color: #ff0101;
    font-weight: 700; }
    #noJsBasketNotification p:last-of-type {
      margin: 0 0 30px; }
  #noJsBasketNotification a {
    width: auto;
    float: right;
    padding: 15px 20px;
    font-size: 1rem; }

.notification-container.compatibility {
  width: 100%;
  max-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  background-color: rgba(255, 1, 1, 0.9);
  color: #ffffff;
  z-index: 1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 0;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .notification-container.compatibility:hover {
    background-color: #ff0101;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .notification-container.compatibility h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #ffffff; }
  .notification-container.compatibility p {
    margin: 0;
    font-size: 1rem;
    font-weight: 600; }
  .notification-container.compatibility a {
    color: #ffffff;
    text-decoration: underline; }
    .notification-container.compatibility a:hover {
      color: #000000;
      -webkit-transition: color box-shadow 0.8s, border-color 0.8s;
      transition: color box-shadow 0.8s, border-color 0.8s; }

.notifications-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2000; }

.notification-container {
  max-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 9999999999;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .notification-container.active {
    max-height: 500px;
    padding: 7.5px 15px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms;
    -webkit-transition: max-height 3s;
    transition: max-height 3s; }
    @media screen and (min-width: 81.25em) {
      .notification-container.active {
        padding: 15px 30px; } }
  .notification-container .notification {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .notification-container .notification-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: auto 12px auto 0;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 10px; }
    @media screen and (min-width: 81.25em) {
      .notification-container .notification-icon {
        margin-right: auto 10px auto 0; } }
    .notification-container .notification-icon img {
      width: 40px; }
  .notification-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 180px;
        flex-basis: 180px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .notification-container .content-container {
        width: 70%; } }
    .notification-container .content-container p {
      padding: 0;
      margin: 0; }
  .notification-container .button-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 17px; }
    @media screen and (min-width: 81.25em) {
      .notification-container .button-container {
        width: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin: auto; } }
    .notification-container .button-container [class$="-button"] {
      margin: 0; }
      .notification-container .button-container [class$="-button"]:not(:first-child) {
        margin-top: 12px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .button-container [class$="-button"]:not(:first-child) {
            margin-top: 0;
            margin-left: 10px; } }
  .notification-container .read-more {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: padding-top 2s, max-height 0.8s;
    transition: padding-top 2s, max-height 0.8s; }
    .notification-container .read-more.active {
      max-height: 300px;
      padding-top: 25px;
      -webkit-transition: padding-top 0.6s, max-height 0.6s;
      transition: padding-top 0.6s, max-height 0.6s; }
      .notification-container .read-more.active .read-more-content {
        border-width: 1px;
        border-color: #000000;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
    .notification-container .read-more .read-more-content {
      overflow-y: scroll;
      padding: 10px;
      background-color: #ffffff;
      border-width: 0;
      border-style: solid;
      border-color: transparent;
      border-radius: 10px;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .notification-container .read-more .read-more-content h1 {
        margin: 0 0 30px;
        font-size: 1.9375rem;
        font-weight: 400;
        font-style: normal;
        color: #071e83;
        line-height: 1.6;
        background-color: transparent;
        text-transform: uppercase; }
        .notification-container .read-more .read-more-content h1:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h1:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h2 {
        margin: 0 0 15px;
        font-size: 1.9375rem;
        font-weight: 400;
        font-style: normal;
        color: #071e83;
        line-height: 1.6;
        text-transform: uppercase; }
        .notification-container .read-more .read-more-content h2:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h2:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h3 {
        margin: 0;
        padding: 20px 0;
        font-size: 1.4rem;
        font-weight: 400;
        font-style: normal;
        color: #071e83;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h3:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h3:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h4 {
        margin: 0;
        padding: 10px 0;
        font-size: 1.2rem;
        font-weight: 400;
        font-style: normal;
        color: #071e83;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h4:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h4:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h5 {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h5:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h5:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h6 {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h6:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h6:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content p {
        margin: var(--indent-margin, 0);
        font-size: 1.125rem;
        font-weight: 300;
        line-height: 1.6;
        color: #000000; }
        .notification-container .read-more .read-more-content p img[style*="float:left"], .notification-container .read-more .read-more-content p img[style*="float: left"], .notification-container .read-more .read-more-content p[style*="float:left"] > img {
          margin: .2em .2em .2em 0; }
        .notification-container .read-more .read-more-content p img[style*="float:right"], .notification-container .read-more .read-more-content p img[style*="float: right"], .notification-container .read-more .read-more-content p[style*="float:right"] > img {
          margin: .2em 0 .2em .2em; }
        .notification-container .read-more .read-more-content p img {
          margin: .2em 0; }
        .notification-container .read-more .read-more-content p + p {
          margin-top: 0;
          margin-bottom: 0; }
      .notification-container .read-more .read-more-content ul, .notification-container .read-more .read-more-content ol {
        text-align: left; }
      .notification-container .read-more .read-more-content ul {
        margin: 10px;
        padding: 0;
        line-height: 1.6;
        list-style: none;
        line-height: 25px; }
        .notification-container .read-more .read-more-content ul ul {
          padding-top: 0;
          padding-bottom: 0;
          padding-left: 25px; }
        .notification-container .read-more .read-more-content ul li {
          position: relative;
          padding: 0 0 0 15px; }
          .notification-container .read-more .read-more-content ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 10px;
            left: 0;
            margin: auto;
            display: block;
            background-color: #071e83;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content ol ol {
          margin: 0;
          padding-top: 0;
          padding-bottom: 0;
          list-style-type: lower-alpha; }
          .notification-container .read-more .read-more-content ol ol ol {
            list-style-type: lower-roman; }
            .notification-container .read-more .read-more-content ol ol ol ol {
              list-style-type: lower-alpha; }
              .notification-container .read-more .read-more-content ol ol ol ol ol {
                list-style-type: lower-roman; }
      .notification-container .read-more .read-more-content li {
        color: #000000;
        font-size: 1.125rem;
        font-weight: 300;
        line-height: 1.6; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 30px; }
      .notification-container .read-more .read-more-content ul + h2, .notification-container .read-more .read-more-content ol + h2 {
        margin-top: 15px; }
      .notification-container .read-more .read-more-content ul + h3, .notification-container .read-more .read-more-content ol + h3 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content dl {
        text-align: left; }
      .notification-container .read-more .read-more-content p:not(:empty) + table, .notification-container .read-more .read-more-content p:not(:empty) + .comparison-table-container {
        margin: 15px 0; }
      .notification-container .read-more .read-more-content table {
        --thead-border-colour: $thead-border-colour;
        max-width: 100%;
        margin-bottom: 0; }
        .notification-container .read-more .read-more-content table:not([class*=preset]) thead {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead tr {
            border-bottom: 1px solid var(--thead-border-colour); }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead th {
            font-weight: 700; }
        .notification-container .read-more .read-more-content table.responsive-table {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table.responsive-table {
              display: table; } }
          .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
            display: none; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
                display: table-row-group; } }
          .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
            display: block; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
                display: table-row-group; } }
        .notification-container .read-more .read-more-content table th {
          padding: 10px 10px 10px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .read-more .read-more-content table td {
            padding: 10px; } }
        .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
          content: '';
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
              margin: 10px; } }
        .notification-container .read-more .read-more-content table tbody {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody th {
            background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody tr:not(:last-child) th {
            border-bottom: 1px solid transparent; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table tbody tr {
              display: table-row; } }
        .notification-container .read-more .read-more-content table .col-label {
          color: #333333; }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr:not(:last-child) {
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eeeeee; } }
        .notification-container .read-more .read-more-content table.no-wrap {
          display: block;
          white-space: nowrap;
          overflow-x: auto; }
        .notification-container .read-more .read-more-content table.comparison-table tbody td:first-child {
          color: #333333;
          font-weight: 700; }
  .notification-container .read-more-trigger {
    width: 100%;
    display: block;
    margin-bottom: 12px;
    color: #000000;
    font-weight: 600;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .notification-container .read-more-trigger {
        margin-bottom: 0; } }
    .notification-container .read-more-trigger:hover {
      color: #fb6f21;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .notification-container .read-more-trigger:active, .notification-container .read-more-trigger.active {
      color: #071e83;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #4d60b2; }
  .notification-container.cookie {
    background-color: rgba(174, 174, 174, 0.9); }

/*

---- Image Overlays ---- 

Image overlays for essentially highlighted items:
- Special Offers
- Featured Items
- Best Sellers
- Previously Purchased

These normally are the size of the product image whether its on a listing or product page with a transparent background.

We allow for different images to be displayed if a group is marked as a highlighted item or whether its an individual product.

*/
#special-offers .overlay.stock.specialOffer {
  display: none; }

#featured-items .overlay.stock.featured {
  display: none; }

#best-sellers .overlay.stock.bestSeller {
  display: none; }

.content-container:not(.compact) .overlay {
  background-position: center; }

#mainImageContainer .overlay {
  background-position: center; }

.image {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: var(--media-aspect-ratio, auto);
  overflow: hidden; }
  .image:has(img[src$=".png"]) {
    background-color: #ffffff; }
  .image:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .image img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain; }
    .image img[src$=".svg"], .image img[src$=".SVG"] {
      width: 100%; }
  .image a {
    width: 100%;
    text-align: center; }
  .image .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .image .overlay.group.specialOffer {
      background-image: url("/content/images/overlays/group/sash-special-ebg.png"); }
    .image .overlay.group.featured {
      background-image: url("/content/images/overlays/group/sash-featured-ebg.png"); }
    .image .overlay.group.bestSeller {
      background-image: url("/content/images/overlays/group/sash-bestseller-ebg.png"); }
    .image .overlay.stock.specialOffer {
      background-image: url("/content/images/overlays/product/sash-special-ebg.png"); }
    .image .overlay.stock.featured {
      background-image: url("/content/images/overlays/product/sash-featured-ebg.png"); }
    .image .overlay.stock.bestSeller {
      background-image: url("/content/images/overlays/product/sash-bestseller-ebg.png"); }
    .image .overlay.stock.previously-purchased {
      background-image: url("/content/images/overlays/product/sash-previously-purchased.png"); }
    .image .overlay.stock.contract-item {
      background-image: url("/content/images/overlays/product/sash-contract-item.png"); }

[data-countdown-time] {
  max-height: 0;
  overflow: hidden; }

.countdown-container p {
  display: inline-block;
  margin: 0;
  padding: 0; }
  .countdown-container p:before {
    content: "";
    display: inline-block;
    padding: 0 7px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #071e83; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #071e83;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }
  .countdown-container .countdown-display + .display-label, .countdown-container .display-label + .display-label {
    margin-left: 0; }

.countdown-container[countdown-status=alert] .countdown-display, .countdown-container[countdown-status=alert] .display-label {
  color: #b20c0c;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container[countdown-status=warning] .countdown-display, .countdown-container[countdown-status=warning] .display-label {
  color: #fb6f21;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container.countdown-inactive {
  max-height: 0;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }

.countdown-container.countdown-active {
  max-height: 1000px;
  -webkit-transition: max-height 5s;
  transition: max-height 5s; }

/*

----- PWA ( Progressive Web Application ) ----- 
- Installation prompt.

*/
/*
----- Payment Methods -----
Handles the following: 
- How payment methods such of opayo iframe looks in the checkout.
*/
.payment-container {
  margin: 0 0 20px; }
  .payment-container:not(:has(> .payment-method)) {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid var(--neutral-colour-lightness-8);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container:not(:has(> .payment-method)):hover {
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      border-color: #d0d0d0;
      -webkit-transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, 0.6s;
      transition: box-shadow 0.6s, 0.6s, -webkit-box-shadow 0.6s; }
    @media screen and (min-width: 81.25em) {
      .payment-container:not(:has(> .payment-method)) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 0 30px; } }
    .payment-container:not(:has(> .payment-method)) iframe {
      width: 100%;
      border: 0; }
    .payment-container:not(:has(> .payment-method)):has(.container-resized) {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
  .payment-container .payment-method {
    max-width: 500px;
    min-height: 504px;
    width: 100%;
    margin: auto;
    border: 2px solid #d0d0d0;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container .payment-method:hover {
      border-color: #eeeeee;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .payment-container .payment-method iframe {
      width: 100%;
      height: 500px;
      display: block; }
      .payment-container .payment-method iframe#opayo-iframe {
        height: 27rem;
        min-height: 500px; }
  .payment-container .pi-card-payment {
    max-width: 100%; }
    .payment-container .pi-card-payment.small {
      width: 250px;
      height: 400px; }
    .payment-container .pi-card-payment.medium {
      width: 390px;
      height: 400px; }
    .payment-container .pi-card-payment.large {
      width: 500px;
      height: 600px; }
    .payment-container .pi-card-payment.extra-large {
      width: 600px;
      height: 400px; }
    .payment-container .pi-card-payment iframe {
      width: 100%;
      height: 100%; }

form + .payment-method-selector {
  margin-top: 20px; }

.payment-method-selector {
  position: relative;
  margin-bottom: 50px; }
  .payment-method-selector .payment-method-container:only-child .accordion-title:after {
    display: none; }
  .payment-method-selector .payment-method-container.card-payment .title-icon {
    width: 30px;
    background-image: url("/template/content/development/images/icons/card-payment.svg"); }
  .payment-method-selector .payment-method-container.paypal .title-icon {
    width: 100px;
    background-image: url("/template/content/development/images/icons/paypal.svg"); }
  .payment-method-selector .payment-method-container.google-pay .accordion-title {
    padding: 0 20px 0 0; }
  .payment-method-selector .payment-method-container.google-pay .title-icon {
    width: 115px;
    height: 72px;
    background-image: url("/template/content/development/images/icons/google-pay.svg"); }
  .payment-method-selector .payment-method-container.apple-pay .title-icon {
    width: 60px;
    background-image: url("/template/content/development/images/icons/apply-pay.svg"); }
  .payment-method-selector .payment-method-container .accordion-title {
    gap: 10px;
    padding: 20px 20px; }
  .payment-method-selector .payment-method-container.card-payment.opayo {
    --container-font-family: sans-serif;
    --container-font-size: 1rem;
    --container-line-height: 40px; }
  .payment-method-selector .payment-method-container.card-payment .page-buttons-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .payment-method-selector .payment-method-container.card-payment .button-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    margin: 0 auto; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container.card-payment .button-container {
        margin: 0; } }
  .payment-method-selector .payment-method-container.card-payment .control.checkbox {
    max-width: 600px;
    width: 100%;
    border-top: 1px solid #ddd; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox.checkbox .checkbox {
      margin-left: auto; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox .label {
      font-family: var(--container-font-family);
      font-size: var(--container-font-size);
      line-height: var(--container-line-height); }
  .payment-method-selector .payment-method-container .details-container {
    width: 100%;
    padding: 0 20px; }
    .payment-method-selector .payment-method-container .details-container + .payment-container {
      margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container .details-container {
        width: calc(440px + 20px); } }
  .payment-method-selector .payment-method-container iframe {
    border: 0; }
  .payment-method-selector .paypal-button {
    max-width: 340px; }

.card-frame-container {
  max-width: 100%;
  width: 100%; }

/**

---- Social Media Icons ---- 

Where these get used:
- On the product page to share a sku on either of the following:
    - Facebook
    - Twitter
    - LinkedIn 
    - Email
- In the footer to take the user to the organisation's social media pages
- There are two colour modes:
    - site-specific: matches the customer's site branding.
    - social-branding: follows the brand guidelines of each social platform.

**/
.social-icons-heading {
  width: 100%;
  display: block;
  color: #071e83; }

.social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .social-icons.product, .social-icons.module {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .social-icons.product, .social-icons.module {
        float: right; } }
  .social-icons.review {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px; }
  .social-icons.footer {
    margin: 0 0 20px;
    padding: 0 0 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .social-icons.footer {
        margin: 0;
        padding: 0; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #ffffff;
      font-size: 1rem;
      font-weight: 500;
      text-transform: uppercase;
      line-height: 1; }
      @media screen and (min-width: 81.25em) {
        .social-icons.footer .social-icons-heading h3 {
          margin: 0 0 35px; } }
    .social-icons.footer a {
      width: 45px;
      height: 45px; }
      .social-icons.footer a:before {
        font-size: 23px; }
    .social-icons.footer .icons-container {
      width: 100%;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .social-icons a {
    width: 35px;
    height: 35px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #ffffff;
    border-radius: 25px;
    -webkit-transition: border-color 0.8s , opacity 0.8s;
    transition: border-color 0.8s , opacity 0.8s; }
    .social-icons a:before {
      font-size: 18px;
      font-family: "Font Awesome Brands";
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .social-icons a:hover {
      background-color: #ffffff;
      border-color: #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s , opacity 0.6s;
      transition: background-color 0.6s, color 0.6s , opacity 0.6s; }
      .social-icons a:hover:before {
        color: #000000;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #ffffff;
      border-color: #071e83; }
      .social-icons a:active:before {
        color: #000000; }
    .social-icons a.facebook:before {
      content: ""; }
    .social-icons a.twitter:before {
      content: ""; }
    .social-icons a.linkedIn:before {
      content: ""; }
    .social-icons a.instagram:before {
      content: "";
      padding: 5px; }
    .social-icons a.youtube:before {
      content: ""; }
    .social-icons a.google-plus:before, .social-icons a.google_plus:before {
      content: ""; }
    .social-icons a.email:before {
      content: "";
      font-family: "Font Awesome Solid"; }
  .social-icons .icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }

.reveal-social-icons-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .reveal-social-icons-container .social-icons {
    max-width: 0;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow: hidden;
    -webkit-transition: max-width 0.8s;
    transition: max-width 0.8s; }
    .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active {
      max-width: 300px;
      height: auto;
      -webkit-transition: max-width 0.6s;
      transition: max-width 0.6s; }
      .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active + .social-icons-share-toggle {
        margin-left: 10px; }
    .reveal-social-icons-container .social-icons.reveal-over-toggle {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 8px;
      background-color: #ffffff; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle.active {
        max-width: 300px;
        height: auto;
        -webkit-transition: max-width 0.6s;
        transition: max-width 0.6s;
        padding: 8px;
        border: 1px solid #071e83;
        z-index: 1000; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle.active + .social-icons-share-toggle {
          margin-left: 0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 10px; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container:before {
          content: '';
          width: 1px;
          height: 80%;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: #d0d0d0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #000000;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:hover:before {
          color: #071e83;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:active:before {
          color: #fb6f21;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.social-icons-share-toggle .share-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
  font-size: 0.875rem;
  color: #959595;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .social-icons-share-toggle .share-button:after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #071e83;
    font-size: 12px;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .social-icons-share-toggle .share-button:hover, .social-icons-share-toggle .share-button:hover:after {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .social-icons-share-toggle .share-button:active, .social-icons-share-toggle .share-button:active:after {
    color: #071e83; }

/*
----- Equipment selector ( Printer wizard ) ------ 
- The equipment selector drop down selection.
- Equipment selector list which is essentially a list of anchors.
*/
.equipment-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #071e83;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #d0d0d0), color-stop(65%, #333333));
  background: linear-gradient(0deg, #d0d0d0 5%, #333333 65%); }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 20px 30px; } }

.equipment-selector-heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 0;
  text-align: center;
  font-size: 1.625rem;
  font-style: italic;
  font-weight: 400;
  color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-heading {
      padding: 0;
      text-align: left; } }
  .equipment-selector-heading span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .equipment-selector-heading span {
        width: auto;
        margin-right: 25px; } }

.equipment-selectors {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 10px 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selectors {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 0; } }
  .equipment-selectors form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .equipment-selectors label.control {
    width: 100%;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors label.control {
        max-width: 300px;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin: 0 15px; } }
  .equipment-selectors a {
    max-height: 45px;
    margin: 5px auto; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors a {
        margin: 0 0 0 auto; } }

.equipment-selector-list {
  margin-top: 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-list {
      margin-top: 40px; } }
  .equipment-selector-list h2 {
    margin: 0 0 0 0 20px-10px; }
  .equipment-selector-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .equipment-selector-list ul li {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin: 0;
      padding: 10px 0; }
      @media print, screen and (min-width: 40em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
      @media screen and (min-width: 81.25em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 33%;
              flex-basis: 33%; } }
    .equipment-selector-list ul a:hover {
      text-decoration: underline; }

/*
----- Pick & Mix ------ 
- A selection of multiple items to create a pack.
*/
.pick-n-mix-container {
  margin: 15px 0;
  padding: 0 0 25px;
  background: #071e83;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #d0d0d0), color-stop(65%, #333333));
  background: linear-gradient(0deg, #d0d0d0 5%, #333333 65%);
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-container {
      padding: 0 0 50px; } }

.pick-n-mix-header {
  margin-bottom: 20px;
  text-align: center;
  color: #ffffff; }
  .pick-n-mix-header h2 {
    margin: 0 0 25px;
    font-size: 2.1875rem;
    font-weight: 400;
    font-style: italic;
    color: #ffffff; }
    .pick-n-mix-header h2:before {
      background-color: #ffffff; }
  .pick-n-mix-header h3 {
    font-size: 1.625rem;
    color: #ffffff; }
  .pick-n-mix-header h4 {
    padding: 0 10px;
    margin: 0 0 20px;
    font-size: 1.6875rem;
    color: #ffffff; }
    .pick-n-mix-header h4 span {
      color: #fb6f21; }
  .pick-n-mix-header p {
    padding: 0 10px;
    margin: 0;
    font-size: 1.125rem; }
  .pick-n-mix-header .header-background {
    margin-bottom: 20px;
    padding: 30px 10px;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: 1px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-header .header-background {
        padding: 20px 10px; } }

.pick-n-mix-selector-container {
  padding: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container {
      max-width: 850px;
      width: 100%;
      margin: auto; } }
  .pick-n-mix-selector-container .pick-n-mix-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 7.5px 0; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .image-container {
      margin-right: 10px; } }
  .pick-n-mix-selector-container .image-container .image {
    --media-aspect-ratio: 1/1;
    border-radius: 10px;
    aspect-ratio: var(--media-aspect-ratio, auto); }
  .pick-n-mix-selector-container .pick-n-mix-item-description {
    width: 100%;
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item-description {
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .pick-n-mix-selector-container .slider {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 20px; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .slider {
        max-width: 240px;
        width: 100%;
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        margin: 0 40px; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .input-group .label {
      display: none; } }
  .pick-n-mix-selector-container .pick-n-mix-total-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 22.5px;
    color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row {
        margin-bottom: 45px; } }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container, .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container {
      margin: 17.5px 0; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
        color: #fb6f21;
        margin: 0 20px; }
        @media screen and (min-width: 81.25em) {
          .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
            margin: 0 40px; } }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .selected-count {
        width: 50px;
        height: 45px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 40px;
        font-size: 1rem;
        font-weight: 800;
        color: #ffffff;
        border-color: #d0d0d0;
        background-color: #fb6f21; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message {
      opacity: 0;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s;
      font-size: 1rem; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message.active {
        opacity: 1;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count {
      margin-right: 5px;
      font-size: 1.125rem;
      color: #fb6f21; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row .form-error {
        text-align: right; } }

.pick-n-mix-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .pick-n-mix-buttons-container .add-to-basket-container {
    width: 100%; }
    @media print, screen and (max-width: 81.24875em) {
      .pick-n-mix-buttons-container .add-to-basket-container button[type=submit] {
        margin-rigth: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-buttons-container .add-to-basket-container {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        margin-left: auto; } }

input.ui-state-active, .input-number.ui-state-active {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-color: #ffec41;
  border-width: 2px;
  -webkit-transition: box-shodaw 0.6s;
  transition: box-shodaw 0.6s; }

.cms-content-container + .pick-n-mix-container {
  margin-top: 10px; }
  @media print, screen and (min-width: 40em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 10px; } }
  @media screen and (min-width: 81.25em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 50px; } }

@media screen and (min-width: 81.25em) {
  #productListItems.list .pick-n-mix-button {
    width: 25%;
    text-align: center; } }

.pick-n-mix-selection {
  margin: 5px 0;
  padding: 0 0 0 20px; }
  .pick-n-mix-selection li {
    font-size: 0.875rem; }

/* 

----- Animations ----- 
TODO: This is the very first dev cycle of just tring to get HTML5 Canvas's exported from adobe animate to work inside of express and to have multiple animations on the page at once, so there is still much work to be done here its more of a proof of concept at this point.
- Animated HTML5 Canvas's
- Interactive Animations.
*/
canvas {
  max-width: 100%; }

.client-search-no-results {
  display: none; }
  .client-search-no-results.active {
    display: block; }
  .client-search-no-results h3 {
    margin-bottom: 10px; }

/*
----- Top bar -----
This has had to be written due to foundation's top-bar currently doesn't support centered items, you only get the option top-bar-left & top-bar-right, the design calls for the currency selector to be in the middle.
*/
.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .top-bar {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .top-bar.upper {
    max-width: 1300px;
    margin: auto; }
  .top-bar .top-bar-left, .top-bar .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .top-bar .top-bar-left > ul, .top-bar .top-bar-right > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: auto 0; }
      .top-bar .top-bar-left > ul li, .top-bar .top-bar-right > ul li {
        padding: 7.5px 15px; }
        .top-bar .top-bar-left > ul li:first-child, .top-bar .top-bar-right > ul li:first-child {
          padding-right: 15px !important; }
        .top-bar .top-bar-left > ul li:last-child, .top-bar .top-bar-right > ul li:last-child {
          padding-left: 15px !important; }
  .top-bar .top-bar-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .top-bar .top-bar-right {
      margin-left: auto; } }
  .top-bar .menu, .top-bar .dropdown.menu {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .top-bar .menu > li, .top-bar .dropdown.menu > li {
        border-radius: 0; } }
    .top-bar .menu > li a:active, .top-bar .dropdown.menu > li a:active {
      background-color: transparent; }
    .top-bar .menu li, .top-bar .dropdown.menu li {
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .top-bar .menu li:first-child > a, .top-bar .dropdown.menu li:first-child > a {
          padding-left: 0; } }
      @media screen and (min-width: 81.25em) {
        .top-bar .menu li:last-child > a, .top-bar .dropdown.menu li:last-child > a {
          padding-right: 0; } }
      .top-bar .menu li:hover, .top-bar .dropdown.menu li:hover {
        background-color: transparent; }
        .top-bar .menu li:hover > a, .top-bar .dropdown.menu li:hover > a {
          color: #ffffff; }
      .top-bar .menu li:active, .top-bar .dropdown.menu li:active {
        background-color: transparent; }
        .top-bar .menu li:active > a, .top-bar .dropdown.menu li:active > a {
          color: #071e83; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: #ffffff;
        font-family: "Geologica", "Geologica Fallback", "Arial";
        font-size: 0.875rem;
        font-weight: 400;
        text-decoration: none;
        text-transform: none;
        padding: 7.5px 15px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        .top-bar .menu li a:hover, .top-bar .dropdown.menu li a:hover {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .top-bar .menu li.site-setting-menu > a:before, .top-bar .dropdown.menu li.site-setting-menu > a:before {
        color: #ffffff; }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: #ffffff; }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #ffffff; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #8f95a5;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0; } }

.sg-page-header {
  margin-bottom: 35px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media screen and (min-width: 81.25em) {
    .sg-page-header {
      margin: 0 15px 35px 0; } }

.sg-section-container {
  margin: 0 15px 15px 0; }
  @media screen and (min-width: 81.25em) {
    .sg-section-container {
      margin: 0 15px 25px 0; } }

.sg-heading {
  padding: 15px 10px;
  background-color: #def3b3; }
  .sg-heading h2 {
    color: #5f7b27; }

.sg-intro {
  padding: 0 5px; }

.sg-sub-heading {
  padding: 10px 5px;
  background-color: #def3b3; }
  .sg-sub-heading h3 {
    color: #5f7b27;
    font-weight: 600;
    font-size: 1.5rem; }

.sg-sub-description {
  margin-bottom: 10px; }

.sg-content {
  display: block;
  margin-bottom: 20px;
  padding: 10px;
  border: 2px solid #f0f0f0; }

.sg-demo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0;
  margin: 0;
  list-style: none; }
  .sg-demo-list li {
    padding: 0 10px; }

.sg-item-information-container,
.css-property-view {
  margin: 0 0 20px;
  padding: 10px;
  background-color: #eeeeee;
  color: #333333; }
  .sg-item-information-container p,
  .css-property-view p {
    margin: 3px 0; }
  .sg-item-information-container p,
  .sg-item-information-container li,
  .css-property-view p,
  .css-property-view li {
    font-size: 0.875rem; }
  .sg-item-information-container ul,
  .css-property-view ul {
    margin: 0;
    padding: 0 0 0 20px; }
  .sg-item-information-container .item-info-label,
  .css-property-view .item-info-label {
    width: 200px;
    padding-right: 5px;
    font-weight: 600; }

.sg-item-seperator {
  border: 1px solid #eeeeee; }

.sg-cell-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 10px 20px;
  padding: 15px;
  border: 1px solid #eeeeee; }

.sg-colour-palette .grid-collection-x {
  padding: 15px 0; }
  .sg-colour-palette .grid-collection-x:not(:last-child) {
    border-bottom: 2px solid #eeeeee; }

.colour-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5px 0;
  padding: 8px 8px 6px;
  color: #333333;
  text-transform: uppercase;
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  .colour-block:hover .lightened-percentage {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .colour-block .lightened-percentage {
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 10px;
    background-color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    opacity: .7;
    text-transform: uppercase;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .colour-block [data-colour-preview] {
    display: block;
    width: 100%;
    height: 100px;
    margin-bottom: 0.42857rem; }
  .colour-block .colour-hex-label {
    text-align: right;
    font-weight: 600; }
  .colour-block .colour0 {
    background-color: transparent; }
  .colour-block .colour1 {
    background-color: #ffffff; }
  .colour-block .colour2 {
    background-color: #000000; }
  .colour-block .colour3 {
    background-color: #eeeeee; }
  .colour-block .colour3-1 {
    background-color: #d0d0d0; }
  .colour-block .colour3-2 {
    background-color: #aeaeae; }
  .colour-block .colour3-3 {
    background-color: #959595; }
  .colour-block .colour3-4 {
    background-color: #c8c8c8; }
  .colour-block .colour3-5 {
    background-color: #f0f0f0; }
  .colour-block .colour3-6 {
    background-color: #333333; }
  .colour-block .colour3-7 {
    background-color: #7b7b7b; }
  .colour-block .colour4 {
    background-color: #071e83; }
  .colour-block .colour4-1 {
    background-color: #183ad3; }
  .colour-block .colour4-2 {
    background-color: #071e83; }
  .colour-block .colour4-3 {
    background-color: #4d60b2; }
  .colour-block .colour4-4 {
    background-color: #d0d0d0b3; }
  .colour-block .colour4-5 {
    background-color: #364db0; }
  .colour-block .colour4-6 {
    background-color: #8f95a5; }
  .colour-block .colour4-7 {
    background-color: #04007b; }
  .colour-block .colour6 {
    background-color: #fb6f21; }
  .colour-block .colour6-1 {
    background-color: #d03a0f; }
  .colour-block .colour6-2 {
    background-color: #fcc13f; }
  .colour-block .accent-colour-1-lightness-0 {
    background-color: #c00000; }
  .colour-block .accent-colour-1-lightness-1 {
    background-color: #e00000; }
  .colour-block .accent-colour-1-lightness-2 {
    background-color: #ff0101; }
  .colour-block .accent-colour-1-lightness-3 {
    background-color: #ff2020; }
  .colour-block .accent-colour-1-lightness-4 {
    background-color: #ff4040; }
  .colour-block .accent-colour-1-lightness-5 {
    background-color: #ff6060; }
  .colour-block .accent-colour-1-lightness-6 {
    background-color: #ff8080; }
  .colour-block .accent-colour-1-lightness-7 {
    background-color: #ffa0a0; }
  .colour-block .accent-colour-1-lightness-8 {
    background-color: #ffbfbf; }
  .colour-block .accent-colour-1-lightness-9 {
    background-color: #ffdfdf; }
  .colour-block .accent-colour-1-lightness-10 {
    background-color: #ffefef; }
  .colour-block .accent-colour-2-lightness-0 {
    background-color: #2b579a; }
  .colour-block .accent-colour-2-lightness-1 {
    background-color: #3265b2; }
  .colour-block .accent-colour-2-lightness-2 {
    background-color: #3b73c8; }
  .colour-block .accent-colour-2-lightness-3 {
    background-color: #5485cf; }
  .colour-block .accent-colour-2-lightness-4 {
    background-color: #6c96d6; }
  .colour-block .accent-colour-2-lightness-5 {
    background-color: #85a8dd; }
  .colour-block .accent-colour-2-lightness-6 {
    background-color: #9db9e4; }
  .colour-block .accent-colour-2-lightness-7 {
    background-color: #b6cbeb; }
  .colour-block .accent-colour-2-lightness-8 {
    background-color: #cedcf1; }
  .colour-block .accent-colour-2-lightness-9 {
    background-color: #e7eef8; }
  .colour-block .accent-colour-2-lightness-10 {
    background-color: #f3f6fc; }
  .colour-block .accent-colour-3-lightness-0 {
    background-color: #ffec41; }
  .colour-block .accent-colour-3-lightness-1 {
    background-color: #ffee54; }
  .colour-block .accent-colour-3-lightness-2 {
    background-color: #fff067; }
  .colour-block .accent-colour-3-lightness-3 {
    background-color: #fff27a; }
  .colour-block .accent-colour-3-lightness-4 {
    background-color: #fff48d; }
  .colour-block .accent-colour-3-lightness-5 {
    background-color: #fff6a0; }
  .colour-block .accent-colour-3-lightness-6 {
    background-color: #fff7b3; }
  .colour-block .accent-colour-3-lightness-7 {
    background-color: #fff9c6; }
  .colour-block .accent-colour-3-lightness-8 {
    background-color: #fffbd9; }
  .colour-block .accent-colour-3-lightness-9 {
    background-color: #fffdec; }
  .colour-block .accent-colour-3-lightness-10 {
    background-color: #fffef6; }
  .colour-block .accent-colour-4-lightness-0 {
    background-color: #a234e3; }
  .colour-block .accent-colour-4-lightness-1 {
    background-color: #ab48e6; }
  .colour-block .accent-colour-4-lightness-2 {
    background-color: #b55de9; }
  .colour-block .accent-colour-4-lightness-3 {
    background-color: #be71eb; }
  .colour-block .accent-colour-4-lightness-4 {
    background-color: #c785ee; }
  .colour-block .accent-colour-4-lightness-5 {
    background-color: #d19af1; }
  .colour-block .accent-colour-4-lightness-6 {
    background-color: #daaef4; }
  .colour-block .accent-colour-4-lightness-7 {
    background-color: #e3c2f7; }
  .colour-block .accent-colour-4-lightness-8 {
    background-color: #ecd6f9; }
  .colour-block .accent-colour-4-lightness-9 {
    background-color: #f6ebfc; }
  .colour-block .accent-colour-4-lightness-10 {
    background-color: #faf5fe; }
  .colour-block .success-colour {
    background-color: #12811f; }
  .colour-block .warning-colour {
    background-color: #ff5e05; }
  .colour-block .alert-colour {
    background-color: #b20c0c; }
  .colour-block .price-colour {
    background-color: #ff0101; }
  .colour-block .saving-colour {
    background-color: #12811f; }
  .colour-block .rrp-colour {
    background-color: #000000; }

.sg-buttons .sg-comparison-table .action-button {
  margin: 0 auto !important; }

.sg-on-page-notifications td {
  vertical-align: middle; }

.sg-on-page-notifications .notification-type {
  width: 100%; }
  .sg-on-page-notifications .notification-type + .notification-style {
    margin-top: 10px;
    padding: 10px 0;
    border-top: 1px solid #eeeeee; }

.sg-on-page-notifications .notification-style {
  color: #333333; }

.sg-quantity-selectors .product-grid-module {
  margin: auto 0 0; }

.sg-callouts .callout-container {
  position: relative; }

.sg-comparison-table th {
  text-align: center; }
  .sg-comparison-table th:first-child {
    padding-left: 10px;
    text-align: left; }

.sg-comparison-table td:first-child {
  padding-left: 10px;
  font-weight: 600; }

.sg-comparison-table td:not(:first-child) {
  padding: 10px;
  text-align: center; }

.sg-comparison-table td [class*="-button"] {
  margin-right: auto;
  margin-left: auto; }

#table-of-contents-sticky-container .sticky {
  z-index: 2; }

.table-of-contents {
  width: 100%;
  display: block;
  margin-right: 10px;
  padding: 10px;
  border: 1px solid #eeeeee;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents {
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); } }
  .table-of-contents .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
    padding: 15px 10px;
    color: #5f7b27;
    background-color: #def3b3; }
    .table-of-contents .heading h2 {
      margin: 0;
      padding: 0;
      font-size: 1.375rem;
      line-height: 1; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents .sections {
      max-height: 60vh;
      overflow-y: auto; } }
  .table-of-contents .sections ul {
    padding: 0;
    list-style: none; }
    .table-of-contents .sections ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-left: 20px;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .table-of-contents .sections ul li:first-child:before {
        border-top-right-radius: 10px;
        border-top-left-radius: 10px; }
      .table-of-contents .sections ul li:last-child:before {
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px; }
      .table-of-contents .sections ul li:before {
        content: '';
        width: 5px;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-color: #333333;
        -webkit-transition: background-color .6s ease-in;
        transition: background-color .6s ease-in; }
      .table-of-contents .sections ul li:hover {
        background-color: #eeeeee;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .table-of-contents .sections ul li.active {
        background-color: #def3b365; }
        .table-of-contents .sections ul li.active:before {
          background-color: #071e83;
          -webkit-transition: background-color .4s ease-out;
          transition: background-color .4s ease-out; }
        .table-of-contents .sections ul li.active a {
          font-weight: 700;
          -webkit-transition: font-weight .6s ease-in;
          transition: font-weight .6s ease-in; }
      .table-of-contents .sections ul li a {
        width: 100%;
        display: block;
        padding: 10px 0;
        font-size: 0.875rem;
        font-weight: 600;
        color: #333333;
        -webkit-transition: font-weight .4s ease-out;
        transition: font-weight .4s ease-out; }
        .table-of-contents .sections ul li a:hover {
          text-decoration: underline; }

/* This styles the example rows used in the grid documentation. */
.grid-x.display {
  background: #eee;
  font-size: 11px;
  margin-bottom: 10px;
  line-height: 2rem;
  border: solid 1px #c6c6c6;
  margin-left: 0 !important;
  margin-right: 0 !important; }

.grid-x.display .cell:nth-child(2),
.grid-x.display .cell.small-centered,
.grid-x.display .cell.large-centered {
  background: #e1e1e1; }

.grid-x.display .cell.color-end {
  background: #d4d4d4; }

.sg-header {
  background: #eee;
  padding: 2rem; }

.grid-container {
  max-width: 1400px; }

.sg-side-menu {
  margin-left: 1rem; }

.grid-container.padded {
  padding-top: 2rem; }

.sg-side-menu a {
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in; }

.sg-side-menu a:hover {
  background: #eee; }

.sg-side-menu a:focus {
  background: #1468a0;
  color: #fff; }

.sg-side-menu.menu {
  overflow: auto;
  height: 100vh;
  padding-bottom: 5rem; }

/*
----- Admin -----
This will potential hand vmAdmin v2.
*/
.vmadmin-editor {
  width: 100%;
  height: 100%;
  position: absolute;
  border: 2px solid transparent;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .vmadmin-editor.active {
    border-color: #aeaeae;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .vmadmin-editor.inline-editor {
    position: relative; }
    .vmadmin-editor.inline-editor .editor-trigger-controls {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      max-height: 0;
      top: auto;
      right: 0;
      bottom: -30px; }
      .vmadmin-editor.inline-editor .editor-trigger-controls.active {
        max-height: 200px;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
  .vmadmin-editor .ck-content.ck-editor__editable_inline > p {
    margin: 0 !important;
    padding: 0 !important; }
  .vmadmin-editor .ck-content.ck.ck-editor__editable {
    border-color: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  .vmadmin-editor .editor-trigger-controls {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: auto;
    background-color: rgba(174, 174, 174, 0.9);
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s;
    z-index: 100000; }
    .vmadmin-editor .editor-trigger-controls .admin-button {
      position: relative;
      margin: 5px;
      cursor: pointer; }
      .vmadmin-editor .editor-trigger-controls .admin-button:before {
        padding: 5px 10px;
        color: #071e83;
        font-family: "Font Awesome Solid";
        font-size: 20px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .vmadmin-editor .editor-trigger-controls .admin-button:hover:before {
        color: #fb6f21;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .vmadmin-editor + div {
    z-index: 1; }

.property-editor-trigger:before {
  content: '\f013'; }

.content-editor-trigger:before {
  content: '\f044'; }

.editor-save-button.inline:before {
  content: '\f0c7'; }

.editor-cancel-button.inline:before {
  content: '\f00d'; }

.off-canvas-header .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .off-canvas-header .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:hover:before {
    color: #071e83;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:active:before {
    color: #fb6f21;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.off-canvas-header .off-canvas-heading {
  margin: 0;
  padding: 16px 0;
  background-color: #071e83; }
  @media screen and (min-width: 81.25em) {
    .off-canvas-header .off-canvas-heading {
      margin: 0 0 35px; } }

.off-canvas-header h2 {
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 700; }

.off-canvas-header p {
  font-size: 1.0625rem; }

/*
----- Accordion Tabs ------ 
- TODO: The naming conventions need to be re-writen at some point as this was originally build for on being used on the product page hense the very specific naming of id's and classes.
- This functionality is based on Foundation's Responsive Accordion Tabs https://get.foundation/sites/docs/responsive-accordion-tabs.html
- The styling for product tabbed notes is defined here
  - Attachments
  - Specification's
  - Reviews
  - Componants.

*/
.responsive-tabs-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs-header .responsive-tabs-controls {
      margin-left: auto; } }
  .responsive-tabs-header .accordion-toggle-all-button {
    font-size: 0.75rem;
    font-weight: 700;
    color: #071e83; }
    .responsive-tabs-header .accordion-toggle-all-button:after {
      content: "";
      width: 18px;
      height: 18px;
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-left: 10px;
      border-radius: 25px;
      border: 2px solid #071e83;
      background-color: #ffffff;
      color: #071e83;
      font-family: "fontello-winterstoke";
      font-size: 7px; }
    .responsive-tabs-header .accordion-toggle-all-button.active:after {
      content: ""; }

#tabbed-notes-container {
  visibility: hidden; }
  #tabbed-notes-container.component-ready {
    visibility: visible; }

.responsive-tabs {
  width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .responsive-tabs.component-ready {
    visibility: visible; }
  .responsive-tabs:has(.tabs.vertical) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.account-area {
      margin: 5px 0 0; } }
  .responsive-tabs.account-area .tabs-panel {
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .tabs-panel {
        padding: 25px 0; } }
    .responsive-tabs.account-area .tabs-panel table {
      margin: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container {
      display: grid;
      gap: 10px; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container, .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-column: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container {
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container:after {
      grid-column: 2;
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-reference {
      padding-left: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-row: 3; } }
  .responsive-tabs.account-area .accordion-title {
    padding: 20px; }
    @media print, screen and (min-width: 40em) {
      .responsive-tabs.account-area .accordion-title {
        padding: 8px 20px; } }
  .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
    padding: 10px 5px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
        padding: 10px 20px; } }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.search-results .tabs-title a {
      padding: 18px 35px; } }
  .responsive-tabs.search-results .tabs-panel {
    padding: 45px 0; }
  .responsive-tabs.search-results .accordion-content[aria-hidden="false"] {
    padding: 20px 5px; }
  .responsive-tabs .tabs.vertical {
    position: relative;
    border: 0; }
    .responsive-tabs .tabs.vertical:after {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      background-color: #eeeeee; }
    .responsive-tabs .tabs.vertical .tabs-title {
      border-radius: 0;
      border-width: 0 1px 0 0;
      border-style: solid;
      border-color: #eeeeee;
      -webkit-transition: border-width 0.8s, border-color 0.8s;
      transition: border-width 0.8s, border-color 0.8s; }
      .responsive-tabs .tabs.vertical .tabs-title.is-active {
        background-color: #8f95a5;
        border-color: #071e83;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.6s, border-color 0.6s;
        transition: border-width 0.6s, border-color 0.6s; }
        .responsive-tabs .tabs.vertical .tabs-title.is-active a {
          color: #071e83; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #fb6f21;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.2s, border-color 0.6s;
        transition: border-width 0.2s, border-color 0.6s; }
      .responsive-tabs .tabs.vertical .tabs-title a {
        padding: 20px 10px 20px 15px;
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .responsive-tabs .tabs.vertical .tabs-title a:after {
          content: ''; }
        .responsive-tabs .tabs.vertical .tabs-title a .found-count {
          margin-left: auto; }
    .responsive-tabs .tabs.vertical + .tabs-content {
      -webkit-transition: none;
      transition: none; }
      @media print, screen and (min-width: 40em) {
        .responsive-tabs .tabs.vertical + .tabs-content .tabs-panel {
          padding: 10px 15px 10px 30px; } }
  .responsive-tabs .tabs-title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .responsive-tabs .tabs-title a {
      padding: 18px 80px;
      text-align: center; }
      @media screen and (min-width: 81.25em) {
        .responsive-tabs .tabs-title a {
          width: 100%; } }
    .responsive-tabs .tabs-title .found-count {
      margin-left: 5px; }
      .responsive-tabs .tabs-title .found-count:before {
        content: '('; }
      .responsive-tabs .tabs-title .found-count:after {
        content: ')'; }
      .responsive-tabs .tabs-title .found-count:before, .responsive-tabs .tabs-title .found-count:after {
        display: inline-block; }
  .responsive-tabs .tabs-panel table, .responsive-tabs .accordion-content table {
    border: 0; }
    .responsive-tabs .tabs-panel table tr td, .responsive-tabs .accordion-content table tr td {
      border: 0; }
  .responsive-tabs .tabs-panel {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .tabs-panel {
        padding: 40px 50px; } }
  .responsive-tabs .accordion-item.is-active .accordion-content {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .accordion-item.is-active .accordion-content {
        padding: 40px 50px; } }
  .responsive-tabs .tabs-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .responsive-tabs .accordion-item:last-child .accordion-content[aria-hidden=true] {
    border-bottom: 0 !important; }
  .responsive-tabs .tabs-content table:not([class*=preset]) tr:not(:last-child),
  .responsive-tabs .accordion-content table:not([class*=preset]) tr:not(:last-child) {
    border-bottom: 1px solid #d0d0d0; }
  .responsive-tabs .tabs-content table:not([class*=preset]) td,
  .responsive-tabs .accordion-content table:not([class*=preset]) td {
    font-size: 0.875rem; }
  .responsive-tabs .tabs-content ul,
  .responsive-tabs .accordion-content ul {
    list-style: none; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1, #tabbed-notes-container .accordion-content .tabbed-specification-container h1, #tabbed-notes-container .accordion-content .tabbed-notes-container h1 {
  margin: 0 0 30px;
  font-size: 1.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6;
  background-color: transparent;
  text-transform: uppercase; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2, #tabbed-notes-container .accordion-content .tabbed-specification-container h2, #tabbed-notes-container .accordion-content .tabbed-notes-container h2 {
  margin: 0 0 15px;
  font-size: 1.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6;
  text-transform: uppercase; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3, #tabbed-notes-container .accordion-content .tabbed-specification-container h3, #tabbed-notes-container .accordion-content .tabbed-notes-container h3 {
  margin: 0;
  padding: 20px 0;
  font-size: 1.4rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4, #tabbed-notes-container .accordion-content .tabbed-specification-container h4, #tabbed-notes-container .accordion-content .tabbed-notes-container h4 {
  margin: 0;
  padding: 10px 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #071e83;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5, #tabbed-notes-container .accordion-content .tabbed-specification-container h5, #tabbed-notes-container .accordion-content .tabbed-notes-container h5 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6, #tabbed-notes-container .accordion-content .tabbed-specification-container h6, #tabbed-notes-container .accordion-content .tabbed-notes-container h6 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p, #tabbed-notes-container .accordion-content .tabbed-specification-container p, #tabbed-notes-container .accordion-content .tabbed-notes-container p {
  margin: var(--indent-margin, 0);
  font-size: 1rem;
  color: #000000; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img {
    margin: .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p + p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p + p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p + p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p + p, #tabbed-notes-container .accordion-content .tabbed-specification-container p + p, #tabbed-notes-container .accordion-content .tabbed-notes-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  text-align: left; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul {
  margin: 10px;
  padding: 0;
  list-style: none;
  line-height: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li:before, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #071e83;
      border-radius: 5px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  margin: 10px;
  padding: 0 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol {
      list-style-type: lower-roman; }
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol {
        list-style-type: lower-alpha; }
        #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol ol {
          list-style-type: lower-roman; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry li, #tabbed-notes-container .tabs-panel .tabbed-specification-container li, #tabbed-notes-container .tabs-panel .tabbed-notes-container li, #tabbed-notes-container .accordion-content .tabbed-cms-entry li, #tabbed-notes-container .accordion-content .tabbed-specification-container li, #tabbed-notes-container .accordion-content .tabbed-notes-container li {
  color: #000000;
  font-size: 1rem; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h1, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h1 {
  margin-top: 30px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h2, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h2 {
  margin-top: 15px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h3, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h3 {
  margin-top: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h4, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h4 {
  margin-top: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h5, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h5 {
  margin-top: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h6, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h6 {
  margin-top: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry dl, #tabbed-notes-container .tabs-panel .tabbed-specification-container dl, #tabbed-notes-container .tabs-panel .tabbed-notes-container dl, #tabbed-notes-container .accordion-content .tabbed-cms-entry dl, #tabbed-notes-container .accordion-content .tabbed-specification-container dl, #tabbed-notes-container .accordion-content .tabbed-notes-container dl {
  text-align: left; }

#tabbed-notes-container .tabs-panel p:not(:empty) + table, #tabbed-notes-container .tabs-panel p:not(:empty) + .comparison-table-container, #tabbed-notes-container .accordion-content p:not(:empty) + table, #tabbed-notes-container .accordion-content p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

#tabbed-notes-container .tabs-panel table, #tabbed-notes-container .accordion-content table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead tr, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead th, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead th {
      font-weight: 700; }
  #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
        display: table; } }
    #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  #tabbed-notes-container .tabs-panel table th, #tabbed-notes-container .accordion-content table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    #tabbed-notes-container .tabs-panel table td, #tabbed-notes-container .accordion-content table td {
      padding: 10px; } }
  #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  #tabbed-notes-container .tabs-panel table tbody, #tabbed-notes-container .accordion-content table tbody {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody th, #tabbed-notes-container .accordion-content table tbody th {
      background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody tr:not(:last-child) th, #tabbed-notes-container .accordion-content table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table tbody tr, #tabbed-notes-container .accordion-content table tbody tr {
        display: table-row; } }
  #tabbed-notes-container .tabs-panel table .col-label, #tabbed-notes-container .accordion-content table .col-label {
    color: #333333; }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr, #tabbed-notes-container .accordion-content table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr:not(:last-child), #tabbed-notes-container .accordion-content table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  #tabbed-notes-container .tabs-panel table.no-wrap, #tabbed-notes-container .accordion-content table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  #tabbed-notes-container .tabs-panel table.comparison-table tbody td:first-child, #tabbed-notes-container .accordion-content table.comparison-table tbody td:first-child {
    color: #333333;
    font-weight: 700; }

#tabbed-notes-container .tabbed-specification-container table tbody td:first-child {
  color: var(--neutral-colour-lightness-0);
  font-size: 0.9375rem;
  font-weight: 700; }

.tabs-panel .components-intro-container, .accordion-content .components-intro-container {
  margin: 0 0 30px;
  padding: 0;
  text-align: left; }

.tabs-panel:has(.components-intro-container) p:not(:empty) + table, .tabs-panel:has(.components-intro-container) p:not(:empty) + .comparison-table-container, .accordion-content:has(.components-intro-container) p:not(:empty) + table, .accordion-content:has(.components-intro-container) p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.tabs-panel:has(.components-intro-container) table, .accordion-content:has(.components-intro-container) table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead tr, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead th, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead th {
      font-weight: 700; }
  .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
        display: table; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .tabs-panel:has(.components-intro-container) table th, .accordion-content:has(.components-intro-container) table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .tabs-panel:has(.components-intro-container) table td, .accordion-content:has(.components-intro-container) table td {
      padding: 10px; } }
  .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .tabs-panel:has(.components-intro-container) table tbody, .accordion-content:has(.components-intro-container) table tbody {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody th, .accordion-content:has(.components-intro-container) table tbody th {
      background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody tr:not(:last-child) th, .accordion-content:has(.components-intro-container) table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table tbody tr, .accordion-content:has(.components-intro-container) table tbody tr {
        display: table-row; } }
  .tabs-panel:has(.components-intro-container) table .col-label, .accordion-content:has(.components-intro-container) table .col-label {
    color: #333333; }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr, .accordion-content:has(.components-intro-container) table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child), .accordion-content:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .tabs-panel:has(.components-intro-container) table.no-wrap, .accordion-content:has(.components-intro-container) table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .tabs-panel:has(.components-intro-container) table.comparison-table tbody td:first-child, .accordion-content:has(.components-intro-container) table.comparison-table tbody td:first-child {
    color: #333333;
    font-weight: 700; }

.tabs-panel:has(.components-intro-container) .description-col, .tabs-panel:has(.components-intro-container) .reference-col, .accordion-content:has(.components-intro-container) .description-col, .accordion-content:has(.components-intro-container) .reference-col {
  text-align: left; }

.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 80px;
  padding: 0;
  border-bottom: 1px solid #d0d0d0 !important; }
  .tabs.vertical {
    width: 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-bottom: 0 !important; }
    @media screen and (min-width: 81.25em) {
      .tabs.vertical {
        max-width: 300px; } }
  .tabs .tabs-title {
    position: relative;
    border-style: solid;
    border-color: transparent;
    border-width: 1px 1px 0 1px;
    border-radius: 10px 10px 0 0; }
    .tabs .tabs-title.is-active {
      border-color: #d0d0d0; }
      .tabs .tabs-title.is-active:after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        background-color: #ffffff; }
      .tabs .tabs-title.is-active a:after {
        content: ""; }
    .tabs .tabs-title a:after {
      content: "";
      margin: 0 10px;
      font-size: 10px;
      font-family: "fontello-winterstoke"; }
    .tabs .tabs-title a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-weight: 500;
      text-decoration: none;
      text-transform: uppercase; }
      .tabs .tabs-title a:hover {
        color: var(--secondary-colour-lightness-0); }
      .tabs .tabs-title a:active {
        color: var(--primary-colour-lightness-0); }

.accordion {
  margin: 0;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .accordion {
      padding: 0; } }
  .accordion.panel-state-indicator-first .accordion-title:after {
    margin-right: 10px;
    margin-left: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .accordion.panel-state-indicator-first .accordion-title .title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .accordion.radio-indicators .accordion-item.is-active .accordion-title:after {
    content: "";
    font-family: "Font Awesome Solid"; }
  .accordion.radio-indicators .accordion-item .accordion-title:after {
    content: "";
    font-family: "Font Awesome Regular"; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-title {
    display: none; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-content {
    border-width: 1px; }
  .accordion.accordion-title-inverted-colours .accordion-title {
    background-color: #071e83;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:after {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title a.accordion-title-content {
      color: #ffffff;
      -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
      transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:hover {
      background-color: #071e83;
      -webkit-transition: background-color 0.6s, color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, color 0.6s, border-color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .accordion.accordion-title-inverted-colours .accordion-title:active {
      background-color: #4d60b2; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #071e83; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #071e83; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #071e83; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #4d60b2; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #071e83; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #071e83; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #071e83; }
  .accordion .accordion-title-container {
    cursor: pointer; }
  .accordion .accordion-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: var(--neutral-colour-lightness-8);
      color: #5c5c5c;
      cursor: no-drop;
      pointer-events: none; }
      .accordion .accordion-title.disabled .title-icon {
        opacity: .4; }
    .accordion .accordion-title:after {
      content: "";
      margin-left: auto;
      font-size: 10px;
      font-family: "fontello-winterstoke";
      color: #959595; }
    .accordion .accordion-title .title-icon {
      width: 175px;
      height: 30px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      background-repeat: no-repeat;
      background-position: center; }
    .accordion .accordion-title .found-count {
      margin-right: 10px;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
  .accordion a.accordion-title:hover {
    color: #071e83; }
  .accordion .is-active .accordion-title {
    border-bottom: 0;
    background-color: var(--primary-colour-lightness-10); }
    .accordion .is-active .accordion-title:after {
      content: "";
      color: var(--primary-colour-lightness-0); }
  .accordion .accordion-item {
    margin-bottom: 10px; }
    .accordion .accordion-item:not(.is-active):last-child .accordion-content {
      border-bottom: 0; }
  .accordion .accordion-content {
    border-style: solid;
    border-color: #d0d0d0;
    border-width: 0 1px 1px 1px; }

.accordion-content {
  height: 0;
  display: block !important;
  overflow: hidden; }
  .accordion-content[aria-hidden="false"] {
    height: auto;
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .accordion-content[aria-hidden="false"] {
        padding: 40px 50px; } }

.accordion-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.attachments-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 50%;
              flex: 1 0 50%; } }
  @media screen and (min-width: 81.25em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 33%;
              flex: 1 0 33%; } }

.attachments-container .attachment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  color: #000000;
  font-weight: 600;
  font-size: 1rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .attachments-container .attachment:active {
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
    .attachments-container .attachment:active:before {
      color: #959595;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .attachments-container .attachment:before {
    content: "";
    font-family: "Font Awesome Regular";
    color: #04007b;
    margin: 0 15px 0 0;
    font-size: 26px; }

.attachments-container .brochure:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: rgba(7, 30, 131, 0.6); }

.attachments-container .user-guide:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(7, 30, 131, 0.6); }

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(7, 30, 131, 0.6); }

.attachments-container .word:before, .attachments-container [href$='.doc']:before, .attachments-container [href$='.docx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #2b579a; }

.attachments-container .powerpoint:before, .attachments-container [href$='.ppt']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #d03a0f; }

.attachments-container .excel:before, .attachments-container [href$='.xls']:before, .attachments-container [href$='.xlsx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #071e83; }

.attachments-container .pdf:before, .attachments-container [href$='.pdf']:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: #ff0101; }

.attachments-container .csv:before, .attachments-container [href$='.csv']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(7, 30, 131, 0.9); }

.attachments-container .image-attachment:before, .attachments-container [href$='.jpg']:before, .attachments-container [href$='.png']:before, .attachments-container [href$='.gif']:before, .attachments-container [href$='.webm']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #959595; }

.attachments-container .video-attachment:before, .attachments-container [href$='.mov']:before, .attachments-container [href$='.mp4']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #333333; }

.attachments-container .zip:before, .attachments-container [href$='.zip']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #fb6f21; }

/*
----- Sticky ------ 
Sticky functionality that is build ontop of https://get.foundation/sites/docs/sticky.html.

[IMPORTANT] - This CSS is not for the basket summmary or the header please view header.scss and basket.scss for that.
*/
.sticky {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sticky.is-stuck {
    position: fixed; }
  .sticky.is-anchored {
    position: absolute; }
  .sticky.is-stuck:not(.no-animate) {
    -webkit-transition: margin-top 0.6s;
    transition: margin-top 0.6s; }
  .sticky.is-anchored:not(.no-animate) {
    -webkit-transition: margin-top 0.8s;
    transition: margin-top 0.8s; }
  .sticky.element-not-in-viewport {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: unset !important; }

[data-axis-sticky-container] {
  width: 100%;
  position: relative; }
  [data-axis-sticky-container] .callbackContainer {
    position: initial; }

[data-axis-sticky] {
  width: 100%; }

[data-sticky-container] {
  width: 100%;
  position: relative; }

.sticky-side-buttons-container {
  width: 100%;
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons-container {
      max-width: 95%;
      margin: 0 auto;
      background-color: transparent;
      -webkit-box-shadow: none;
              box-shadow: none; } }
  @media screen and (min-width: 81.25em) {
    .sticky-side-buttons-container {
      max-width: 80%; } }
  @media screen and (min-width: 97.25em) {
    .sticky-side-buttons-container {
      max-height: 0;
      width: 128px;
      position: absolute;
      top: 0;
      left: unset;
      margin: 0; } }
  .sticky-side-buttons-container .sticky {
    width: 100%; }
    @media screen and (max-width: 97.25em) {
      .sticky-side-buttons-container .sticky {
        position: absolute !important;
        top: auto !important;
        bottom: 0 !important;
        margin-top: 0 !important; } }
    @media screen and (min-width: 120em) {
      .sticky-side-buttons-container .sticky.is-stuck {
        padding-top: 20px; } }

.sticky-side-buttons-container .sticky-side-buttons {
  visibility: visible; }

.sticky-side-buttons {
  width: 100%;
  visibility: hidden;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons {
      -webkit-box-shadow: none;
              box-shadow: none; } }
  .sticky-side-buttons ul {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons ul {
        gap: 10px; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sticky-side-buttons li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
    .sticky-side-buttons li button, .sticky-side-buttons li a {
      border-radius: 0; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 10px 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 10px 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 10px 10px 0 0; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 10px 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 10px; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 10px 0 0 10px; } }
  .sticky-side-buttons .sticky-side-button {
    height: 100%; }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons .sticky-side-button {
        width: 128px;
        height: 128px; }
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          padding: 10px; } }
    .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
      background-color: #fb6f21;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
          background-color: #071e83; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
      color: #ffffff;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
      background-color: #ffffff; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
          background-color: #fb6f21; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
      color: #333333;
      text-decoration: underline; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
      color: #333333; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button span[class*="-description"] {
      display: block;
      margin: 0;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 17px;
      text-align: center; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-description"] {
          color: #333333;
          margin: 0 auto; } }
    .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
      height: 25px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

@media screen and (max-width: 81.24875em) and (orientation: landscape) {
  .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
    display: none; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
          height: auto; } }
      .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-family: "fontello";
        font-weight: 400;
        color: #ffffff;
        line-height: 1;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 97.25em) {
          .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
            color: #071e83; } }
    .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
      width: 100%;
      height: 100%;
      padding: 10px 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 10px;
      background-color: #071e83;
      border: 2px solid #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      @media print, screen and (min-width: 40em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                  box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          border: 1px solid #eeeeee; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          background-color: #ffffff;
          padding: 4px 14px;
          -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                  box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
      .sticky-side-buttons .sticky-side-button a.disabled, .sticky-side-buttons .sticky-side-button a[disabled], .sticky-side-buttons .sticky-side-button button.disabled, .sticky-side-buttons .sticky-side-button button[disabled] {
        background-color: #eeeeee;
        cursor: no-drop;
        border-color: #5c5c5c; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-description"], .sticky-side-buttons .sticky-side-button button.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-description"] {
          color: #5c5c5c; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-icon"]:before {
          color: #5c5c5c; }

/*
----- List Sorting Options  -----
- Holds the styles for the following: 
  - Product list(s)
  - Account area sorting ( historical transactions, call system, orders )
- The following components will be found here: 
  - List item count
  - Sort by 
  - Filters toggle ( If opening a popup )
  - View switcher ( Grid or Table )
  - Pagination 
  - Items per page.
*/
.AXISResultsContainer .control .label, .list-sort-container .control .label {
  width: 160px;
  margin-right: 13px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .control .label, .list-sort-container .control .label {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.AXISResultsContainer, .list-sort-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  position: relative;
  margin: 0 0 10px;
  padding: 5px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer, .list-sort-container {
      gap: 10px 15px;
      margin: 0;
      padding: 0 0 20px; } }
  @media screen and (min-width: 100em) {
    .AXISResultsContainer, .list-sort-container {
      min-height: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .AXISResultsContainer > div, .list-sort-container > div {
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  .AXISResultsContainer .download-option, .list-sort-container .download-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .AXISResultsContainer .download-option:before, .list-sort-container .download-option:before {
      content: "";
      margin-right: 10px;
      font-family: "Font Awesome Solid";
      color: var(--primary-colour-lightness-3);
      font-size: 20px; }
    .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
      position: relative;
      padding: 0 5px;
      color: #000000;
      font-size: 0.875rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
          padding: 0; } }
      .AXISResultsContainer .download-option a:hover, .list-sort-container .download-option a:hover {
        color: var(--secondary-colour-lightness-0); }
      .AXISResultsContainer .download-option a:not(:only-child):not(:first-child):before, .list-sort-container .download-option a:not(:only-child):not(:first-child):before {
        content: '';
        width: 2px;
        height: 60%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -6px;
        display: inline-block;
        margin: auto;
        background-color: #aeaeae; }
    .AXISResultsContainer .download-option .buttons-container, .list-sort-container .download-option .buttons-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 12px; }
  .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
        height: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; } }
    .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--primary-colour-lightness-0);
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
          height: 100%; } }
  .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container .filter-toggle, .list-sort-container .filter-toggle-container .filter-toggle {
        padding: 0; } }
    .AXISResultsContainer .filter-toggle-container .filter-toggle:before, .list-sort-container .filter-toggle-container .filter-toggle:before {
      color: var(--primary-colour-lightness-3);
      margin-right: 15px; }
    .AXISResultsContainer .filter-toggle-container .active-filter-count, .list-sort-container .filter-toggle-container .active-filter-count {
      top: -6px;
      left: 10px; }
  .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
        width: auto; } }
    .AXISResultsContainer .call-search-container .control.search, .list-sort-container .call-search-container .control.search {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container input, .list-sort-container .call-search-container input {
        min-width: 340px;
        height: 40px !important; }
        .AXISResultsContainer .call-search-container input + button, .list-sort-container .call-search-container input + button {
          height: 40px; } }
    .AXISResultsContainer .call-search-container .label, .list-sort-container .call-search-container .label {
      margin-right: 13px;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter, .list-sort-container .branch-filter {
      max-width: 490px; } }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter select, .AXISResultsContainer .branch-filter .control-select-dropdown, .list-sort-container .branch-filter select, .list-sort-container .branch-filter .control-select-dropdown {
      width: 300px; } }
  .AXISResultsContainer .branch-filter .tooltip-container, .list-sort-container .branch-filter .tooltip-container {
    -ms-flex-item-align: center;
        align-self: center;
    margin-left: 5px; }
  .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
      font-size: 1rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
          width: auto; } }
    .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
          width: 215px;
          height: 40px; } }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-container, .AXISResultsContainer .list-sort-by-container .control.select .control-select-container, .list-sort-container .AXISSortForm .control.select .control-select-container, .list-sort-container .list-sort-by-container .control.select .control-select-container {
      width: 215px; }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-dropdown, .AXISResultsContainer .list-sort-by-container .control.select .control-select-dropdown, .list-sort-container .AXISSortForm .control.select .control-select-dropdown, .list-sort-container .list-sort-by-container .control.select .control-select-dropdown {
      height: 40px; }
  .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
    width: 25%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
        width: 10%;
        margin: 0; } }
    .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 10px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
          gap: 0 5px; } }
      .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
        width: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
            border: 0; } }
      .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
        width: 100%;
        height: 100%;
        display: block;
        padding: 12px 8px;
        position: relative;
        background-color: var(--neutral-colour-lightness-10);
        border-radius: 10px;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
            padding: 12px; } }
        .AXISResultsContainer .AXISViewContainer ul a:hover, .AXISResultsContainer .AXISViewContainer ul .view-control:hover, .AXISResultsContainer .list-view-container ul a:hover, .AXISResultsContainer .list-view-container ul .view-control:hover, .list-sort-container .AXISViewContainer ul a:hover, .list-sort-container .AXISViewContainer ul .view-control:hover, .list-sort-container .list-view-container ul a:hover, .list-sort-container .list-view-container ul .view-control:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISViewContainer ul a:hover .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:hover .icon:before, .AXISResultsContainer .list-view-container ul a:hover .icon:before, .AXISResultsContainer .list-view-container ul .view-control:hover .icon:before, .list-sort-container .AXISViewContainer ul a:hover .icon:before, .list-sort-container .AXISViewContainer ul .view-control:hover .icon:before, .list-sort-container .list-view-container ul a:hover .icon:before, .list-sort-container .list-view-container ul .view-control:hover .icon:before {
            color: var(--white-colour); }
        .AXISResultsContainer .AXISViewContainer ul a:active, .AXISResultsContainer .AXISViewContainer ul .view-control:active, .AXISResultsContainer .list-view-container ul a:active, .AXISResultsContainer .list-view-container ul .view-control:active, .list-sort-container .AXISViewContainer ul a:active, .list-sort-container .AXISViewContainer ul .view-control:active, .list-sort-container .list-view-container ul a:active, .list-sort-container .list-view-container ul .view-control:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a:active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:active .icon:before, .AXISResultsContainer .list-view-container ul a:active .icon:before, .AXISResultsContainer .list-view-container ul .view-control:active .icon:before, .list-sort-container .AXISViewContainer ul a:active .icon:before, .list-sort-container .AXISViewContainer ul .view-control:active .icon:before, .list-sort-container .list-view-container ul a:active .icon:before, .list-sort-container .list-view-container ul .view-control:active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.active, .AXISResultsContainer .AXISViewContainer ul .view-control.active, .AXISResultsContainer .list-view-container ul a.active, .AXISResultsContainer .list-view-container ul .view-control.active, .list-sort-container .AXISViewContainer ul a.active, .list-sort-container .AXISViewContainer ul .view-control.active, .list-sort-container .list-view-container ul a.active, .list-sort-container .list-view-container ul .view-control.active {
          background-color: var(--primary-colour-lightness-10);
          cursor: not-allowed; }
          .AXISResultsContainer .AXISViewContainer ul a.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.active .icon:before, .AXISResultsContainer .list-view-container ul a.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.active .icon:before, .list-sort-container .AXISViewContainer ul a.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.active .icon:before, .list-sort-container .list-view-container ul a.active .icon:before, .list-sort-container .list-view-container ul .view-control.active .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled, .list-sort-container .list-view-container ul a.AXISViewList.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled {
          cursor: not-allowed;
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul a.AXISViewList.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul a.AXISViewList.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active, .list-sort-container .list-view-container ul a.AXISViewGrid.active, .list-sort-container .list-view-container ul a.AXISViewList.active, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active, .list-sort-container .list-view-container ul .view-control.AXISViewList.active {
          cursor: pointer;
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a .icon, .AXISResultsContainer .AXISViewContainer ul .view-control .icon, .AXISResultsContainer .list-view-container ul a .icon, .AXISResultsContainer .list-view-container ul .view-control .icon, .list-sort-container .AXISViewContainer ul a .icon, .list-sort-container .AXISViewContainer ul .view-control .icon, .list-sort-container .list-view-container ul a .icon, .list-sort-container .list-view-container ul .view-control .icon {
          width: 100%;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .AXISResultsContainer .AXISViewContainer ul a .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control .icon:before, .AXISResultsContainer .list-view-container ul a .icon:before, .AXISResultsContainer .list-view-container ul .view-control .icon:before, .list-sort-container .AXISViewContainer ul a .icon:before, .list-sort-container .AXISViewContainer ul .view-control .icon:before, .list-sort-container .list-view-container ul a .icon:before, .list-sort-container .list-view-container ul .view-control .icon:before {
            width: 16px;
            height: 16px;
            margin: auto;
            font-size: 16px;
            font-family: "Font Awesome Solid";
            color: var(--neutral-colour-lightness-0);
            line-height: 1;
            -webkit-transition: color 0.8s;
            transition: color 0.8s; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul a.grid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.grid .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul a.grid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.grid .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul a.grid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.grid .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul a.grid .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul .view-control.grid .icon:before {
          content: ""; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul a.list .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.list .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul a.list .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul .view-control.list .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul a.list .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul .view-control.list .icon:before, .list-sort-container .list-view-container ul a.AXISViewList .icon:before, .list-sort-container .list-view-container ul a.list .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList .icon:before, .list-sort-container .list-view-container ul .view-control.list .icon:before {
          content: ""; }
  .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
    width: 50%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer + .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer + .AXISPerPageContainer {
        margin-left: 0; } }
    .AXISResultsContainer .AXISPerPageContainer ul, .list-sort-container .AXISPerPageContainer ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 0;
      list-style: none; }
      .AXISResultsContainer .AXISPerPageContainer ul li, .list-sort-container .AXISPerPageContainer ul li {
        height: 100%;
        display: block;
        background-color: var(--neutral-colour-lightness-8);
        border-radius: 10px;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:nth-child(2), .list-sort-container .AXISPerPageContainer ul li:nth-child(2) {
          margin: 0 5px; }
        .AXISResultsContainer .AXISPerPageContainer ul li:hover, .list-sort-container .AXISPerPageContainer ul li:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISPerPageContainer ul li:hover a, .list-sort-container .AXISPerPageContainer ul li:hover a {
            color: var(--white-colour);
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:active, .list-sort-container .AXISPerPageContainer ul li:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISPerPageContainer ul li:active a, .list-sort-container .AXISPerPageContainer ul li:active a {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISPerPageContainer ul li.active, .list-sort-container .AXISPerPageContainer ul li.active {
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISPerPageContainer ul li.active a, .list-sort-container .AXISPerPageContainer ul li.active a {
            color: var(--primary-colour-lightness-0);
            cursor: not-allowed; }
      .AXISResultsContainer .AXISPerPageContainer ul a, .list-sort-container .AXISPerPageContainer ul a {
        width: 100%;
        max-height: 40px;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10.26px 16px;
        font-size: 1rem;
        font-weight: 400;
        color: var(--neutral-colour-lightness-0);
        border-radius: 10px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer div:first-child.items-per-list-container, .list-sort-container div:first-child.items-per-list-container {
      margin-left: auto; } }
  .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
    width: 50%;
    gap: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
        max-width: 17%;
        width: 100%;
        gap: 0 5px;
        margin-left: auto; } }
    .AXISResultsContainer .items-per-list-container a, .list-sort-container .items-per-list-container a {
      max-height: 40px;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      padding: 10.26px 8px;
      background-color: var(--neutral-colour-lightness-10);
      color: var(--neutral-colour-lightness-0);
      font-size: 1rem;
      font-weight: 400;
      border-radius: 10px;
      -webkit-transition: background-color 0.8s, color 0.8s;
      transition: background-color 0.8s, color 0.8s; }
      .AXISResultsContainer .items-per-list-container a:hover, .list-sort-container .items-per-list-container a:hover {
        color: var(--white-colour);
        background-color: var(--primary-colour-lightness-0);
        -webkit-transition: background-color 0.6s, color 0.6s;
        transition: background-color 0.6s, color 0.6s; }
      .AXISResultsContainer .items-per-list-container a:active, .list-sort-container .items-per-list-container a:active {
        background-color: var(--neutral-colour-lightness-8);
        color: var(--neutral-colour-lightness-0); }
      .AXISResultsContainer .items-per-list-container a.active, .list-sort-container .items-per-list-container a.active {
        background-color: var(--primary-colour-lightness-10);
        color: var(--primary-colour-lightness-0);
        cursor: not-allowed; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container + .pagination-container, .AXISResultsContainer .items-per-list-container + .AXISPageNumbering, .list-sort-container .items-per-list-container + .pagination-container, .list-sort-container .items-per-list-container + .AXISPageNumbering {
        margin-left: 0; } }
  .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
    width: 50%;
    display: block;
    margin: 10px 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
        width: 23%; } }
    .AXISResultsContainer .sort-by-days-container label, .list-sort-container .sort-by-days-container label {
      margin-right: 20px; }
    .AXISResultsContainer .sort-by-days-container .control.select, .list-sort-container .sort-by-days-container .control.select {
      width: 100%; }

.AXISPageNumbering, .pagination-container {
  width: 100%;
  height: 50px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .AXISPageNumbering, .pagination-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: 100%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 0 5px;
      margin-left: auto; } }
  .AXISPageNumbering a, .pagination-container a {
    max-height: 40px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10.26px 10px;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--neutral-colour-lightness-0);
    background-color: var(--neutral-colour-lightness-10);
    border-radius: 10px;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .AXISPageNumbering a:hover, .pagination-container a:hover {
      background-color: var(--primary-colour-lightness-0);
      color: var(--white-colour);
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s;
      transition: background-color 0.6s, color 0.6s; }
    .AXISPageNumbering a:active, .pagination-container a:active {
      background-color: var(--neutral-colour-lightness-8);
      color: var(--neutral-colour-lightness-0); }
    .AXISPageNumbering a.selected, .AXISPageNumbering a.active, .pagination-container a.selected, .pagination-container a.active {
      background-color: var(--primary-colour-lightness-10);
      color: var(--primary-colour-lightness-0); }
      .AXISPageNumbering a.selected:hover, .AXISPageNumbering a.active:hover, .pagination-container a.selected:hover, .pagination-container a.active:hover {
        cursor: not-allowed;
        text-decoration: none; }
  .AXISPageNumbering .AXISPageNumberJoiner, .AXISPageNumbering .pagination-option-joiner, .pagination-container .AXISPageNumberJoiner, .pagination-container .pagination-option-joiner {
    font-size: 1rem; }

.paginationLabel, .pagination-label {
  margin-right: 13px;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--primary-colour-lightness-0); }

/**

---- Manage Calls ---- 

- Formally know as the call portal before it got embedded in express, manage calls is account functionality that displays calls in a list in express.
- Styles included here: 
  - List for call list + events list.
  - Enquiry summary.
  - Call rating fonts.
  - Sticky buttons icons.
**/
.enquiry-header-section {
  padding: 20px;
  background-color: #f0f0f0; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 10px; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #071e83;
    text-transform: none; }
  .enquiry-header-section ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .enquiry-header-section ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li:not(:last-child) {
          margin-bottom: 5px; } }
    .enquiry-header-section ul .label {
      font-weight: 700;
      font-size: 0.875rem;
      color: #333333; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul .label {
          width: 110px;
          display: inline-block; } }
    .enquiry-header-section ul .value {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section .enquiry-header-heading {
      margin-bottom: 10px; } }
  .enquiry-header-section .control.checkbox:not(.small) input + span {
    background-color: #ffffff;
    border-color: #aeaeae; }
  .enquiry-header-section .control.radio:not(.checkbox) span.radio {
    border-color: #aeaeae; }

.call-rating-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container ul {
      gap: 5px;
      margin: 0; } }

.call-rating-container.page-view {
  width: 100px;
  height: 100px;
  margin: auto; }

.call-rating-container.list-view {
  width: 22.5px;
  height: 22.5px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container.list-view {
      margin: auto; } }

.call-rating-container .rating-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #333333; }

.call-rating-container .rating-information {
  display: block;
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1; }

.call-rating-container .call-rating-value {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-repeat: no-repeat; }
  .call-rating-container .call-rating-value input {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden; }
  .call-rating-container .call-rating-value input[type=radio]:checked + span.radio {
    opacity: 1;
    cursor: not-allowed;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .call-rating-container .call-rating-value.rating-icon-0 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-cannot-rate.svg");
    opacity: .1; }
  .call-rating-container .call-rating-value.rating-icon-0.unrated .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-unrated.svg");
    opacity: .5; }
  .call-rating-container .call-rating-value.rating-icon-1 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-2 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-3 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-average.svg"); }
  .call-rating-container .call-rating-value.rating-icon-4 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-good.svg"); }
  .call-rating-container .call-rating-value.rating-icon-5 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-good.svg"); }
  .call-rating-container .call-rating-value .icon {
    width: 100%;
    height: 100%; }
  .call-rating-container .call-rating-value .radio {
    width: 25px;
    height: 25px;
    display: block;
    opacity: .2;
    cursor: pointer;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .call-rating-container .call-rating-value .radio:hover {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .call-rating-container .call-rating-value .radio:active {
      opacity: .7; }

.call-urgency-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 81.25em) {
    .call-urgency-icon {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .call-urgency-icon.low {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-low.svg); }
  .call-urgency-icon.medium {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-medium.svg); }
  .call-urgency-icon.high {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-high.svg); }
  .call-urgency-icon.critical {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-critical.svg); }
  .call-urgency-icon:before {
    content: '';
    width: 22.5px;
    height: 22.5px;
    background-image: var(--urgency-image-url);
    display: block; }

.sticky-side-buttons .sticky-side-button .button-icon:before {
  font-size: 26px; }

@media screen and (min-width: 120em) {
  .sticky-side-buttons .sticky-side-button .button-icon:before {
    font-size: 32px; } }

.sticky-side-buttons .sticky-side-button .button-icon.call-back-to-list:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-request-archive:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-add-information:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-create:before {
  content: "";
  font-family: "fontello"; }

table.call-table, .responsive-reveal-table {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.call-table, .responsive-reveal-table {
      margin: 10px 0; } }
  table.call-table td, .responsive-reveal-table td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top; }
  @media screen and (min-width: 81.25em) {
    table.call-table.enquiry-table, .responsive-reveal-table.enquiry-table {
      margin: 20px 0; } }
  table.call-table .notification-col, .responsive-reveal-table .notification-col {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      table.call-table .notification-col, .responsive-reveal-table .notification-col {
        width: 12px; } }
    table.call-table .notification-col .notification-content, .responsive-reveal-table .notification-col .notification-content {
      margin-right: 20px;
      padding: 10px; }
  table.call-table td.unread-col, .responsive-reveal-table td.unread-col {
    vertical-align: middle; }
  table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
    width: 90px; }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        padding-right: 10px; }
        table.call-table td.call-number-col a, table.call-table th.call-number-col a, table.call-table .call-number-col a, .responsive-reveal-table td.call-number-col a, .responsive-reveal-table th.call-number-col a, .responsive-reveal-table .call-number-col a {
          color: #333333;
          font-size: 1.25rem;
          font-weight: 700; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.customer-name-col, table.call-table th.customer-name-col, .responsive-reveal-table td.customer-name-col, .responsive-reveal-table th.customer-name-col {
      width: 12%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table:has(.rating-col) td.subject-col, table.call-table:has(.rating-col) th.subject-col, table.call-table:has(.rating-col) .subject-col, .responsive-reveal-table:has(.rating-col) td.subject-col, .responsive-reveal-table:has(.rating-col) th.subject-col, .responsive-reveal-table:has(.rating-col) .subject-col {
      width: 15%; } }
  table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
    width: 55%; }
    @media print, screen and (min-width: 40em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 70%; } }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.subject-col a, table.call-table th.subject-col a, table.call-table .subject-col a, .responsive-reveal-table td.subject-col a, .responsive-reveal-table th.subject-col a, .responsive-reveal-table .subject-col a {
        display: block;
        font-size: 1rem;
        font-weight: 700;
        color: #333333;
        line-height: 1; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 23.7%;
        text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.service-contract-col, table.call-table th.service-contract-col, .responsive-reveal-table td.service-contract-col, .responsive-reveal-table th.service-contract-col {
      width: 11.5%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.call-contact-col, table.call-table th.call-contact-col, .responsive-reveal-table td.call-contact-col, .responsive-reveal-table th.call-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.user-contact-col, table.call-table th.user-contact-col, .responsive-reveal-table td.user-contact-col, .responsive-reveal-table th.user-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.created-col, table.call-table th.created-col, .responsive-reveal-table td.created-col, .responsive-reveal-table th.created-col {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.last-updated, table.call-table th.last-updated, .responsive-reveal-table td.last-updated, .responsive-reveal-table th.last-updated {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.rating-col, table.call-table th.rating-col, .responsive-reveal-table td.rating-col, .responsive-reveal-table th.rating-col {
      width: 6%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.urgency-col, table.call-table th.urgency-col, .responsive-reveal-table td.urgency-col, .responsive-reveal-table th.urgency-col {
      width: 7%; } }
  table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
        width: 7%;
        text-align: center; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.source-col, table.call-table th.source-col, .responsive-reveal-table td.source-col, .responsive-reveal-table th.source-col {
      width: 7%; } }
  table.call-table td.data-time-col p, table.call-table th.date-time-col p, .responsive-reveal-table td.data-time-col p, .responsive-reveal-table th.date-time-col p {
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 81.25em) {
    table.call-table td.data-time-col, table.call-table th.date-time-col, .responsive-reveal-table td.data-time-col, .responsive-reveal-table th.date-time-col {
      width: 16%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.notes-col, table.call-table th.notes-col, .responsive-reveal-table td.notes-col, .responsive-reveal-table th.notes-col {
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.timestamp-col, table.call-table th.timestamp-col, .responsive-reveal-table td.timestamp-col, .responsive-reveal-table th.timestamp-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.changes-col, table.call-table th.changes-col, .responsive-reveal-table td.changes-col, .responsive-reveal-table th.changes-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
    padding: 10px 0;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
        padding: 10px 20px; } }
  table.call-table .ellipsis-text:hover, .responsive-reveal-table .ellipsis-text:hover {
    left: -5px; }
  table.call-table .call-notes-container, .responsive-reveal-table .call-notes-container {
    overflow-wrap: anywhere; }
  table.call-table tr.call-closed td:not(.rating-col):not(.unread-col), .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col) {
    opacity: .5; }
    table.call-table tr.call-closed td:not(.rating-col):not(.unread-col):hover, .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col):hover {
      opacity: 1; }

.enquiry-filters label {
  width: 100%; }
  .enquiry-filters label span.checkbox, .enquiry-filters label span.radio {
    margin-right: auto;
    margin-left: auto; }

.enquiry-filters .label {
  width: 80%;
  display: inline-block; }

.call-type-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 5px 0;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact; }
  @media screen and (min-width: 81.25em) {
    .call-type-icon {
      margin: 0 auto; } }
  .call-type-icon:before {
    font-family: "fontello";
    font-size: 14px;
    color: #071e83; }
  .call-type-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-type-icon.demo:before {
      font-size: 26px; }
  .call-type-icon.attachment:before {
    content: ""; }
  .call-type-icon.call-privacy:before {
    content: ""; }
  .call-type-icon.call-type:before {
    content: ""; }
  .call-type-icon.classification:before {
    content: ""; }
  .call-type-icon.completed:before {
    content: ""; }
  .call-type-icon.contact:before {
    content: ""; }
  .call-type-icon.contract:before {
    content: ""; }
  .call-type-icon.contract-type:before {
    content: ""; }
  .call-type-icon.created:before {
    content: ""; }
  .call-type-icon.deferred:before {
    content: ""; }
  .call-type-icon.escalation:before {
    content: ""; }
  .call-type-icon.impact:before {
    content: ""; }
  .call-type-icon.inbound-phone-call:before {
    content: ""; }
  .call-type-icon.information:before {
    content: ""; }
  .call-type-icon.link:before {
    content: ""; }
  .call-type-icon.outbound-phone-call:before {
    content: ""; }
  .call-type-icon.priority:before {
    content: ""; }
  .call-type-icon.responsiblity:before {
    content: ""; }
  .call-type-icon.shortcut-sent:before {
    content: ""; }
  .call-type-icon.sla-inclusion:before {
    content: ""; }
  .call-type-icon.status:before {
    content: ""; }
  .call-type-icon.undeferred:before {
    content: ""; }
  .call-type-icon.urgency:before {
    content: ""; }
  .call-type-icon.workflow:before {
    content: ""; }

.call-source-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .call-source-icon {
      margin: 0 auto; } }
  .call-source-icon:before {
    font-family: "Font Awesome Solid";
    font-size: 14px;
    color: #071e83; }
  .call-source-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-source-icon.demo:before {
      font-size: 26px; }
  .call-source-icon.user:before {
    content: ""; }
  .call-source-icon.portal:before {
    content: ""; }
  .call-source-icon.email:before {
    content: ""; }

.table-heading {
  margin: 10px 0; }

/*
----- Back to top ------ 
This is the button that appear at the bottom of the page that takes you back to the top of the viewport.
*/
.back-top-container {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 70px;
  z-index: 1500; }
  @media screen and (min-width: 81.25em) {
    .back-top-container {
      width: 50px;
      height: 60px;
      right: 30px;
      bottom: 90px; } }

.back-top-button {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .back-top-button:before {
    content: "";
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 10px;
    border: 2px solid #071e83;
    font-size: 13px;
    font-family: "fontello-winterstoke";
    line-height: 1;
    text-align: center;
    background: rgba(255, 255, 255, 0.4);
    color: #071e83;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .back-top-button:before {
        font-size: 15px; } }
  .back-top-button:hover, .back-top-button:hover.active {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
    .back-top-button:hover:before, .back-top-button:hover.active:before {
      background: #071e83;
      color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      border-color: #071e83;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #fb6f21;
    color: #ffffff;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-top-button.active {
    opacity: .7; }

/*
----- Sections ----- 
Axis toggler is build on top of Foundation's Toggler https://get.foundation/sites/docs/toggler.html and is similar to https://get.foundation/sites/docs/accordion.html but sometimes it is not possible convenient to build the section(s) in <ul> or in desktop you require the layout to be completely different to mobile.
*/
.axis-section {
  margin: 0; }
  .axis-section.active .axis-section-header:after {
    content: ""; }
  .axis-section.active .axis-section-content {
    max-height: 80vh;
    margin: 20px 0 0;
    overflow-y: auto;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .axis-section.active .axis-section-buttons {
    display: block; }
  .axis-section.reveal-enabled:not(.active) {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    .axis-section.reveal-enabled:not(.active) .axis-section-header {
      margin-bottom: 0;
      padding-bottom: 0;
      -webkit-transition: margin-bottom 0.6s, padding-bottom 0.6s;
      transition: margin-bottom 0.6s, padding-bottom 0.6s; }
  .axis-section.disabled {
    background-color: var(--neutral-colour-lightness-7);
    opacity: .6;
    cursor: not-allowed; }
    .axis-section.disabled .axis-section-header {
      cursor: not-allowed; }
      .axis-section.disabled .axis-section-header:after {
        color: #5c5c5c; }

.axis-section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  cursor: pointer; }
  .axis-section-header:after {
    content: "";
    margin-left: auto;
    font-family: "fontello-winterstoke";
    font-size: 18px;
    color: #071e83;
    line-height: 14px; }

.axis-section-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .axis-section-content {
      margin: 0; } }
  .axis-section-content p {
    margin: 0;
    font-size: 0.9375rem; }
  .axis-section-content .cms-content-container {
    margin-bottom: 20px; }

.axis-section-buttons {
  display: none; }

/*

----- Ellipsis ----- 
When the content is too longer to fix within a table cell ( for example ) allow the user to show overflowing text by hovering.

IMPORTANT: This only works with single lines of text, multi-line you will need to look into --webkit-line-clamp.
*/
.ellipsis-text-container {
  position: relative; }

.ellipsis-text {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  @media screen and (min-width: 81.25em) {
    .ellipsis-text {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .ellipsis-text.ellipsis-active {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
    -webkit-mask-image: linear-gradient(to right, black 50%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
            mask-image: linear-gradient(to right, black 50%, transparent 100%); }
    @media screen and (min-width: 81.25em) {
      .ellipsis-text.ellipsis-active {
        max-width: 100%; }
        .ellipsis-text.ellipsis-active:hover {
          max-width: none;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-right: 10px;
          padding-left: 10px;
          background-color: #ffffff;
          text-overflow: inherit;
          overflow: visible;
          -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                  box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          z-index: 1;
          -webkit-mask-image: none;
                  mask-image: none;
          opacity: 1; } }

/*
----- Blur ------ 
The effect that gets applied the header, main & footer when a modal or menu is open, essentially blur's out the content in the background when something is overlaying the page's main content.
*/
.blur {
  --defuse-animation: defuseBlur .3s forwards;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation: blur 0.6s;
          animation: blur 0.6s; }
  .blur.defuse {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-animation: defuseBlur 0.3s;
            animation: defuseBlur 0.3s; }

@-webkit-keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

@keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

#pageOverlay, .blur-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: transparent;
  opacity: 0.1; }

/*

---- Static ---- 
Dedicated specifically towards the landing page for the static landing page for express.

*/
.modules-test-page-header {
  margin: 0 0 10px;
  padding: 30px;
  background-color: #eeeeee;
  border: 1px solid #333333; }

.row-background.grid-container .modules-control-panel.module-controls {
  top: 36px; }

@media screen and (min-width: 81.25em) {
  .grid-container .modules-control-panel.module-controls {
    top: 0; } }

.modules-control-panel {
  position: absolute;
  left: 0;
  display: block; }
  .modules-control-panel.row-controls {
    top: 0; }
  .modules-control-panel.module-controls {
    top: 50px; }

.modules-control-buttons {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.5;
  z-index: 2;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .modules-control-buttons:hover {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .modules-control-buttons .modules-control-button {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .modules-control-buttons .modules-control-button[aria-expanded=true] {
      background-color: #071e83;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .modules-control-buttons .modules-control-button[aria-expanded=true]:before {
        color: #ffffff;
        border-color: #ffffff;
        -webkit-transition: color 0.6s, border-color 0.6s;
        transition: color 0.6s, border-color 0.6s; }
    .modules-control-buttons .modules-control-button:before {
      display: block;
      padding: 5px 10px;
      color: #071e83;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #071e83; }
    .modules-control-buttons .modules-control-button.module-info:before {
      content: '\f129'; }

.modules-info-container {
  max-width: 100%;
  width: 320px;
  position: relative;
  z-index: 1000; }
  @media print, screen and (min-width: 40em) {
    .modules-info-container {
      width: 500px; } }
  .modules-info-container .modules-info-heading-container {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 2px solid #eeeeee; }
  .modules-info-container .general-information-panel {
    background-color: #eeeeee; }
  .modules-info-container .content {
    margin: 20px 0 0;
    padding: 20px;
    background-color: #ffffff;
    border: 2px solid #071e83; }
    .modules-info-container .content ul {
      list-style: none; }
      .modules-info-container .content ul li {
        font-size: 0.9375rem; }
    .modules-info-container .content > ul > li {
      margin: 5px 0;
      padding: 5px;
      border: 2px solid #eeeeee; }
    .modules-info-container .content ul {
      margin: 0;
      padding: 0; }
      .modules-info-container .content ul ul ul {
        margin-left: 10px; }
    .modules-info-container .content h4, .modules-info-container .content h5, .modules-info-container .content h6 {
      padding: 0;
      font-size: 1rem;
      font-weight: 600; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      margin: 10px 0; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      color: #333333; }
    .modules-info-container .content h6 {
      margin: 5px 0;
      color: #071e83; }
    .modules-info-container .content strong {
      color: #071e83;
      padding-right: 10px; }
      .modules-info-container .content strong:after {
        content: ":";
        display: inline-block; }

/*

---- Stockist ---- 
Specifically for the stockish component: 
- Sorting area
- Search results 
- Interactive map

*/
.interactive-map-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 25px; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .interactive-map-sorting-options .sorting-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .sorting-option {
        width: auto; } }
    .interactive-map-sorting-options .sorting-option .label {
      width: 100%;
      margin-right: 20px;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--primary-colour-lightness-0); }
      @media screen and (min-width: 81.25em) {
        .interactive-map-sorting-options .sorting-option .label {
          width: auto; } }
  .interactive-map-sorting-options .control.search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .interactive-map-sorting-options .address-search-container input::-webkit-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-moz-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input:-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::placeholder {
    font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .address-search-container input {
      width: 290px !important; } }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .product-filter-container {
      margin-left: auto; } }
  .interactive-map-sorting-options .product-filter-container .label:before {
    content: "";
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #183ad3; }
  .interactive-map-sorting-options .separator {
    margin: 7px 0 2px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .separator {
        margin: 0 25px; } }

.stockist-container {
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockist-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .stockist-container.active {
    max-height: none;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .stockist-container.active {
        max-height: 80vh;
        min-height: 50vh;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; } }

.interactive-map-search-results-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 20px 15px;
  background-color: #f0f0f0; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container {
      max-width: 420px;
      width: 100%;
      padding: 30px 40px; } }
  .interactive-map-search-results-container ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .interactive-map-search-results-container li {
    padding: 10px 0 15px;
    border-bottom: 1px solid #aeaeae; }
  .interactive-map-search-results-container .header-container {
    margin-bottom: 20px; }
    .interactive-map-search-results-container .header-container h2 {
      font-size: 1.34375rem; }
  .interactive-map-search-results-container .result-button-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container .results-container {
      padding-right: 10px;
      overflow-y: auto; } }
  .interactive-map-search-results-container .results-container .description {
    font-size: 0.875rem;
    font-weight: 700;
    color: #333333; }
  .interactive-map-search-results-container .results-container .address {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .address + .telephone {
      margin-bottom: 10px; }
    .interactive-map-search-results-container .results-container .address + .result-button-container {
      margin-top: 10px; }
  .interactive-map-search-results-container .results-container .telephone {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .telephone a {
      padding-left: 5px; }

.website-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0 40px 0 0);
  padding: var(--common-button-padding, 5px 30px);
  color: #071e83;
  background-color: #d2def9;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: normal;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .website-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .website-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .website-button:hover, .website-button.hover {
      color: #ffffff;
      background-color: #071e83;
      border-color: #183ad3;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .website-button:hover .graduated-colour-edge .step, .website-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .website-button:active, .website-button.active {
    color: #ffffff;
    background-color: #fb6f21;
    border-color: #fb6f21;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .website-button:disabled, .website-button.disabled, .website-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .website-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .website-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.interactive-map-location-button {
  margin-left: auto;
  padding: 0 5px; }
  .interactive-map-location-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #4d60b2;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #071e83; }

.interactive-map-container {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-container {
      min-height: 200px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }

.interactive-map {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: 1px solid #d0d0d0;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .interactive-map:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.organisation-container {
  font-weight: 700;
  font-size: 0.875rem;
  color: #333333; }

.interactive-map-no-results {
  width: 100%; }

.info-window-address-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600; }

.info-window-content-container .info-window-address, .info-window-content-container .telephone {
  font-size: 0.8125rem; }
  .info-window-content-container .info-window-address a, .info-window-content-container .telephone a {
    padding-left: 5px;
    font-size: 0.875rem; }

.info-window-content-container .info-window-button-container {
  margin-top: 10px; }

/*
----- Tree Menu -----

*/
.tree-menu input[type=checkbox] {
  visibility: hidden; }

.tree-menu ul {
  padding: 0;
  list-style: none; }
  .tree-menu ul li {
    position: relative; }
  .tree-menu ul li > .node-content-container {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .tree-menu ul label {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
    .tree-menu ul label:before {
      content: "";
      width: 25px;
      height: 25px;
      position: relative;
      float: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ffffff;
      border: 2px solid #ffffff;
      color: #071e83;
      font-family: "fontello-winterstoke";
      font-size: 9px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #071e83; }
  .tree-menu ul label.active:before {
    content: ""; }
  .tree-menu ul label.active ~ .node-content-container {
    height: 100%;
    -webkit-transition: max-height 0.6s, height 0.6s;
    transition: max-height 0.6s, height 0.6s; }

.tree-menu > ul {
  margin: 0;
  padding: 0; }
  .tree-menu > ul > li > label {
    padding: 10px 0 10px 6.66px;
    border-bottom: 2px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > label {
        padding: 10px 0 10px 20px; } }
    .tree-menu > ul > li > label .label {
      font-size: 1.25rem;
      color: #ffffff; }
  .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
    padding-right: 10px;
    padding-left: 15px;
    border-bottom: 20px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
        padding-left: 30px; } }
  .tree-menu > ul > li > .node-content-container > ul:not(:last-child) {
    border-bottom: 2px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul:last-child {
    border-bottom: 20px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul > li {
    padding: 0 5px; }
    .tree-menu > ul > li > .node-content-container > ul > li:not(:last-child) {
      border-bottom: 2px solid #ffffff; }
    .tree-menu > ul > li > .node-content-container > ul > li label .label {
      font-size: 1.125rem; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > .node-content-container > ul > li {
        padding: 10px 0 10px 70px; } }
    .tree-menu > ul > li > .node-content-container > ul > li.active:after {
      top: 22.5px;
      left: 16.5px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li.active:after {
          top: 32.5px;
          left: 81.5px; } }
    .tree-menu > ul > li > .node-content-container > ul > li > .node-content-container .tree-additional-information-container:before {
      left: 11.5px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:not(:last-child):before {
      height: 30px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
      height: 17px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
          height: 18px; } }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
      padding: 0 0 0 25px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
          padding: 0 0 0 45px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:before {
        content: "";
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 11.5px;
        display: block;
        background-color: #ffffff; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
        top: 22.5px;
        left: 36.5px; }
        @media screen and (min-width: 81.25em) {
          .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
            top: 32.5px;
            left: 56.5px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li.active:not(:last-child):before {
        height: 100%; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li label .label {
        font-style: italic;
        font-size: 1rem; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li > .tree-additional-information-container:before {
        left: -33.5px; }
  .tree-menu > ul > li > .node-content-container > ul .tree-menu-parent.active:after {
    content: "";
    width: 2px;
    height: 18px;
    position: absolute;
    display: block;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-menu-parent > .node-content-container > .tree-additional-information-container:before {
    content: '';
    width: 2px;
    height: calc(100% + 25px);
    position: absolute;
    top: -25px;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-additional-information-container {
    position: relative;
    padding-right: 10px;
    padding-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul ul .tree-additional-information-container {
        padding-right: 0;
        padding-left: 45px; } }
  .tree-menu > ul ul ul li label:after {
    content: '';
    width: 32.5px;
    height: 2px;
    position: absolute;
    top: 15.5px;
    left: 12.5px;
    display: block;
    background-color: #ffffff; }

.tree-menu.assets {
  margin-bottom: 50px; }
  .tree-menu.assets > ul {
    background-color: #8f95a5; }
    .tree-menu.assets > ul > li > label {
      background-color: #071e83; }

.tree-menu .attachments-container ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.tree-menu .attachments-container .attachment {
  padding: 0; }
  .tree-menu .attachments-container .attachment:before {
    width: 30px;
    margin: 0;
    font-size: 20px; }

.tree-menu .alert-node > label:before {
  background-color: #b20c0c;
  color: #ffffff; }

.tree-menu .alert-node .node-content-container > .alert-container .tree-additional-information-background {
  border-color: #b20c0c; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value, .tree-menu .alert-node .node-content-container > .alert-container .alert-value .label {
  color: #b20c0c;
  font-size: 1rem;
  font-weight: 700; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value {
  position: relative; }
  .tree-menu .alert-node .node-content-container > .alert-container .alert-value .value:before {
    content: "";
    width: 30px;
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #b20c0c;
    font-size: 20px; }

.tree-additional-information-container {
  max-width: 700px;
  padding: 10px 0; }
  .tree-additional-information-container .additional-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tree-additional-information-container .additional-information:not(:first-of-type):not(:last-of-type) {
      margin: 10px 0; }
    .tree-additional-information-container .additional-information:first-of-type {
      margin-bottom: 10px; }
    .tree-additional-information-container .additional-information:last-of-type {
      margin-top: 10px; }
    @media screen and (min-width: 81.25em) {
      .tree-additional-information-container .additional-information {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .tree-additional-information-container .additional-information span {
      font-size: 0.875rem; }
  .tree-additional-information-container .label {
    max-width: 225px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.tree-additional-information-background {
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media screen and (min-width: 81.25em) {
    .tree-additional-information-background {
      padding: 30px 22px; } }

.tree-menu-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header .tree-menu-controls {
      margin-right: 0;
      margin-left: auto; } }
  .tree-menu-header .tree-menu-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .tree-menu-header .tree-menu-information {
        padding: 0; } }
  .tree-menu-header .tree-information {
    position: relative;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #071e83; }
    .tree-menu-header .tree-information.alert {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer; }
      .tree-menu-header .tree-information.alert:before {
        content: '';
        width: 10px;
        height: 10px;
        display: inline-block;
        margin: 0 10px 0 5px;
        background-color: #b20c0c;
        border-radius: 25px; }

.tree-menu-expand-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: .8125rem;
  font-weight: 700;
  color: #071e83; }
  .tree-menu-expand-toggle:after {
    content: "";
    width: 18px;
    height: 18px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
    border-radius: 25px;
    border: 2px solid #071e83;
    background-color: #ffffff;
    color: #071e83;
    font-family: "fontello-winterstoke";
    font-size: 7px; }
  .tree-menu-expand-toggle.active:after {
    content: ""; }

/*
----- Reviews ----- 
- Handles interfacing with third-party review api's like feefo.
*/
.rating-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .rating-container .review-stars {
    margin: 0 10px 0; }
    .rating-container .review-stars li:not(:last-child) {
      margin-right: 5px; }
  .rating-container .star-full, .rating-container [class*=rating-icon] {
    position: relative;
    padding-left: 0; }
    .rating-container .star-full:before, .rating-container [class*=rating-icon]:before {
      content: "";
      font-family: "Font Awesome Solid";
      color: #ffec41; }

@media screen and (min-width: 81.25em) {
  .product-reviews-container {
    padding: 0 15px; } }

.product-reviews-container ul {
  padding: 0;
  list-style: none; }
  .product-reviews-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 15px 0;
    border-bottom: 1px solid #d0d0d0; }

.product-reviews-container .review-details-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.product-reviews-container .display-name-container {
  color: #333333;
  font-weight: 600;
  font-size: 0.875rem; }
  .product-reviews-container .display-name-container + .last-updated-container:before {
    content: '-';
    margin: 0 5px;
    line-height: 1.5; }

.product-reviews-container .display-location-container {
  width: 100%;
  display: block;
  font-size: 0.875rem; }

.product-reviews-container .last-updated-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #959595;
  font-size: 0.875rem; }

.product-reviews-container .list-count-container {
  color: #959595; }
  .product-reviews-container .list-count-container .current-showing-count {
    color: #333333; }

.product-reviews-container .reviews-container {
  margin-bottom: 10px; }

.product-reviews-container .reviews-pager-container + .reviews-product-footer {
  border-top: 1px solid #d0d0d0; }

.product-reviews-container .reviews-product-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .product-reviews-container .reviews-product-footer .service-provider-logo {
    display: block;
    margin: 20px 0;
    background-repeat: no-repeat;
    background-size: contain; }
  .product-reviews-container .reviews-product-footer .feefo-logo {
    width: 100px;
    height: 25px;
    background-image: url("/template/content/development/images/icons/feefo-logo.png"); }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer .reviews-product-review-all-container {
      margin-left: auto; } }

.review-social-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .review-social-container .helpful-votes-container + .reveal-social-icons-container {
    margin-left: 10px; }

.helpful-votes-container {
  font-size: 0.875rem;
  color: #959595; }
  .helpful-votes-container .helpful-votes-display:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid";
    font-size: 11px; }

/*
----- Page Section Colours -----
The purpose of this is is to add background-colours to specific sections on specific pages across express using the body id, so a potential config could look like this:

header-usp-bar: (
    background-colour: $colour3-1,
    pages: ("homepage")
)

The top level map key is the class of the element that you want to effect then inside of that is the configuration i.e background colour + which pages to apply this to which is a list of body id's.
*/
/*

---- Star Ratings ---- 
Handles star ratings for products, this supports persentage based rating, here is an overview of what this would look like https://codepen.io/filcp/pen/QvZVOg .

*/
.star-ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .star-ratings-container [class*=rating-icon-]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 17px; }
  .star-ratings-container .background-stars {
    position: relative; }
    .star-ratings-container .background-stars [class*=rating-icon-]:before {
      color: #d6d6d6; }
  .star-ratings-container .foreground-stars {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden; }
    .star-ratings-container .foreground-stars [class*=rating-icon-]:before {
      color: #ffec41; }
  .star-ratings-container .rating-summary-display {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: #071e83;
    font-size: 0.9375rem; }

.rating-breakdown-list-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  .rating-breakdown-list-container .breakdown-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0; }
  .rating-breakdown-list-container .breakdown-stars-container {
    width: 80px; }
    .rating-breakdown-list-container .breakdown-stars-container [class*=rating-icon-]:before {
      color: #ffec41;
      font-size: 13px; }
  .rating-breakdown-list-container .breakdown-percentage-bar-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.breakdown-percentage-bar-container {
  margin: 0 10px; }
  .breakdown-percentage-bar-container .percentage-bar {
    width: 100%;
    height: 10px;
    display: block; }
  .breakdown-percentage-bar-container .background-bar {
    position: relative; }
    .breakdown-percentage-bar-container .background-bar .percentage-bar {
      background-color: #d6d6d6; }
  .breakdown-percentage-bar-container .foreground-bar {
    position: absolute;
    top: 0;
    left: 0; }
    .breakdown-percentage-bar-container .foreground-bar .percentage-bar {
      background-color: #ffec41; }

.breakdown-count-container {
  width: 30px; }

.tooltip-content-container .breakdown-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0 0; }
  .tooltip-content-container .breakdown-button-container a {
    color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #fb6f21; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #071e83; }

/*
----- Barcode Scanner ------ 

*/
.barcode-scanner-toggle-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  word-spacing: 2px;
  border-color: #d0d0d0;
  text-decoration: none;
  line-height: 1;
  border-radius: 10px !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .barcode-scanner-toggle-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .barcode-scanner-toggle-button:hover, .barcode-scanner-toggle-button.hover {
      color: #ffffff;
      background-color: #fb6f21;
      border-color: #fb6f21;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .barcode-scanner-toggle-button:hover:after, .barcode-scanner-toggle-button.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .barcode-scanner-toggle-button:hover .graduated-colour-edge .step, .barcode-scanner-toggle-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .barcode-scanner-toggle-button:active, .barcode-scanner-toggle-button.active {
    color: #ffffff;
    background-color: #071e83;
    border-color: #071e83;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .barcode-scanner-toggle-button:active:after, .barcode-scanner-toggle-button.active:after {
      color: #ffffff; }
  .barcode-scanner-toggle-button:disabled, .barcode-scanner-toggle-button.disabled, .barcode-scanner-toggle-button[disabled] {
    color: #5c5c5c;
    background-color: #ffffff;
    border-color: rgba(208, 208, 208, 0.7);
    cursor: not-allowed; }
    .barcode-scanner-toggle-button:disabled:after, .barcode-scanner-toggle-button.disabled:after, .barcode-scanner-toggle-button[disabled]:after {
      color: #5c5c5c; }
  .barcode-scanner-toggle-button:disabled:hover, .barcode-scanner-toggle-button.disabled:hover {
    border-color: rgba(208, 208, 208, 0.7); }
  .barcode-scanner-toggle-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); }
  .barcode-scanner-toggle-button:after {
    content: "";
    margin: 0 0 0 15px;
    font-family: "fontello";
    font-size: 20px;
    font-weight: 400;
    color: #071e83;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .barcode-scanner-toggle-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.barcode-scanner-toggle-button-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .barcode-scanner-toggle-button-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.barcode-scanner {
  position: relative; }
  .barcode-scanner video {
    max-width: 100%; }
  .barcode-scanner canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .barcode-scanner.is-inactive {
    display: none; }

.scanner-camera-selector-container {
  max-width: 490px;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .scanner-camera-selector-container {
      margin: 0 auto 20px; } }
  .scanner-camera-selector-container .label {
    width: 100%;
    margin: 0 0 10px 0;
    color: #071e83;
    font-weight: 600; }
    @media print, screen and (min-width: 40em) {
      .scanner-camera-selector-container .label {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 20px 0 0; } }
  .scanner-camera-selector-container .control.select .control-select-container {
    width: calc(100% - 41px); }
    @media screen and (min-width: 81.25em) {
      .scanner-camera-selector-container .control.select .control-select-container {
        width: 330px; } }
  .scanner-camera-selector-container .tooltip-container {
    margin-left: 15px; }

.barcode-scanner-response-container {
  margin: 0; }

/*
----- Page Background Image -----
The purpose of this is is to add background image(s) to specific page types using the body id, possible configuration:

homepage: (
    background-image => [ REQUIRED ] The url of the image.
    repeat-background => [ OPTIONAL ] This defaults to no-repeat.
    background-scale => [ OPTIONAL ] This defaults to cover.
    background-attachments => [ OPTIONAL ]
    background-position => [ OPTIONAL ]
)

*/
/*
----- Tags -----
Used to display a catagorisation of groups / keywords, this ia primarily used in the cms system currently for diplsay news, blogs & event's articles.
*/
.tagging-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .tagging-container.align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .tagging-container.listing .tagging-heading {
    margin: 0;
    font-size: 0.9375rem; }
  .tagging-container .tags-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .tagging-container .tags-container {
        gap: 5px 10px; } }
  .tagging-container .tagging-header-container {
    margin: 5px 0 10px; }
  .tagging-container .tagging-heading {
    margin: 0;
    font-size: 1.25rem;
    color: #071e83; }
  .tagging-container .tag-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 8px 18px;
    border: 1px solid #aeaeae;
    border-radius: 10px;
    color: #071e83;
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .tagging-container .tag-item:hover {
      color: #fb6f21;
      border-color: transparent;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    .tagging-container .tag-item:active {
      color: #333333; }
    .tagging-container .tag-item:first-child {
      margin-left: 0; }
    .tagging-container .tag-item:last-child {
      margin-right: 0; }
    .tagging-container .tag-item.remove-button:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 14px;
      color: #071e83;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .tagging-container .tag-item.remove-button:active:after {
      color: #333333; }

/*
----- Axis Toggler -----
Build ontop of Foundations toggler https://get.foundation/sites/docs/toggler.html, we needed to add in some additional functionality to allow for re-toggling if the user clicks outside of the content area.
*/
.toggle-content-container.active .toggle-background {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: -1; }

/*
----- Page Background Colours -----
Similar to axis-section-colours a custom config is provide which gets looped through assigning the background-color property to the relievent pages.

NOTICE: Had to set the !important flag on the background-color property due to foundation enforing that the body background colour must be set.
*/
/*
----- Multi Field Lookup -----

Provides an area to place options ( i.e a form in a horizontal layout ) which then gets filled in to update multiple points on the page.

*/
.multi-field-lookup.quick-order .multi-field-options-container {
  background-color: #071e83;
  padding: 15px;
  border-radius: 10px; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 8%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 110px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-search-container {
    max-width: 500px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .add-to-basket-container {
    max-width: 200px;
    width: 100%; } }

.multi-field-lookup.quick-order .barcode-scanner-trigger-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      max-width: 190px;
      width: auto; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-quantity-selector-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number {
  border-radius: 0; }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-decrement, .multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-increment {
  background: #ffffff; }

.input-number-decrement, .input-number-increment {
  border-color: #d0d0d0; }

.multi-field-lookup.quick-order .control.search .input-prefix-icon {
  padding-right: 10px;
  padding-left: 10px; }
  .multi-field-lookup.quick-order .control.search .input-prefix-icon:before {
    content: "+";
    font-size: 22px;
    font-family: "Font Awesome Solid"; }

.input-prefix-icon:before {
  color: #071e83; }

.multi-field-lookup .multi-field-options-container {
  margin: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup .multi-field-options-container {
      margin: 20px 0 10px; } }
  .multi-field-lookup .multi-field-options-container form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px; }
    @media print, screen and (min-width: 40em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 25px; } }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 20px; } }
    .multi-field-lookup .multi-field-options-container form .lookup-option.lookup-search-container {
      width: 100%; }

.multi-field-lookup .lookup-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 81.24875em) {
    .multi-field-lookup .lookup-option.add-to-basket-container {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .multi-field-lookup .lookup-option button {
    height: 45px; }
  .multi-field-lookup .lookup-option .control {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .multi-field-lookup .lookup-option .control .control-select-dropdown {
      width: 100%; }
    .multi-field-lookup .lookup-option .control .form-error {
      width: 100%;
      padding-left: 0; }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .lookup-option .control .control-select-container {
        min-width: unset; } }
  .multi-field-lookup .lookup-option .quantity-selector-container {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }

.multi-field-lookup .multi-field-response-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1; }

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat); }

.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2); }

.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3); }

.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay); }

.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2); }

.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3); }

.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4); }

.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5); }

.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2); }

.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8); }

.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2); }

.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3); }

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important; }
  .animate__animated[class*='Out'] {
    opacity: 0; } }

/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX; }

@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown; }

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft; }

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight; }

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp; }

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown; }

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft; }

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight; }

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp; }

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft; }

@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight; }

@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft; }

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight; }

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft; }

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight; }

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight; }

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft; }

/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*

----- Axis Element Print ----- 
Allows you to select an element to be printed inside of the DOM.

This deals with general formatting of text when in print view and which element should be excluded as it doesn't make sense for them to be there.

*/
@media print {
  .pe-no-print {
    display: none !important; }
  .pe-preserve-ancestor {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  [data-axis-sticky], [data-sticky-content-container] {
    display: none; }
  .enquiry-filters {
    display: none; }
  .call-type-icon, .call-source-icon {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .enquiry-header-section h2 {
    color: #000000 !important; }
  .axis-section-header:after {
    color: #000000 !important; }
  table .col-label {
    color: #000000 !important;
    display: inline-block !important; }
  table tr {
    margin: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    border-bottom: 2px solid #aeaeae !important; }
  table td {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .page-buttons-container, .account-buttons-container {
    display: none; }
  h1, h2, h3, h4, h5, h6 {
    color: #000000 !important; }
  .cms-content-container {
    max-height: none !important;
    overflow-y: visible !important; }
  .modal-container .content, .modal-container .content-container {
    overflow-y: visible !important;
    overflow: visible !important; }
  .modal-container {
    position: absolute !important;
    overflow: visible !important; }
    .modal-container.active {
      overflow-y: unset !important; } }

/*
----- Documentation ------ 
Specifically handles the styling for AXIS Documentation, there will be similarities between this code and cms containers.

This deals with the following page types:
-- Products
---- Books
------ Chapters
-------- Articles
-------- Functions
---------- Article
*/
.documentation-controls-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      gap: 0; } }
  .documentation-controls-container .documentation-search-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 10px;
    background-color: #d0d0d0;
    border-radius: 10px; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container {
        padding: 5px; } }
    .documentation-controls-container .documentation-search-container form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 5px; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container form {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .documentation-controls-container .documentation-search-container form .label {
        width: 100%;
        padding: 0 0 10px;
        color: #333333;
        font-size: 0.875rem;
        font-weight: 700; }
        @media screen and (min-width: 81.25em) {
          .documentation-controls-container .documentation-search-container form .label {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            padding: 0 20px 0 10px; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone .control-select-container {
        max-width: 400px;
        min-width: 205px;
        width: 100%; } }
    .documentation-controls-container .documentation-search-container .search-zone .selected-description {
      color: #000000; }
    .documentation-controls-container .documentation-search-container .documentation-search {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container .documentation-search {
          min-width: 420px; } }
      .documentation-controls-container .documentation-search-container .documentation-search .form-error {
        padding-left: 10px;
        text-align: left; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-webkit-input-placeholder {
        color: #333333;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-moz-placeholder {
        color: #333333;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input:-ms-input-placeholder {
        color: #333333;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-ms-input-placeholder {
        color: #333333;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::placeholder {
        color: #333333;
        font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container .documentation-access-level-container {
      max-width: 575px;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  .documentation-controls-container .documentation-access-level-container form label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form label {
        max-width: 575px;
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .documentation-controls-container .documentation-access-level-container form .label {
    padding: 0 0 10px;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .label {
        padding: 0 10px 0 0; } }
  .documentation-controls-container .documentation-access-level-container form .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .control-select-container {
        max-width: 420px; } }

.documentation-list-item-container.department-colour-palette .documentation-content-header-container h2, .documentation-list-item-container.site-style .documentation-content-header-container h2 {
  color: var(--primary-colour-lightness-0, #071e83); }

.documentation-list-content-container + .documentation-list-content-container {
  margin-top: 20px; }

.documentation-list-content-container ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-list-content-container ul.stripes > li:nth-child(odd) {
    background-color: #f0f0f0; }
  .documentation-list-content-container ul.stripes > li:nth-child(even) {
    background-color: #ffffff; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(even) {
    background-color: #f0f0f0; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(odd) {
    background-color: #ffffff; }
  .documentation-list-content-container ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0 5px;
    padding: 7px 5px; }
    @media print, screen and (min-width: 40em) {
      .documentation-list-content-container ul li .context-menu-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 5px 0; } }
    .documentation-list-content-container ul li .tooltip-container {
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .documentation-list-content-container ul a {
    color: #333333;
    font-weight: 500;
    font-size: 1.0625rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .documentation-list-content-container ul a:hover {
      color: var(--primary-colour-lightness-0, #fb6f21);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.documentation-list-content-container .index {
  display: inline-block;
  margin: 0 10px 0 0;
  text-align: left; }

.documentation-article-intro-container, .documentation-intro-container {
  --component-specifc-step-height: 56px;
  position: relative;
  overflow: hidden; }
  .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
    margin: 35px 0 45px; }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
        margin: 45px 0 55px; } }
    .documentation-article-intro-container.layout-1 h2, .documentation-intro-container.layout-1 h2 {
      margin: 0 0 30px;
      padding: 0 0 20px;
      color: var(--primary-colour-lightness-0, #071e83);
      text-align: center;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      position: relative; }
      .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
        content: '';
        width: 50px;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        margin: auto;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: #959595; }
        @media print {
          .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
            border-bottom: 2px solid #959595;
            background-color: transparent; } }
    .documentation-article-intro-container.layout-1 h1, .documentation-intro-container.layout-1 h1 {
      margin: 0;
      color: #333333;
      font-size: 2.25rem;
      font-weight: 600;
      text-align: center; }
  .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 20px 0 30px;
    padding: 25px 20px;
    background-color: var(--primary-colour-lightness-9); }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 80px;
        margin: 30px 0 40px;
        padding: 20px; } }
    .documentation-article-intro-container.layout-2 h1, .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h2 {
      text-align: left; }
    .documentation-article-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h1 {
      margin: 0;
      color: #333333;
      font-size: 1.875rem;
      font-weight: 600; }
    .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h2 {
      margin: 0 0 5px;
      color: var(--primary-colour-lightness-0, #071e83);
      font-size: 0.9375rem;
      text-transform: uppercase;
      letter-spacing: 3px; }
    .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
          margin: 0 0 0 20px; } }
    .documentation-article-intro-container.layout-2 .banner-container .image, .documentation-intro-container.layout-2 .banner-container .image {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border: 2px solid #ffffff; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .banner-container .image img, .documentation-intro-container.layout-2 .banner-container .image img {
          width: 245px; } }

.documentation-additional-links ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5px 25px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-additional-links ul li {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none; }

.documentation-additional-links .attachment {
  padding: 0;
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 600; }
  .documentation-additional-links .attachment:before {
    margin-right: 10px;
    font-size: 0.8125rem;
    color: #183ad3;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #fb6f21; }
    .documentation-additional-links .attachment:hover:before {
      color: #fb6f21;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #071e83; }
    .documentation-additional-links .attachment:active:before {
      color: #071e83; }
  .documentation-additional-links .attachment.printer-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-public-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-statistics:before {
    content: "";
    font-family: "Font Awesome Solid"; }

.documentation-chapter-header-container h1, .documentation-acticle-header-container h1, .documentation-content-container h1, .documentation-content-header-container h1 {
  margin: 0 0 30px;
  padding: 0 0 15px;
  color: #071e83;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }
  .documentation-chapter-header-container h1 + .documentation-additional-links, .documentation-acticle-header-container h1 + .documentation-additional-links, .documentation-content-container h1 + .documentation-additional-links, .documentation-content-header-container h1 + .documentation-additional-links {
    padding: 0;
    border: 0; }

.documentation-chapter-header-container h2, .documentation-acticle-header-container h2, .documentation-content-container h2, .documentation-content-header-container h2 {
  margin: 0 0 15px;
  padding: 0 0 15px;
  color: #ffffff;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
  margin: 0;
  padding: 10px 0;
  color: #071e83;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
      padding: 10px 0; } }
  .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h4, .documentation-acticle-header-container h4, .documentation-content-container h4, .documentation-content-header-container h4 {
  margin: 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h5, .documentation-acticle-header-container h5, .documentation-content-container h5, .documentation-content-header-container h5 {
  margin: 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h6, .documentation-acticle-header-container h6, .documentation-content-container h6, .documentation-content-header-container h6 {
  margin: 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic; }

.documentation-article-container, .documentation-list-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 35px; }
  .documentation-article-container.indented, .documentation-list-item-container.indented {
    margin-left: 25px; }
  .documentation-article-container.indented-rule, .documentation-list-item-container.indented-rule {
    position: relative;
    margin-bottom: 50px;
    padding-left: 15px; }
    .documentation-article-container.indented-rule:before, .documentation-list-item-container.indented-rule:before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #aeaeae; }

.documentation-chapter-header-container, .documentation-header-container {
  margin-bottom: 35px; }
  .documentation-chapter-header-container .documentation-additional-links, .documentation-header-container .documentation-additional-links {
    padding-top: 25px;
    border-top: 1px solid #959595; }

.documentation-chapter-footer-container, .documentation-footer-container {
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 1px solid #959595; }

.documentation-acticle-header-container, .documentation-content-header-container {
  position: relative; }

.documentation-content-container a[href^="tel:"], .documentation-content-container a[href^="mailto:"] {
  font-weight: 700; }
  .documentation-content-container a[href^="tel:"]:hover, .documentation-content-container a[href^="mailto:"]:hover {
    text-decoration: none; }
  .documentation-content-container a[href^="tel:"].show-contact-icon:before, .documentation-content-container a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.documentation-content-container a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.documentation-content-container a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.documentation-content-container p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.documentation-content-container p a:has([style*="float"]) {
  display: inline; }

.documentation-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.6;
  color: #000000; }
  .documentation-content-container p img[style*="float:left"], .documentation-content-container p img[style*="float: left"], .documentation-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .documentation-content-container p img[style*="float:right"], .documentation-content-container p img[style*="float: right"], .documentation-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .documentation-content-container p img {
    margin: .2em 0; }
  .documentation-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.documentation-content-container p:not(:empty) + table, .documentation-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.documentation-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .documentation-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .documentation-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .documentation-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .documentation-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table.responsive-table {
        display: table; } }
    .documentation-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .documentation-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container table td {
      padding: 10px; } }
  .documentation-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .documentation-content-container table tbody {
    background-color: transparent; }
    .documentation-content-container table tbody th {
      background-color: transparent; }
    .documentation-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table tbody tr {
        display: table-row; } }
  .documentation-content-container table .col-label {
    color: #333333; }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .documentation-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .documentation-content-container table.comparison-table tbody td:first-child {
    color: #333333;
    font-weight: 700; }

.documentation-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
  text-align: center;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 1rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .documentation-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .documentation-content-container blockquote:hover:before {
      color: #d0d0d0;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-content-container blockquote:has(img) {
    text-align: left; }
  .documentation-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      padding: 50px 60px; } }
  .documentation-content-container blockquote + blockquote {
    margin-top: 15px; }
  .documentation-content-container blockquote:before, .documentation-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-content-container blockquote:before {
    top: 0;
    left: 0; }
  .documentation-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .documentation-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container blockquote img {
        text-align: left; } }

.documentation-content-container iframe[src*="https://www.youtube.com/"] {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: 10px; }

.documentation-content-container code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f0f0f0;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container code {
      padding: 10px 35px; } }
  .documentation-content-container code:hover {
    border-color: #333333;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .documentation-content-container code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .documentation-content-container code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .documentation-content-container code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .documentation-content-container code .code-copy-button:hover {
      background-color: #071e83;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .documentation-content-container code .code-copy-button.active, .documentation-content-container code .code-copy-button:active {
      background-color: #071e83; }
      .documentation-content-container code .code-copy-button.active:before, .documentation-content-container code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .documentation-content-container code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .documentation-content-container code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

.documentation-content-container ul, .documentation-content-container ol {
  text-align: left; }

.documentation-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .documentation-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .documentation-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .documentation-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #071e83;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .documentation-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .documentation-content-container ol ol ol {
      list-style-type: lower-roman; }
      .documentation-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .documentation-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.documentation-content-container li {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.6; }

.documentation-content-container ul + h1, .documentation-content-container ol + h1 {
  margin-top: 30px; }

.documentation-content-container ul + h2, .documentation-content-container ol + h2 {
  margin-top: 15px; }

.documentation-content-container ul + h3, .documentation-content-container ol + h3 {
  margin-top: 0; }

.documentation-content-container ul + h4, .documentation-content-container ol + h4 {
  margin-top: 0; }

.documentation-content-container ul + h5, .documentation-content-container ol + h5 {
  margin-top: 0; }

.documentation-content-container ul + h6, .documentation-content-container ol + h6 {
  margin-top: 0; }

.documentation-content-container dl {
  text-align: left; }

.documentation-content-container figure {
  max-width: 100%;
  margin: 10px auto; }
  .documentation-content-container figure.image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    margin: 10px auto; }
  .documentation-content-container figure.image-style-align-right {
    float: right;
    margin-left: 10px; }
  .documentation-content-container figure.image-style-align-left {
    float: left;
    margin-right: 10px; }
  .documentation-content-container figure.image-style-block-align-left {
    margin-right: auto;
    margin-left: 0; }
  .documentation-content-container figure.image-style-block-align-right {
    margin-right: 0;
    margin-left: auto; }
  .documentation-content-container figure[class*="image-style-block"] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure figcaption {
    width: 100%;
    padding: 5px;
    background-color: var(--neutral-colour-lightness-10);
    color: #000000;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 81.25em) {
  .documentation-content-container {
    max-width: 850px;
    width: 100%; } }

.documentation-restricted-access-container h1, .documentation-restricted-access-container h2, .documentation-restricted-access-container h3, .documentation-restricted-access-container h4, .documentation-restricted-access-container h5, .documentation-restricted-access-container h6, .documentation-restricted-access-container p, .documentation-restricted-access-container li, .documentation-restricted-access-container.documentation-internal-use-only, .documentation-restricted-access-container a, .documentation-restricted-access-container table thead th, .documentation-restricted-access-container table tbody td, .documentation-internal-use-only h1, .documentation-internal-use-only h2, .documentation-internal-use-only h3, .documentation-internal-use-only h4, .documentation-internal-use-only h5, .documentation-internal-use-only h6, .documentation-internal-use-only p, .documentation-internal-use-only li, .documentation-internal-use-only.documentation-internal-use-only, .documentation-internal-use-only a, .documentation-internal-use-only table thead th, .documentation-internal-use-only table tbody td {
  color: var(--accent-colour-1-lightness-0); }

.documentation-not-published {
  font-style: italic; }

ul.functions-list:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

ul.functions-list:has(> li.has-submenu-toggle) ul.menu:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

.menu.functions-list {
  --menu-function-list-hover-colour: var(--primary-colour-lightness-0);
  width: 100%; }
  .menu.functions-list > li > ul.submenu {
    padding: 5px;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list > li > ul.submenu {
        padding: 5px 0 5px 10px; } }
  .menu.functions-list > li:has(ul.submenu.is-active) {
    border-bottom: 5px solid #ffffff; }
  .menu.functions-list li:has(ul.submenu.is-active) {
    background-color: #f0f0f0; }
    .menu.functions-list li:has(ul.submenu.is-active) > a {
      font-weight: 600;
      color: var(--menu-function-list-hover-colour, #fb6f21);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .menu.functions-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    border-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list li {
        padding-right: 0; } }
    .menu.functions-list li:hover {
      background-color: transparent; }
      .menu.functions-list li:hover > a, .menu.functions-list li:hover > button:after {
        color: var(--menu-function-list-hover-colour, #fb6f21); }
    .menu.functions-list li > a {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-right: 0;
      padding: 5px 5px 5px 0;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      .menu.functions-list li > a + button {
        height: auto;
        position: relative;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        .menu.functions-list li > a + button:after {
          color: #333333;
          font-size: 8px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu.functions-list li > a + button[aria-expanded="true"]:after {
          color: var(--menu-function-list-hover-colour, #fb6f21);
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .menu.functions-list li > ul {
      width: 100%;
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3;
      border-top: 0;
      background-color: transparent; }
      @media print, screen and (max-width: 81.24875em) {
        .menu.functions-list li > ul li {
          padding: 0; } }
      .menu.functions-list li > ul li a {
        font-weight: 400;
        color: #333333; }
        @media screen and (min-width: 81.25em) {
          .menu.functions-list li > ul li a {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      .menu.functions-list li > ul .index {
        font-style: italic; }
    .menu.functions-list li .nested.is-accordion-submenu {
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .menu.functions-list li .nested.is-accordion-submenu {
          margin-left: 40px; } }
    .menu.functions-list li .link-description {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }

.documentation-results-found-list ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.documentation-results-found-list ul li {
  padding: 10px 5px; }

.documentation-results-found-list ul .results-items-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .documentation-results-found-list ul .results-items-container ul {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .documentation-results-found-list ul .results-items-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    padding: 0; }
    .documentation-results-found-list ul .results-items-container ul li:not(:last-child):after {
      content: "";
      margin: 0 7px;
      color: #959595;
      font-family: "fontello-winterstoke";
      font-size: 10px; }
    .documentation-results-found-list ul .results-items-container ul li a {
      font-weight: 600; }

.documentation-results-found-list ul .results-snippet-container {
  font-size: 0.875rem; }
  .documentation-results-found-list ul .results-snippet-container p {
    margin: 5px 0 10px;
    padding: 0; }

.documentation-back-button-container .documentation-back-button {
  margin: 0; }

.statistics-content-container {
  background-color: #f0f0f0; }
  .statistics-content-container ul {
    padding: 10px 20px; }
    .statistics-content-container ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      font-size: 0.9375rem;
      font-weight: 600; }
  .statistics-content-container .label {
    padding-right: 5px; }

.revision-count-container.seperator span {
  margin: 0 0 10px;
  padding: 0 0 5px;
  position: relative; }
  .revision-count-container.seperator span:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #000000; }
    @media print {
      .revision-count-container.seperator span:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }

.revision-count-container span {
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 700; }

.revision-information-container {
  background-color: var(--neutral-colour-lightness-8); }
  .revision-information-container table.audit-trail-entry thead th {
    border-color: var(--white-colour); }

.technical-documentation-list-container:not(:last-child):after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid var(--neutral-colour-lightness-8); }

.documentation-demo-link-container {
  margin: 10px 0;
  padding: 10px;
  background-color: var(--neutral-colour-lightness-10); }

.inspect-prompt {
  display: block;
  margin: 30px 0;
  font-weight: 600; }

.express-configuration {
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: var(--neutral-colour-lightness-9); }
  @media screen and (min-width: 81.25em) {
    .express-configuration {
      padding-top: 100px;
      padding-bottom: 100px; } }
  .express-configuration .configuration-section {
    width: 100%;
    padding: 10px 20px;
    background-color: var(--white-colour);
    border: 2px solid var(--neutral-colour-lightness-8); }
    .express-configuration .configuration-section:not(:last-of-type) {
      margin-bottom: 20px; }
    .express-configuration .configuration-section .axis-section-header h2 {
      margin: 0; }

.configuration-introduction-container {
  margin-bottom: 20px; }
  .configuration-introduction-container .cms-content-container p {
    margin: 5px 0; }

.technical-list {
  margin: 0;
  padding: 0; }
  .technical-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .technical-list li:not(:last-child) {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--neutral-colour-lightness-8); }
  .technical-list .header-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .technical-list .state {
    margin-left: auto;
    padding: 2px 10px;
    background-color: var(--state-background-colour);
    border: 1px solid var(--state-colour);
    font-size: 0.75rem;
    color: var(--state-colour);
    font-weight: 600; }
    .technical-list .state.active {
      --state-background-colour: var(--success-colour-lightness-9);
      --state-colour: var(--success-colour-lightness-0); }
    .technical-list .state.disabled {
      --state-background-colour: var(--warning-colour-lightness-9);
      --state-colour: var(--warning-colour-lightness-0); }
  .technical-list .key-value-pair {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px; }
    .technical-list .key-value-pair .name {
      font-weight: 600; }

.neutralised-items {
  margin: 10px 0 20px; }
  .neutralised-items .placeholder-value-display:not(:last-child) {
    margin-bottom: 10px; }

.placeholder-value-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .placeholder-value-display .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 600;
    font-size: 0.875rem; }
    .placeholder-value-display .name::after {
      content: "=>";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      margin-right: 15px;
      padding-left: 15px;
      font-weight: 400;
      font-size: 15px;
      color: var(--neutral-colour-lightness-6); }
  .placeholder-value-display .value {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--primary-colour-lightness-0); }

/*
----- Context Menu ------ 
Essentially a toolbar / toolbox menu
*/
.context-menu-container {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 10px;
  z-index: 1995; }
  @media print, screen and (min-width: 40em) {
    .context-menu-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      opacity: 1; } }
  .context-menu-container.active, .context-menu-container.is-closing {
    background-color: #ffffff;
    z-index: 1996; }
  .context-menu-container ol, .context-menu-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container ol, .context-menu-container ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .context-menu-container ol li, .context-menu-container ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0; }
      @media print, screen and (min-width: 40em) {
        .context-menu-container ol li, .context-menu-container ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
        max-height: 700px;
        border: 1px solid #aeaeae;
        -webkit-transition: max-height 0.6s, border-color 0.6s;
        transition: max-height 0.6s, border-color 0.6s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
            max-width: 1300px;
            max-height: none;
            -webkit-transition: max-width 0.6s;
            transition: max-width 0.6s; } }
      .context-menu-container ol li.active > button.menu-option-container, .context-menu-container ul li.active > button.menu-option-container {
        background-color: #fb6f21;
        border-color: #fb6f21;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
        .context-menu-container ol li.active > button.menu-option-container .menu-option-icon:before, .context-menu-container ul li.active > button.menu-option-container .menu-option-icon:before {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
        width: 100%;
        max-height: 0;
        position: absolute;
        top: 100%;
        background-color: #ffffff;
        overflow: hidden;
        z-index: 1;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
            max-width: 0;
            width: auto;
            max-height: none;
            height: 100%;
            top: 0;
            right: 100%;
            -webkit-transition: max-width 0.8s;
            transition: max-width 0.8s; } }
  @media print, screen and (min-width: 40em) {
    .context-menu-container .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .context-menu-container .state-menu-container .menu-option-container {
    opacity: .5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .context-menu-container .state-menu-container .menu-option-container:hover, .context-menu-container .state-menu-container .menu-option-container:active {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:hover {
    background-color: var(--neutral-colour-lightness-0);
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .context-menu-container .edit-menu-container .menu-option-container:hover .menu-option-icon:before {
      color: var(--white-colour);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:active {
    background-color: var(--secondary-colour-lightness-0); }
  .context-menu-container .menu-option-container {
    --icon-colour: var(--neutral-colour-lightness-0);
    width: 45px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 7.5px 10px;
    line-height: 1;
    border: 1px solid transparent; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container .menu-option-container:active {
        width: auto;
        min-width: 45px; }
        .context-menu-container .menu-option-container:active .menu-option-label {
          display: block; } }
    .context-menu-container .menu-option-container .menu-option-label {
      display: none;
      font-weight: 600;
      font-size: 0.8125rem; }
    .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon {
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon:before {
        color: var(--icon-colour);
        font-family: "Font Awesome Solid";
        font-size: 19px;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s; }
    .context-menu-container .menu-option-container.access-level .menu-option-icon-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon:before {
        content: ""; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon-text {
        font-size: 11px; }
    .context-menu-container .menu-option-container.access-level.state-value-0 {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.access-level.state-value-1 {
      --icon-colour: var(--neutral-colour-lightness-0);
      color: var(--neutral-colour-lightness-0); }
    .context-menu-container .menu-option-container.access-level.state-value-2 {
      --icon-colour: var(--black-colour);
      color: var(--black-colour); }
    .context-menu-container .menu-option-container.access-level.state-value-3, .context-menu-container .menu-option-container.access-level.state-value-4 {
      --icon-colour: var(--accent-colour-1-lightness-0);
      color: var(--accent-colour-1-lightness-0); }
    .context-menu-container .menu-option-container.published .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.published.state-value-true {
      --icon-colour: var(--success-colour-lightness-0);
      color: var(--success-colour-lightness-0); }
    .context-menu-container .menu-option-container.published.state-value-false {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.edit-menu .menu-option-icon:before {
      content: "";
      color: #fb6f21; }
    .context-menu-container .menu-option-container.edit-text .menu-option-icon:before {
      content: "";
      font-size: 16px; }
    .context-menu-container .menu-option-container.edit-properties .menu-option-icon:before {
      content: "";
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.move-up .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.move-down .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.insert-before .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.insert-after .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.promote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.demote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.delete .menu-option-icon:before {
      content: "";
      font-size: 17px; }
    .context-menu-container .menu-option-container.move-article .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.audit-trail .menu-option-icon:before {
      content: ""; }

/*
----- Graduated Colour Edge ------ 
Edge effect where the is typically 3 tones of a specific colour in the corner of a element / component.
Possible class configuration options:
- Opacity enumeration ( High, Medium, Low )
- Position Top + Bottom L & R corners

For a demonstration go to /static/graduated-colour-edge-test.html
*/
.graduated-colour-edge {
  --graduated-step-height: var(--component-specifc-step-height, 60px);
  width: 600px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .graduated-colour-edge.position-1 {
    top: 0;
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.position-2 {
    top: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-3 {
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-4 {
    bottom: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.opacity-1 .step {
    opacity: .9; }
    .graduated-colour-edge.opacity-1 .step + .step {
      opacity: .6; }
      .graduated-colour-edge.opacity-1 .step + .step + .step {
        opacity: .3; }
  .graduated-colour-edge.opacity-2 .step {
    opacity: .6; }
    .graduated-colour-edge.opacity-2 .step + .step {
      opacity: .3; }
      .graduated-colour-edge.opacity-2 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge.opacity-3 .step {
    opacity: .3; }
    .graduated-colour-edge.opacity-3 .step + .step {
      opacity: .2; }
      .graduated-colour-edge.opacity-3 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge .step {
    width: 600px;
    height: var(--graduated-step-height);
    display: block;
    background-color: var(--primary-colour-lightness-0); }

/*
----- Axis Rich Text Editors ----- 
Bespoke rules that get applied when intergrating with third-party editors.

General rules that get applied to .rich-text-editor-container which is the common container that gets used across all editors.
*/
.ck-body-wrapper {
  z-index: 2021; }
  .ck-body-wrapper.disabled {
    display: none; }

.ck-editor .ck-content ul {
  list-style-type: none; }

.rich-text-editor-container {
  --ck-color-base-border: #d0d0d0;
  --ck-color-base-error: #b20c0c;
  --ck-image-style-spacing: 10px;
  position: relative;
  --ck-color-image-caption-text: #000000; }

[data-axis-rich-text-editor] {
  min-height: 100px; }
  [data-axis-rich-text-editor]:not(.rich-text-editor-container) {
    border: 1px solid #d0d0d0; }
  [data-axis-rich-text-editor] > textarea {
    display: none; }

.ck-source-editing-area textarea {
  overflow: auto !important; }

.axis-editor-indent-level-1 {
  --indent-margin: 0 0 0 calc(1 * 25px); }
  .axis-editor-indent-level-1 + ul, .axis-editor-indent-level-1 + ol {
    margin-left: calc(1 * 25px); }

.axis-editor-indent-level-2 {
  --indent-margin: 0 0 0 calc(2 * 25px); }
  .axis-editor-indent-level-2 + ul, .axis-editor-indent-level-2 + ol {
    margin-left: calc(2 * 25px); }

.axis-editor-indent-level-3 {
  --indent-margin: 0 0 0 calc(3 * 25px); }
  .axis-editor-indent-level-3 + ul, .axis-editor-indent-level-3 + ol {
    margin-left: calc(3 * 25px); }

.axis-editor-indent-level-4 {
  --indent-margin: 0 0 0 calc(4 * 25px); }
  .axis-editor-indent-level-4 + ul, .axis-editor-indent-level-4 + ol {
    margin-left: calc(4 * 25px); }

.axis-editor-indent-level-5 {
  --indent-margin: 0 0 0 calc(5 * 25px); }
  .axis-editor-indent-level-5 + ul, .axis-editor-indent-level-5 + ol {
    margin-left: calc(5 * 25px); }

/*

----- Video Player ----

IMPORTANT: This is specifically for embedding Youtube videos / Banner series. /static/video-series.html

Handles:
- Thumbnail play icon.
- Duration formatting.
- Video indicator text ( click here to watch video )

*/
.video-player-container {
  cursor: pointer; }
  .video-player-container:hover .image:after {
    color: var(--white-colour);
    background-color: var(--accent-colour-1-lightness-3);
    border-color: var(--white-colour);
    -webkit-transition: color 0.6s, background-color 0.6s, border-color 0.6s;
    transition: color 0.6s, background-color 0.6s, border-color 0.6s; }
  .video-player-container .image {
    position: relative; }
    .video-player-container .image:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
  .video-player-container .duration-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: var(--neutral-colour-lightness-0); }
    .video-player-container .duration-container:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-family: "Font Awesome Solid";
      font-size: 16px; }
    .video-player-container .duration-container .label, .video-player-container .duration-container .value {
      font-size: 1rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    .video-player-container .read-more {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }

/*
  Multimedia Element
  
  Handles styling for video playback

*/
video {
  max-width: 100%; }

.video {
  position: relative; }
  @supports not (-apple-pay-button-style: inherit) {
    .video.is-ready-to-play:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
    .video.replay-video:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; } }

.source-unsupported > video {
  display: none; }

.source-unsupported > img {
  display: none; }

[data-fallback] {
  display: none; }

.fallback-element {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: none; }
  .fallback-element.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .fallback-element img {
    z-index: 1; }
  .fallback-element .fallback-text {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    background-color: rgba(245, 245, 245, 0.8);
    color: var(--neutral-colour-lightness-0);
    font-size: 1.25rem;
    font-weight: 600;
    z-index: 2; }
    .fallback-element .fallback-text:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-size: 32px;
      font-family: "Font Awesome Solid";
      grid-column: 1;
      grid-row: 1 / span 2; }
    .fallback-element .fallback-text .error-details {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .fallback-element .fallback-text span, .fallback-element .fallback-text div {
      grid-column: 2; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=81.25em&xlarge=100em&xxlarge=120em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 10px; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 10px; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 10px;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #d0d0d0;
  border-radius: 10px;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #333333;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #d0d0d0;
    background-color: #ffffff;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: var(--neutral-colour-lightness-8);
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 10px; }

input[type=search] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #c8c8c8; }

::-moz-placeholder {
  color: #c8c8c8; }

:-ms-input-placeholder {
  color: #c8c8c8; }

::-ms-input-placeholder {
  color: #c8c8c8; }

::placeholder {
  color: #c8c8c8; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type=file] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.6;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 10px 0 0 10px; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 10px 10px 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #d0d0d0;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #d0d0d0;
  border-radius: 10px;
  background-color: #ffffff;
  font-family: "Geologica", "Geologica Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #333333;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28149, 149, 149%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #d0d0d0;
    background-color: #ffffff;
    -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
            box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  select:disabled {
    background-color: var(--neutral-colour-lightness-8);
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #b20c0c;
  background-color: #f7e7e7; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #b20c0c; }

.is-invalid-label {
  color: #b20c0c; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #b20c0c; }
  .form-error.is-visible {
    display: block; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .cell.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .xlarge-shrink {
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.3125rem;
  margin-right: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.625rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.625rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.625rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.625rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.625rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.625rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.625rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.625rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.625rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 81.25em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 100em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.625rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.625rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.625rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.625rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.625rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.625rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.625rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.625rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media screen and (min-width: 81.25em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem / 2); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem / 2); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem / 2); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem / 2); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem / 2); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem / 2); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem / 2); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem / 2); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem / 2); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem / 2); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem / 2); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem / 2); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 81.25em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 100em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 81.25em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 100em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
  width: auto; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-y.large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 100em) {
  .grid-y.xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media screen and (min-width: 81.25em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 100em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.25rem); } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #959595;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 26px;
    top: auto;
    font-size: 2em;
    line-height: 1; }

.switch {
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2rem; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 10px;
  background: #fb6f21;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.41rem;
    left: 0.41rem;
    display: block;
    width: 1.18rem;
    height: 1.18rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 10px;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #071e83; }
    input:checked ~ .switch-paddle::after {
      left: 2.41rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.68rem;
    height: 0.68rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.91rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.93rem;
    height: 0.93rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2.16rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 1.68rem;
    height: 1.68rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.91rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 10px; }
  thead,
  tbody,
  tfoot {
    border: 0;
    background-color: transparent; }
  caption {
    padding: 0;
    font-weight: bold; }
  thead {
    background: rgba(6, 6, 6, 0);
    color: var(--primary-colour-lightness-0); }
  tfoot {
    background: rgba(13, 13, 13, 0);
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0; }
  tbody tr {
    border-bottom: 0;
    background-color: transparent; }
  table.striped tbody tr:nth-child(odd) {
    background-color: #f0f0f0; }

@media print, screen and (max-width: 81.24875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: transparent; }

table.hover tfoot tr:hover {
  background-color: rgba(8, 8, 8, 0); }

table.hover tbody tr:hover {
  background-color: #ffffff; }

table.hover.striped tr:nth-of-type(odd):hover {
  background-color: #ffffff; }

.table-scroll {
  overflow-x: auto; }

.breadcrumbs {
  margin: 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.8125rem;
    color: #071e83;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "";
      color: #959595; }
  .breadcrumbs a {
    color: #959595; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #071e83;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #071e83;
    color: #ffffff; }
  .callout.secondary {
    background-color: #eeeeee;
    color: #000000; }
  .callout.success {
    background-color: #12811f;
    color: #ffffff; }
  .callout.warning {
    background-color: #ff5e05;
    color: #000000; }
  .callout.alert {
    background-color: #b20c0c;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #aeaeae;
  border-radius: 10px;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 10px 10px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 10px 10px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #d0d0d0;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: var(--primary-colour-lightness-0); }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #d0d0d0;
    border-radius: 0 0 10px 10px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ffffff; }

.accordion-content {
  display: none;
  padding: 0;
  border: 1px solid #d0d0d0;
  border-bottom: 0;
  background-color: transparent;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #d0d0d0; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: none;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #071e83; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #082295; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0;
    font-size: 1.0625rem;
    line-height: 1;
    color: #959595; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: gray; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: none;
      color: var(--primary-colour-lightness-0); }

.tabs-content {
  border: 1px solid transparent;
  border-top: 0;
  background: none;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid transparent;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 10px; }
  .tabs-panel.is-active {
    display: block; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 7.5px 5px 7.5px 16px; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 81.25em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 100em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #ffffff; }
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right.icon-top li a img,
  .menu.align-right.icon-top li a i,
  .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
  .menu.align-right.icon-bottom li a i,
  .menu.align-right.icon-bottom li a svg {
    text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 7.5px 5px 7.5px 16px;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #aeaeae;
    -webkit-box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae;
            box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #000000;
    -webkit-box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
            box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #959595;
    -webkit-box-shadow: 0 7px 0 #959595, 0 14px 0 #959595;
            box-shadow: 0 7px 0 #959595, 0 14px 0 #959595; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .is-accordion-submenu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #071e83 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 7.5px 5px 7.5px 16px;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #071e83;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-right-width: 0;
  border-color: transparent transparent transparent #071e83;
  right: 1rem;
  left: auto; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #071e83 transparent transparent;
  right: auto;
  left: 1rem; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #071e83 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu > li > a {
  padding: 7.5px 5px 7.5px 16px; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #071e83; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 81.25em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 300px;
  border: 1px solid #aeaeae;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 4000; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 4000; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media screen and (min-width: 81.25em) {
    .position-left {
      width: 400px;
      -webkit-transform: translateX(-400px);
              transform: translateX(-400px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px); }
  @media screen and (min-width: 81.25em) {
    .position-right {
      width: 400px;
      -webkit-transform: translateX(400px);
              transform: translateX(400px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 81.25em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media screen and (min-width: 100em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 81.25em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 100em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

.title-bar {
  padding: 0.5rem;
  background: #000000;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 81.25em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 81.24875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 81.25em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 81.24875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 81.24875em), screen and (min-width: 100em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 99.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 100em) and (max-width: 119.99875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 99.99875em), screen and (min-width: 120em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

/*
----- Menus -----
TODO: This is a work in progress I am still migrating from a massive blob of code embedded in header.scss.
Handles the following: 
- Dropdowns
- Drill downs
- Accordions
- Mega menu
  - Mega menu see more link.
  - EBG image.
*/
.menu-header {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  border-bottom: 0; }
  @media screen and (min-width: 81.25em) {
    .menu-header {
      display: none; } }
  .menu-header:hover {
    background-color: transparent; }
  .menu-header:active {
    background: transparent; }
  .menu-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #071e83;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu-header .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu-header .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .menu-header .menu-heading {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 0 0 15px;
    color: #071e83;
    font-size: 1.5625rem;
    font-weight: 600;
    border-bottom: 1px solid #aeaeae; }

.menu-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.menu, .dropdown.menu {
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .menu, .dropdown.menu {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .menu .navigation-cms-container, .menu .menu-header, .dropdown.menu .navigation-cms-container, .dropdown.menu .menu-header {
    position: relative;
    margin: 30px 0 40px;
    border-bottom: 0; }
    .menu .navigation-cms-container:hover, .menu .menu-header:hover, .dropdown.menu .navigation-cms-container:hover, .dropdown.menu .menu-header:hover {
      background-color: transparent; }
    .menu .navigation-cms-container:active, .menu .menu-header:active, .dropdown.menu .navigation-cms-container:active, .dropdown.menu .menu-header:active {
      background: transparent; }
    .menu .navigation-cms-container p, .menu .menu-header p, .dropdown.menu .navigation-cms-container p, .dropdown.menu .menu-header p {
      margin: 0;
      padding: 0;
      color: #071e83;
      font-size: 1.25rem;
      font-weight: 600; }
  .menu .close-button, .dropdown.menu .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .menu .close-button:before, .dropdown.menu .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu .close-button:hover:before, .dropdown.menu .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu .close-button:active:before, .dropdown.menu .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  @media print, screen and (max-width: 81.24875em) {
    .menu > li, .dropdown.menu > li {
      width: 100%;
      position: relative;
      border-bottom: 1px solid #aeaeae; }
      .menu > li > ul, .dropdown.menu > li > ul {
        padding: 0 0 10px;
        background-color: #ffffff;
        list-style: none;
        border-top: 1px solid #aeaeae; }
        .menu > li > ul > li, .dropdown.menu > li > ul > li {
          border: 0; }
          .menu > li > ul > li > a, .dropdown.menu > li > ul > li > a {
            font-size: 1.0625rem;
            font-weight: 500; }
        .menu > li > ul ul, .dropdown.menu > li > ul ul {
          border: none; }
          .menu > li > ul ul a, .dropdown.menu > li > ul ul a {
            color: #000000;
            font-weight: 400;
            font-size: 1.0625rem; }
    .menu .account-menu, .dropdown.menu .account-menu {
      padding: 0; } }
  .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
    display: none;
    margin-bottom: 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin-bottom: 0; } }
  .menu.accordion-menu > li > a:after, .dropdown.menu.accordion-menu > li > a:after {
    color: #071e83; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #fb6f21;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu > li:active > a:after, .dropdown.menu.accordion-menu > li:active > a:after {
    color: #333333;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
    content: ""; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after {
      content: "";
      width: 10px;
      height: 10px;
      margin-right: 10px;
      margin-left: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 8px;
      font-family: "fontello-winterstoke";
      text-align: center;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before {
    content: ""; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      content: "";
      height: 8px;
      margin: auto 0;
      padding: 0 10px 0 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "fontello-winterstoke";
      font-size: 8px;
      line-height: 8px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 81.24875em) and (min-width: 81.25em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      padding: 0 10px 0 5px; } }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul {
    padding: 0 0 0 20px;
    list-style: none; }
  .menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after, .dropdown.menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after {
    content: ""; }
  .submenu-toggle:after {
    content: "";
    width: auto;
    height: auto;
    font-size: 8px;
    font-family: "fontello-winterstoke";
    border: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] .submenu, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] .submenu {
      margin: 0;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a {
      padding-left: 45px; } }
  .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item {
    background-color: var(--ebg-background-colour, #ffffff); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a {
      color: var(--ebg-foreground-colour, #071e83); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after {
      color: var(--ebg-foreground-colour, #071e83); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul {
      background-color: var(--ebg-background-colour, #ffffff); }
      .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a {
        color: var(--ebg-foreground-colour, #071e83); }
  .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item), .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) {
    background-color: var(--ebg-background-colour, #ffffff); }
    .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a {
      color: var(--ebg-foreground-colour, #071e83); }
  .menu.ebg-colour-hover li[style*="--ebg"]:hover, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #ffffff); }
    .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #071e83); }
      .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #071e83); }
  .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #ffffff); }
    .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #071e83); }
      .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #071e83); }
  .menu li, .dropdown.menu li {
    list-style: none; }
  .menu > li, .dropdown.menu > li {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .menu > li, .dropdown.menu > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .menu > li a, .dropdown.menu > li a {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      line-height: 1.6; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #071e83; }
      .menu > li:hover > a, .dropdown.menu > li:hover > a {
        color: #ffffff; }
    .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-top: 5px;
          padding-bottom: 5px; } }
      .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
        width: 35px;
        height: 35px;
        display: block;
        padding: 0 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
            width: 45px;
            height: 45px;
            padding: 0; } }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image + .link-description, .menu > li > p.has-link-image .link-image + .link-description, .dropdown.menu > li > a.has-link-image .link-image + .link-description, .dropdown.menu > li > p.has-link-image .link-image + .link-description {
            padding: 10px 0 0; } }
    .menu > li > a, .dropdown.menu > li > a {
      width: 100%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1.6; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a, .dropdown.menu > li > a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
    .menu > li > ul, .dropdown.menu > li > ul {
      padding: 0 0 10px;
      border-color: var(--ebg-background-colour, #071e83); }
      .menu > li > ul:not(.submenu), .dropdown.menu > li > ul:not(.submenu) {
        display: none; }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul, .dropdown.menu > li > ul {
          padding: 0; } }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul li ul li.is-submenu-item, .dropdown.menu > li > ul li ul li.is-submenu-item {
          padding-left: 20px; } }
      .menu > li > ul > li a, .menu > li > ul .is-active a, .dropdown.menu > li > ul > li a, .dropdown.menu > li > ul .is-active a {
        position: relative;
        margin: 0; }
      .menu > li > ul > li.is-dropdown-submenu-parent > a:after, .menu > li > ul .is-active.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul > li.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul .is-active.is-dropdown-submenu-parent > a:after {
        content: "";
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin: 0 0 0 auto;
        font-family: "fontello-winterstoke";
        font-size: 8px; }
  .menu.dropdown li > a, .dropdown.menu.dropdown li > a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.dropdown > li.is-dropdown-submenu-parent, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent {
    border-radius: 0 0 0 0; }
  .menu.dropdown > li:not(.is-dropdown-submenu-parent), .dropdown.menu.dropdown > li:not(.is-dropdown-submenu-parent) {
    border-radius: 0; }
  .menu.on-page-menu, .dropdown.menu.on-page-menu {
    margin: auto;
    padding: 10px;
    border: 1px solid #eeeeee;
    border-radius: 10px; }
    .menu.on-page-menu > li, .dropdown.menu.on-page-menu > li {
      position: initial;
      border: 0;
      border-radius: 10px; }
      .menu.on-page-menu > li:hover, .dropdown.menu.on-page-menu > li:hover {
        color: #071e83;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #071e83; }
      .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
        margin-left: 35px; }
        @media screen and (min-width: 81.25em) {
          .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
            margin-left: 60px; } }
        .menu.on-page-menu > li p i, .dropdown.menu.on-page-menu > li p i {
          margin-right: 5px; }
  .menu .home-button, .dropdown.menu .home-button {
    width: 100%;
    position: relative;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .menu .home-button, .dropdown.menu .home-button {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        width: 100%;
        display: block; } }
    .menu .home-button:hover, .dropdown.menu .home-button:hover {
      background-color: #ffffff;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .menu .home-button:hover a:before, .dropdown.menu .home-button:hover a:before {
        background-color: transparent;
        color: #fb6f21;
        -webkit-transition: color 0.8s, background-color 0.8s;
        transition: color 0.8s, background-color 0.8s; }
    .menu .home-button:active, .dropdown.menu .home-button:active {
      background-color: #ffffff; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #333333; }
    .menu .home-button a, .dropdown.menu .home-button a {
      width: 100%;
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .menu .home-button a:before, .dropdown.menu .home-button a:before {
        content: "";
        padding: 0;
        font-family: "Font Awesome Solid";
        font-size: 14px;
        color: #071e83;
        background-color: transparent;
        border-radius: 10px;
        -webkit-transition: color 0.6s, padding 0.8s;
        transition: color 0.6s, padding 0.8s; }
  .menu .account-menu, .dropdown.menu .account-menu {
    width: 100%;
    right: 0 !important;
    left: auto !important;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .menu .account-menu, .dropdown.menu .account-menu {
        max-height: 70vh;
        width: 550px;
        padding: 20px;
        overflow-y: auto; } }
    .menu .account-menu li, .dropdown.menu .account-menu li {
      position: relative; }
      .menu .account-menu li > a, .dropdown.menu .account-menu li > a {
        padding: 10px; }
    .menu .account-menu .account-page > a:before, .dropdown.menu .account-menu .account-page > a:before {
      content: unset; }
    .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      border: 0;
      top: 100% !important;
      right: 0;
      left: auto; }
      @media screen and (min-width: 81.25em) {
        .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
          padding-bottom: 50px;
          -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                  box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
          border-bottom-color: #071e83;
          border-width: 0 0 6px 0;
          border-style: solid; } }
  .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
    margin-bottom: 30px;
    background-color: #eeeeee;
    border-color: transparent;
    cursor: pointer; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 0;
        padding-left: 13px;
        padding-right: 45px;
        background-color: transparent; } }
    .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu:hover {
      background-color: #eeeeee; }
      .menu .site-setting-menu:hover > a, .dropdown.menu .site-setting-menu:hover > a {
        color: #000000; }
    .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
      width: auto;
      margin: 0 20px 20px;
      border-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
          min-width: 160px;
          margin: 0;
          padding: 10px 45px 10px 22px;
          border-color: transparent;
          border-bottom-color: #071e83;
          border-width: 0 0 6px 0;
          border-style: solid; }
          .menu .site-setting-menu > ul:after, .dropdown.menu .site-setting-menu > ul:after {
            content: '';
            width: 90%;
            height: 2px;
            position: absolute;
            top: 2px;
            right: 0;
            left: 0;
            display: block;
            margin: auto;
            background-color: #eeeeee; } }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul a, .dropdown.menu .site-setting-menu > ul a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          padding: 0; } }
      .menu .site-setting-menu > ul a .currency-icon, .dropdown.menu .site-setting-menu > ul a .currency-icon {
        line-height: 2; }
    .menu .site-setting-menu .currency-container, .dropdown.menu .site-setting-menu .currency-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: auto 0; }
    .menu .site-setting-menu .selected-option, .dropdown.menu .site-setting-menu .selected-option {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu .selected-option:before, .dropdown.menu .site-setting-menu .selected-option:before {
          content: "";
          display: inline-block;
          position: relative;
          top: auto;
          right: auto;
          margin: auto 15px auto 0;
          font-family: "fontello-winterstoke";
          font-size: 8px;
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu .site-setting-menu .selected-option:hover:before, .dropdown.menu .site-setting-menu .selected-option:hover:before {
          color: #959595; } }
      .menu .site-setting-menu .selected-option:active, .dropdown.menu .site-setting-menu .selected-option:active {
        background-color: transparent; }
      .menu .site-setting-menu .selected-option .currency-icon, .dropdown.menu .site-setting-menu .selected-option .currency-icon {
        position: relative;
        top: -1px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
          font-size: 12px; }
          @media screen and (min-width: 81.25em) {
            .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
              color: #071e83; } }
      .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 0 0 6px; }
        @media print, screen and (max-width: 81.24875em) {
          .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
            color: #000000;
            font-size: 0.875rem; } }
    .menu .site-setting-menu .currency, .dropdown.menu .site-setting-menu .currency {
      white-space: nowrap; }
      .menu .site-setting-menu .currency.disabled, .dropdown.menu .site-setting-menu .currency.disabled {
        opacity: .5;
        cursor: not-allowed; }
      .menu .site-setting-menu .currency .currency-icon, .dropdown.menu .site-setting-menu .currency .currency-icon {
        font-size: 13px; }
      .menu .site-setting-menu .currency .label, .dropdown.menu .site-setting-menu .currency .label {
        margin-left: 10px;
        color: #000000;
        font-size: 0.875rem;
        font-weight: 400; }
        .menu .site-setting-menu .currency .label:hover, .dropdown.menu .site-setting-menu .currency .label:hover {
          color: #fb6f21; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #071e83; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 7.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #071e83; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active, .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu.is-active, .dropdown.menu .site-setting-menu:hover {
        background-color: #ffffff; }
        .menu .site-setting-menu.is-active a .currency-icon:before, .menu .site-setting-menu:hover a .currency-icon:before, .dropdown.menu .site-setting-menu.is-active a .currency-icon:before, .dropdown.menu .site-setting-menu:hover a .currency-icon:before {
          color: #071e83; } }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active > a:before, .menu .site-setting-menu:hover > a:before, .dropdown.menu .site-setting-menu.is-active > a:before, .dropdown.menu .site-setting-menu:hover > a:before {
        content: "";
        color: #959595; } }

ul.menu li a[href^="tel:"]:before, ul.menu li a[href^="mailto:"]:before {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 1px 5px;
  color: #d0d0d0b3;
  font-family: "Font Awesome Solid";
  background-color: #8f95a5;
  border-radius: 25px;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }

ul.menu li a[href^="tel:"]:hover:before, ul.menu li a[href^="mailto:"]:hover:before {
  color: #ffffff;
  background-color: #8f95a5;
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

ul.menu li a[href^="tel:"]:active:before, ul.menu li a[href^="mailto:"]:active:before {
  color: #ffffff;
  background-color: #8f95a5; }

ul.menu li a[href^="mailto:"]:before {
  content: "";
  font-size: 14px; }

ul.menu li a[href^="tel:"]:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 22px;
  font-size: 14px; }

.menu-scroll-container {
  overflow-y: auto;
  overflow-x: hidden; }

.submenu {
  height: auto;
  z-index: 400;
  border-radius: 0 0 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .submenu.level2 {
      padding-bottom: 50px;
      -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
              box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
      border-bottom-color: #071e83;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #071e83; }
    .submenu > li.is-active > a {
      color: #ffffff; }

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: 0; }

.menu-egb-image-container {
  float: right; }
  @media screen and (min-width: 81.25em) {
    .menu-egb-image-container {
      width: 100%;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 0 20px;
      grid-row: 1 / span last-line; } }
  .menu-egb-image-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .menu-egb-image-container .image img {
      border: 1px solid #c8c8c8;
      border-radius: 10px; }

.mega-menu-container {
  --mega-menu-dropdown-gutter: 15px; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container > ul.menu {
      position: inherit;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu {
        grid-template-columns: repeat(1, calc((1300px - 0px) / 1)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 1; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu {
        grid-template-columns: repeat(2, calc((1300px - 15px) / 2)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 2; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu {
        grid-template-columns: repeat(3, calc((1300px - 30px) / 3)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 3; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu {
        grid-template-columns: repeat(4, calc((1300px - 45px) / 4)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 4; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu {
        grid-template-columns: repeat(5, calc((1300px - 60px) / 5)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 5; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu {
        grid-template-columns: repeat(6, calc((1300px - 75px) / 6)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 6; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu {
        grid-template-columns: repeat(7, calc((1300px - 90px) / 7)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 7; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu {
        grid-template-columns: repeat(8, calc((1300px - 105px) / 8)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 8; } }
  .mega-menu-container > ul.menu > li {
    position: static; }
    .mega-menu-container > ul.menu > li:hover > .submenu {
      display: grid;
      grid-template-rows: auto;
      gap: 20px 15px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.overflow-scroll {
        max-height: 70vh;
        padding-right: 30px;
        overflow-y: scroll; } }
    .mega-menu-container > ul.menu > li > ul.submenu {
      position: absolute;
      top: 100%;
      right: auto;
      left: 0;
      display: none;
      background-color: #ffffff; }
      .mega-menu-container > ul.menu > li > ul.submenu > li.has-cloned-groups-parent > a {
        display: none; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.submenu.js-dropdown-active {
        display: grid;
        grid-auto-flow: dense;
        grid-template-rows: auto;
        gap: 20px 15px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .mega-menu-container > ul.menu > li > ul > li {
      border-radius: 10px; }
      .mega-menu-container > ul.menu > li > ul > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
    .mega-menu-container > ul.menu > li > ul li.menu-egb-image-container {
      border-radius: 10px; }
  .mega-menu-container .menu .has-cloned-groups a {
    padding-top: 5px;
    padding-bottom: 5px; }
  .mega-menu-container .megamenu-column-cloned-span {
    display: grid;
    grid-template-rows: repeat(var(--mega-menu-column-cloned-wrap), 1fr);
    grid-auto-flow: column;
    gap: 0 15px; }
  .mega-menu-container .childfree-parent {
    display: none; }
  .mega-menu-container .column-spanned > a {
    visibility: hidden; }
  .mega-menu-container .cloned-to-seperate-row {
    display: none; }
  .mega-menu-container li.is-submenu-parent.account-menu-container {
    position: relative; }
    .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
      position: absolute;
      top: 100%;
      right: 0;
      background-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
          width: 550px;
          display: none; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container li.is-submenu-parent.account-menu-container:hover ul.account-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding-left: 0;
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a:before {
      display: none; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > ul.submenu {
      display: none; } }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li:hover .image {
    opacity: .6;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li .image {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .mega-menu-container .persistent-ebg-images .persistent-ebg-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 10px;
    border-radius: 10px; }
    .mega-menu-container .persistent-ebg-images .persistent-ebg-image img {
      width: 150px;
      border-radius: 10px; }

.mega-menu-container, .header-menu-right-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container, .header-menu-right-container {
      width: auto; } }
  .mega-menu-container .level2, .header-menu-right-container .level2 {
    left: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 li a, .header-menu-right-container .level2 li a {
        position: relative;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 > li:hover, .header-menu-right-container .level2 > li:hover {
        background-color: transparent; }
        .mega-menu-container .level2 > li:hover > a, .header-menu-right-container .level2 > li:hover > a {
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2.js-dropdown-active, .header-menu-right-container .level2.js-dropdown-active {
        top: 100%; } }
  .mega-menu-container .is-dropdown-submenu, .header-menu-right-container .is-dropdown-submenu {
    min-width: auto; }
  .mega-menu-container .submenu li.is-active, .header-menu-right-container .submenu li.is-active {
    background-color: transparent; }
  .mega-menu-container ul.menu > li:last-child, .header-menu-right-container ul.menu > li:last-child {
    margin-right: 0; }
  .mega-menu-container ul.menu > li:hover, .header-menu-right-container ul.menu > li:hover {
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .mega-menu-container ul.menu > li:hover > a, .header-menu-right-container ul.menu > li:hover > a {
      color: #fb6f21;
      -webkit-transition: color 0.6s ;
      transition: color 0.6s ; }
  .mega-menu-container ul.menu > li:active, .header-menu-right-container ul.menu > li:active {
    background-color: #ffffff; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #333333; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    text-transform: uppercase;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 10px 15px;
        font-size: 1.0625rem;
        font-weight: 500;
        color: #071e83;
        text-align: left; } }
  .mega-menu-container ul.menu > li a, .header-menu-right-container ul.menu > li a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .mega-menu-container ul.menu > li a:hover, .header-menu-right-container ul.menu > li a:hover {
      opacity: 1; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul, .header-menu-right-container ul.menu > li > ul {
      width: 100%;
      padding: 40px 47px;
      z-index: 5000;
      border-width: 0 0 1px;
      border-style: solid;
      border-color: #aeaeae;
      -webkit-box-shadow: 0px 9px 13px 0px rgba(12, 12, 13, 0.22);
              box-shadow: 0px 9px 13px 0px rgba(12, 12, 13, 0.22); } }
  .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
    position: relative;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
        margin: 0; } }
    .mega-menu-container ul.menu > li > ul > li > a:hover, .header-menu-right-container ul.menu > li > ul > li > a:hover {
      color: #fb6f21; }
    .mega-menu-container ul.menu > li > ul > li > a:active, .header-menu-right-container ul.menu > li > ul > li > a:active {
      color: #000000; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #071e83;
      font-size: 1.0625rem;
      font-weight: 500;
      line-height: 1.6;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
          padding: 10px 5px 5px;
          font-size: 0.9375rem;
          font-weight: 500; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul ul, .header-menu-right-container ul.menu > li > ul ul {
      position: relative;
      left: auto !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0;
      margin: 0;
      border: 0; } }
  .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
    color: #071e83;
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.6;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
        padding: 10px 5px 5px;
        font-size: 0.9375rem;
        font-weight: 500; } }
  .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
        width: 100%;
        position: relative; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li:last-child, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child, .header-menu-right-container ul.menu > li > ul ul li:last-child, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child {
        margin-bottom: 10px; } }
    .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
          color: #000000;
          padding: 0 5px 0 5px;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 18px; } }
      .mega-menu-container ul.menu > li > ul ul li > a:hover, .mega-menu-container ul.menu > li > ul ul li > a:hover:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li > a:hover, .header-menu-right-container ul.menu > li > ul ul li > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before {
        color: #fb6f21; }
      .mega-menu-container ul.menu > li > ul ul li > a:active, .mega-menu-container ul.menu > li > ul ul li > a:active:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before, .header-menu-right-container ul.menu > li > ul ul li > a:active, .header-menu-right-container ul.menu > li > ul ul li > a:active:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before {
        color: #071e83; }
    .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more {
      font-weight: 600;
      font-style: normal;
      color: #000000; }
      .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover {
        color: #fb6f21; }

/*
----- Product List -----
Handles the following: 
- Various list views:
  - Table
  - Grid
- Anywhere a product list is show ( search results, product by group, account area pages ) this code will be used.
- This file is NOT dedicated to filters consult filter.scss for that.
- All sorting options ( items per pages, view selection, pagination, items found & sort by )
- No results found.
*/
#bespoke-search-results-container h2 {
  margin: 0 0 25px;
  font-size: 1.0625rem;
  font-weight: 600;
  text-transform: uppercase; }

.search-results-suggestions {
  margin: 0 0 30px; }
  .search-results-suggestions ul {
    margin: auto;
    padding: 0;
    list-style: none; }
    .search-results-suggestions ul ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .search-results-suggestions ul ul li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 10px 0; }
        @media print, screen and (max-width: 39.99875em) {
          .search-results-suggestions ul ul li:nth-child(2n) {
            background-color: #f0f0f0; } }
        @media print, screen and (min-width: 40em) {
          .search-results-suggestions ul ul li {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 33.3%;
                    flex: 0 0 33.3%; }
            .search-results-suggestions ul ul li:nth-child(6n+3) {
              background-color: #f0f0f0; }
            .search-results-suggestions ul ul li:nth-child(6n+2) {
              background-color: #f0f0f0; }
            .search-results-suggestions ul ul li:nth-child(6n+1) {
              background-color: #f0f0f0; } }
  .search-results-suggestions a.suggestion {
    padding: 0 20px;
    color: #000000;
    font-size: 1.0625rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #071e83;
      text-decoration: underline; }
  .search-results-suggestions .third-party-results-container {
    gap: 0;
    margin: 0; }
    .search-results-suggestions .third-party-results-container .description-container p {
      margin: 0 0 5px; }
    .search-results-suggestions .third-party-results-container .description-container p, .search-results-suggestions .third-party-results-container .snippet-container p {
      padding: 0; }
  .search-results-suggestions .result-container {
    padding: 20px; }
    .search-results-suggestions .result-container:nth-child(odd) {
      background-color: #f0f0f0; }

.section-description {
  margin-bottom: 30px; }

.section-heading {
  width: 100%;
  display: block;
  margin: 0 0 20px;
  padding: 10px 15px;
  background-color: #071e83;
  color: #ffffff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 10px; }
  @media screen and (min-width: 81.25em) {
    .section-heading {
      padding: 15px 20px; } }
  .section-heading p {
    margin: 0;
    padding: 0; }

#product-list #groupData {
  margin-bottom: 50px; }

#productListItem .grid-x .cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

.listing-container {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0 0; }
  @media screen and (min-width: 81.25em) {
    .listing-container {
      padding: 20px, 0 0; } }

.contentContainer {
  position: relative; }
  .contentContainer[data-content-updating=true] {
    display: none; }
  @media screen and (min-width: 81.25em) {
    .contentContainer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer #attribute-filters-form {
      max-width: 280px;
      padding: 0 1% 0 0; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer .attributeList {
      width: 180px; } }
  @media screen and (min-width: 100em) {
    .contentContainer .attributeList {
      width: 240px; } }
  .contentContainer #productListItems {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    margin-bottom: 40px; }
    .contentContainer #productListItems .sub-heading-container h2 {
      margin: 0; }
  .contentContainer #productListItems.list {
    margin-top: 15px; }
    .contentContainer #productListItems.list.seperator .rowContainer {
      padding-bottom: 20px; }
      .contentContainer #productListItems.list.seperator .rowContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        background-color: #d0d0d0; }
    .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f0f0f0; }
      .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f0f0f0; }
      .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover {
      -webkit-transition: -webkit-box-shadow 0.8s;
      transition: -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s;
      transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover .description a h3, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover .description a h3 {
        color: #071e83;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .contentContainer #productListItems.list .sub-heading-container {
      margin: 0 0 10px; }
    .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
      margin: 30px 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
          margin: 30px 0 0; } }
    .contentContainer #productListItems.list .headContainer {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding-bottom: 10px;
      margin-bottom: 10px;
      font-size: 1rem;
      font-weight: 600;
      font-family: "Geologica", "Geologica Fallback", "Arial"; }
      .contentContainer #productListItems.list .headContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #aeaeae; }
      .contentContainer #productListItems.list .headContainer p {
        margin: 0;
        padding: 0 5px 10px;
        font-size: 0.9375rem;
        font-weight: 700;
        font-family: "Geologica", "Geologica Fallback", "Arial";
        color: var(--primary-colour-lightness-0);
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .description-col {
        width: 55%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .description-col {
            width: auto;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1; } }
        .contentContainer #productListItems.list .headContainer .description-col p {
          text-align: left; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .code-col {
          width: 11%; } }
      .contentContainer #productListItems.list .headContainer .code-col p {
        text-align: left;
        padding: 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .price-col {
          width: 20%; } }
      .contentContainer #productListItems.list .headContainer .price-col p {
        padding: 0 15px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .quantity-container-col {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-container-col {
            width: 25%;
            margin-left: auto; } }
      .contentContainer #productListItems.list .headContainer .quantity-col {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-col {
            width: 150px; } }
      .contentContainer #productListItems.list .headContainer .basket-col {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .favourite-col {
        width: 25%;
        min-width: 90px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .login-col, .contentContainer #productListItems.list .headContainer .enquiry-col {
        max-width: 25%;
        width: 100%;
        margin: 0 0 0 auto;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .quantity {
        width: 12%; }
      .contentContainer #productListItems.list .headContainer .basket, .contentContainer #productListItems.list .headContainer .favourite {
        width: 9%; }
    .contentContainer #productListItems.list .rowContainer {
      width: 100%;
      position: relative;
      padding: 10px;
      display: grid;
      grid-template-columns: 30% 1fr;
      grid-template-areas: "multimedia-content description" "multimedia-content code" "multimedia-content price" "multimedia-content interactive";
      grid-template-rows: -webkit-min-content -webkit-min-content 1fr -webkit-min-content;
      grid-template-rows: min-content min-content 1fr min-content;
      gap: 10px 20px;
      border-radius: 10px;
      -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      @media print, screen and (min-width: 40em) {
        .contentContainer #productListItems.list .rowContainer {
          grid-template-columns: 20% 1fr; } }
      .contentContainer #productListItems.list .rowContainer .multimedia-content, .contentContainer #productListItems.list .rowContainer > a:first-child {
        grid-area: multimedia-content; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        grid-area: description; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        grid-area: code; }
      .contentContainer #productListItems.list .rowContainer .price-col {
        grid-area: price; }
      .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        grid-area: interactive;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
          gap: 0;
          margin: 10px 0;
          padding: 0; } }
      .contentContainer #productListItems.list .rowContainer:hover {
        background-color: #ffffff;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
        -webkit-transition: -webkit-box-shadow 0.6s;
        transition: -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s;
        transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .contentContainer #productListItems.list .rowContainer > a:first-child {
        -ms-flex-item-align: start;
            align-self: flex-start;
        display: inline-block; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer > a:first-child {
            width: 132px;
            margin: 20px; } }
      .contentContainer #productListItems.list .rowContainer .image {
        --media-aspect-ratio: 1/1;
        border: 1px solid #d0d0d0;
        border-radius: 10px;
        background-color: #ffffff;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .image {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .image {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            overflow: hidden; } }
        .contentContainer #productListItems.list .rowContainer .image img {
          margin: auto;
          border-radius: 10px; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
        margin: 0; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 20px 0; } }
        .contentContainer #productListItems.list .rowContainer .description-col h3 {
          max-width: 245px;
          font-size: 1rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #071e83;
          font-size: 1rem;
          font-weight: 600;
          line-height: 1.3; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #fb6f21;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #d0d0d0b3; }
        .contentContainer #productListItems.list .rowContainer .description-col .specification {
          font-size: 0.875rem;
          font-weight: 400;
          color: #000000; }
          .contentContainer #productListItems.list .rowContainer .description-col .specification p {
            margin: 0; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        font-size: 1rem; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            width: 11%;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            margin: 0;
            padding: 0 10px;
            text-align: left; } }
      .contentContainer #productListItems.list .rowContainer .price-col {
        max-width: 320px;
        font-size: 1rem;
        font-weight: 600;
        color: #071e83; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            max-width: none;
            width: 20%;
            padding: 0 15px; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
        width: 100%; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            -webkit-box-ordinal-group: 7;
                -ms-flex-order: 6;
                    order: 6; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            max-width: 25%; } }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        margin-left: auto; }
      .contentContainer #productListItems.list .rowContainer .stockline-col {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .stockline-col {
            max-width: 25%; } }
      .contentContainer #productListItems.list .rowContainer .quantity-container {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 0 20px; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            width: 25%;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            gap: 0;
            margin-left: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .label {
          display: none; }
        .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
              width: 150px; } }
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
            width: 90px;
            margin: auto auto auto 0; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
                margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
              -webkit-box-pack: center;
                  -ms-flex-pack: center;
                      justify-content: center; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-free-text-container {
            width: 150px; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
          position: relative; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
              width: auto;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-flex: 1;
                  -ms-flex-positive: 1;
                      flex-grow: 1; } }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container .addToBasket {
              margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
              width: 25%;
              min-width: 90px;
              -webkit-box-pack: flex-center;
                  -ms-flex-pack: flex-center;
                      justify-content: flex-center; } }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .label {
        color: #000000;
        font-weight: 600;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .value {
        color: #000000;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .description {
        display: block;
        color: #333333;
        font-weight: 600;
        font-size: 1rem;
        line-height: 1.3; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #fb6f21;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #333333;
        font-size: 1rem; }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label {
          display: none; } }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label + .value {
          margin-left: 0; } }
      .contentContainer #productListItems.list .rowContainer .prices {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        font-size: 0.9375rem; }
        .contentContainer #productListItems.list .rowContainer .prices p {
          margin: 0;
          font-weight: 500; }
        .contentContainer #productListItems.list .rowContainer .prices .price-container {
          width: 100%;
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          text-align: left;
          line-height: 1.3; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container:has(.vat) {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label {
            color: #000000;
            font-weight: 500; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label:not(:empty) {
              margin-right: 5px; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
              width: 100%;
              padding: 0 0 0 5px;
              text-align: right; }
              @media print, screen and (min-width: 40em) {
                .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
                  width: -webkit-fit-content;
                  width: -moz-fit-content;
                  width: fit-content; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
            color: #ff0101;
            font-weight: 500; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
                text-align: right; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .value {
            color: #000000;
            font-weight: 700;
            text-transform: uppercase; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .value {
            color: #000000;
            font-weight: 400;
            font-size: 0.9375rem;
            text-transform: uppercase;
            text-decoration: line-through; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label + .value {
            margin-right: 0;
            margin-left: auto;
            text-align: right; }
      .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-size: 0.9375rem; }
      .contentContainer #productListItems.list .rowContainer .price-container .label, .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-family: "Geologica", "Geologica Fallback", "Arial"; }
      .contentContainer #productListItems.list .rowContainer .price {
        margin: 0; }
        .contentContainer #productListItems.list .rowContainer .price .currency {
          font-size: 1.625rem; }
      .contentContainer #productListItems.list .rowContainer .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        display: inline-block;
        padding-left: 10px;
        color: #333333;
        font-size: 0.75rem;
        font-weight: 400;
        text-align: left;
        white-space: nowrap; }
    .contentContainer #productListItems.list .enquiry-col {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }

.list-category-container {
  width: 100%; }
  .list-category-container:not(:last-child) {
    margin-bottom: 30px; }
  .list-category-container h2 {
    margin-bottom: 10px; }

.third-party-results-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0; }
  .third-party-results-container .result-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0; }
    @media screen and (min-width: 81.25em) {
      .third-party-results-container .result-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 20px; } }
  @media screen and (min-width: 81.25em) {
    .third-party-results-container .image-container {
      width: 150px; } }
  .third-party-results-container .description-container p {
    padding: 0;
    color: #071e83;
    font-size: 1.0625rem;
    font-weight: 600; }
  .third-party-results-container .snippet-container p {
    margin: 5px 0 10px;
    padding: 0;
    color: #333333;
    font-size: 0.875rem;
    line-height: normal; }

/*

---- AXIS Debugger ---- 

This is a side project of mine purly to make dev life a little easier / faster essentially this is just a drawer with a bunch of options to flush cache, set debug levels & clear the console.

*/
.development-drawer-container {
  width: 0;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  border-right: 1px solid #d0d0d0;
  overflow-x: hidden;
  z-index: 8000000000;
  -webkit-transition: width 0.8s;
  transition: width 0.8s; }
  .development-drawer-container.active {
    width: 100%;
    -webkit-transition: width 0.6s;
    transition: width 0.6s; }
    @media screen and (min-width: 81.25em) {
      .development-drawer-container.active {
        width: 225px;
        -webkit-box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12);
                box-shadow: 1px -1px 10px 1px rgba(12, 12, 13, 0.12); } }

.development-drawer {
  height: 100%;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #ebebeb; }
  .development-drawer ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .development-drawer ul li {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .development-drawer .service-worker-container .heading {
    font-size: 1.125rem;
    color: #333333; }
  .development-drawer .heading-container h2 {
    color: #333333;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize; }
  .development-drawer .drawer-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .development-drawer .drawer-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:hover:before {
      color: #071e83;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:active:before {
      color: #fb6f21;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .development-drawer .option {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    border-radius: 5px;
    border: 2px solid #333333;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    cursor: pointer; }
    .development-drawer .option:before {
      display: block;
      font-family: "Font Awesome Solid";
      font-size: 38px;
      color: #333333;
      -webkit-transition: color, font-size 0.8s;
      transition: color, font-size 0.8s; }
    .development-drawer .option[debug-level="1"] {
      border-color: #b20c28; }
      .development-drawer .option[debug-level="1"]:before {
        font-size: 41.8px;
        color: #b20c28;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="2"] {
      border-color: #b20c43; }
      .development-drawer .option[debug-level="2"]:before {
        font-size: 45.6px;
        color: #b20c43;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="3"] {
      border-color: #b20c5f; }
      .development-drawer .option[debug-level="3"]:before {
        font-size: 49.4px;
        color: #b20c5f;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="4"] {
      border-color: #b20c7b; }
      .development-drawer .option[debug-level="4"]:before {
        font-size: 53.2px;
        color: #b20c7b;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option.clear-cache:before {
      content: ""; }
    .development-drawer .option.clear-console:before {
      content: ""; }
    .development-drawer .option.set-debugging-level:before {
      content: ""; }
    .development-drawer .option.axis-test-mode:before {
      content: ""; }
    .development-drawer .option.site-style:before {
      content: ""; }
    .development-drawer .option:hover {
      background-color: #ffffff;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .development-drawer .option:hover:before {
        color: #071e83;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #fb6f21;
      border-color: #aeaeae;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
      .development-drawer .option:active:before {
        color: #aeaeae; }
  .development-drawer .slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #ffffff; }
    .development-drawer .slider .label {
      font-size: 1rem;
      font-weight: 600; }
      .development-drawer .slider .label [data-slider-value] {
        font-weight: 700; }
    .development-drawer .slider input {
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
  .development-drawer .switch {
    height: auto; }

.option-controls-container, .child-controls-container {
  max-height: 0;
  height: auto;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .option-controls-container.active, .child-controls-container.active {
    max-height: 500px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

:root {
  --primary-colour-lightness-0: #071e83;
  --primary-colour-lightness-1: #0926a6;
  --primary-colour-lightness-2: #0b2eca;
  --primary-colour-lightness-3: #0d36ed;
  --primary-colour-lightness-4: #2b50f4;
  --primary-colour-lightness-5: #4e6df6;
  --primary-colour-lightness-6: #728bf7;
  --primary-colour-lightness-7: #95a8f9;
  --primary-colour-lightness-8: #b8c5fb;
  --primary-colour-lightness-9: #dce2fd;
  --primary-colour-lightness-10: #edf0fe;
  --secondary-colour-lightness-0: #fb6f21;
  --secondary-colour-lightness-1: #fb7d37;
  --secondary-colour-lightness-2: #fc8c4d;
  --secondary-colour-lightness-3: #fc9a64;
  --secondary-colour-lightness-4: #fda97a;
  --secondary-colour-lightness-5: #fdb790;
  --secondary-colour-lightness-6: #fdc5a6;
  --secondary-colour-lightness-7: #fed4bc;
  --secondary-colour-lightness-8: #fee2d3;
  --secondary-colour-lightness-9: #fff1e9;
  --secondary-colour-lightness-10: #fff8f4;
  --accent-colour-1-lightness-0: #c00000;
  --accent-colour-1-lightness-1: #e00000;
  --accent-colour-1-lightness-2: #ff0101;
  --accent-colour-1-lightness-3: #ff2020;
  --accent-colour-1-lightness-4: #ff4040;
  --accent-colour-1-lightness-5: #ff6060;
  --accent-colour-1-lightness-6: #ff8080;
  --accent-colour-1-lightness-7: #ffa0a0;
  --accent-colour-1-lightness-8: #ffbfbf;
  --accent-colour-1-lightness-9: #ffdfdf;
  --accent-colour-1-lightness-10: #ffefef;
  --accent-colour-2-lightness-0: #2b579a;
  --accent-colour-2-lightness-1: #3265b2;
  --accent-colour-2-lightness-2: #3b73c8;
  --accent-colour-2-lightness-3: #5485cf;
  --accent-colour-2-lightness-4: #6c96d6;
  --accent-colour-2-lightness-5: #85a8dd;
  --accent-colour-2-lightness-6: #9db9e4;
  --accent-colour-2-lightness-7: #b6cbeb;
  --accent-colour-2-lightness-8: #cedcf1;
  --accent-colour-2-lightness-9: #e7eef8;
  --accent-colour-2-lightness-10: #f3f6fc;
  --accent-colour-3-lightness-0: #ffec41;
  --accent-colour-3-lightness-1: #ffee54;
  --accent-colour-3-lightness-2: #fff067;
  --accent-colour-3-lightness-3: #fff27a;
  --accent-colour-3-lightness-4: #fff48d;
  --accent-colour-3-lightness-5: #fff6a0;
  --accent-colour-3-lightness-6: #fff7b3;
  --accent-colour-3-lightness-7: #fff9c6;
  --accent-colour-3-lightness-8: #fffbd9;
  --accent-colour-3-lightness-9: #fffdec;
  --accent-colour-3-lightness-10: #fffef6;
  --accent-colour-4-lightness-0: #a234e3;
  --accent-colour-4-lightness-1: #ab48e6;
  --accent-colour-4-lightness-2: #b55de9;
  --accent-colour-4-lightness-3: #be71eb;
  --accent-colour-4-lightness-4: #c785ee;
  --accent-colour-4-lightness-5: #d19af1;
  --accent-colour-4-lightness-6: #daaef4;
  --accent-colour-4-lightness-7: #e3c2f7;
  --accent-colour-4-lightness-8: #ecd6f9;
  --accent-colour-4-lightness-9: #f6ebfc;
  --accent-colour-4-lightness-10: #faf5fe;
  --neutral-colour-lightness-0: #333333;
  --neutral-colour-lightness-1: #474747;
  --neutral-colour-lightness-2: #5c5c5c;
  --neutral-colour-lightness-3: #707070;
  --neutral-colour-lightness-4: #858585;
  --neutral-colour-lightness-5: #999999;
  --neutral-colour-lightness-6: #adadad;
  --neutral-colour-lightness-7: #c2c2c2;
  --neutral-colour-lightness-8: #d6d6d6;
  --neutral-colour-lightness-9: #ebebeb;
  --neutral-colour-lightness-10: whitesmoke;
  --black-colour: #000000;
  --white-colour: #ffffff;
  --success-colour-lightness-0: #12811f;
  --success-colour-lightness-1: #16a127;
  --success-colour-lightness-2: #1bc12e;
  --success-colour-lightness-3: #20e036;
  --success-colour-lightness-4: #40e453;
  --success-colour-lightness-5: #60e970;
  --success-colour-lightness-6: #80ed8c;
  --success-colour-lightness-7: #9ff2a9;
  --success-colour-lightness-8: #bff6c6;
  --success-colour-lightness-9: #dffbe2;
  --success-colour-lightness-10: #effdf1;
  --warning-colour-lightness-0: #ff5e05;
  --warning-colour-lightness-1: #ff6e1e;
  --warning-colour-lightness-2: #ff7e37;
  --warning-colour-lightness-3: #ff8e50;
  --warning-colour-lightness-4: #ff9e69;
  --warning-colour-lightness-5: #ffaf82;
  --warning-colour-lightness-6: #ffbf9b;
  --warning-colour-lightness-7: #ffcfb4;
  --warning-colour-lightness-8: #ffdfcd;
  --warning-colour-lightness-9: #ffefe6;
  --warning-colour-lightness-10: #fff7f3;
  --alert-colour-lightness-0: #b20c0c;
  --alert-colour-lightness-1: #d00e0e;
  --alert-colour-lightness-2: #ee1010;
  --alert-colour-lightness-3: #f12d2d;
  --alert-colour-lightness-4: #f34b4b;
  --alert-colour-lightness-5: #f56969;
  --alert-colour-lightness-6: #f78787;
  --alert-colour-lightness-7: #f9a5a5;
  --alert-colour-lightness-8: #fbc3c3;
  --alert-colour-lightness-9: #fde1e1;
  --alert-colour-lightness-10: #fef0f0;
  --contained-content-max-width: 1300px;
  --uncontained-content-max-width: 1920px;
  --primary-font: Geologica, Geologica Fallback, Arial;
  --smooth-edges-enabled: true;
  --smooth-edges-level: 10px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.6;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 10px; }

@font-face {
  font-family: "Geologica Fallback";
  src: local("Arial");
  size-adjust: 104.23%;
  ascent-override: 97.5%;
  descent-override: 27.5%;
  line-gap-override: 0%; }

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }

body.scrollLock {
  overflow-y: hidden; }

main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  main > div {
    width: 100%; }

.image img {
  max-height: 100%; }

@media screen and (min-width: 81.25em) {
  .grid-x {
    max-width: 1920px; } }

.grid-x:not(.grid-margin-x) {
  max-width: 100%;
  width: 100%;
  margin: 0 auto; }

.grid-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .grid-container {
      padding: 0; } }
  .grid-container.container-grow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .grid-container.container-grow .align-center {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }

@media print, screen and (max-width: 81.24875em) {
  hr.mobile-seperator {
    margin: 30px 0; } }

#footer-gtm-widget {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    #footer-gtm-widget {
      margin-top: 50px;
      margin-bottom: 50px; } }

#group-banner-carousel-container, .group-banner {
  margin-bottom: 20px; }

@media screen and (min-width: 81.25em) {
  #categoryGridOverride .large-2 {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    width: 18.33333%;
    float: left; } }
  @media screen and (min-width: 81.25em) and (min-width: 40em) {
    #categoryGridOverride .large-2 {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
    #categoryGridOverride .large-2, #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: left;
      clear: none; }
    #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: right; } }

#categoryHeading, #productListHeading {
  margin-bottom: 20px; }

.popup-container {
  position: relative; }

#basketSummaryContainer:hover #noJsBasketNotification {
  opacity: 1;
  visibility: visible;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-bottom: 5px solid #071e83; }

#register-submit {
  margin-top: 10px; }

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #071e83;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-family: "Geologica", "Geologica Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #fb6f21; }
  .forgotten-password-link:active {
    color: #071e83; }

xmp {
  padding: 10px;
  border: 1px solid #d0d0d0;
  white-space: inherit; }

.animate__animated:not(.animated-content-active) {
  visibility: hidden; }

.json-code-block code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f0f0f0;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .json-code-block code {
      padding: 10px 35px; } }
  .json-code-block code:hover {
    border-color: #333333;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .json-code-block code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .json-code-block code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .json-code-block code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .json-code-block code .code-copy-button:hover {
      background-color: #071e83;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .json-code-block code .code-copy-button.active, .json-code-block code .code-copy-button:active {
      background-color: #071e83; }
      .json-code-block code .code-copy-button.active:before, .json-code-block code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .json-code-block code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .json-code-block code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpbnRlcnN0b2tlL2FwcC5jc3MiLCJ3aW50ZXJzdG9rZS9hcHAuc2NzcyIsIi4uL2dsb2JhbC9fZnVuY3Rpb25zLnNjc3MiLCJ3aW50ZXJzdG9rZS9icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2dsb2JhbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBSTBJRSwyR0FBWTtBQ3BLaEI7Ozs7RUxnQ0U7QUt4QkY7RUFDRSxpREFBOEQ7RUFDOUQsMERBQThDLEVBQUE7O0FBR2hEO0VBQ0Usb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJDOEI2QjtFRDdCN0Isb0hBQzhELEVBQUE7O0FBR2hFOztFQUVFLGdCQUFnQixFQUFBOztBQUloQjtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFB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WCxrQkQ4Qlk7SUM3QloseUJQOERlO0lPN0RmLGVFdEJ3RDtJRnVCeEQsZ0JQd0ZTO0lPdEZULG9CRG1DWTtJQ2pDUixtQlBsRGE7SU9xRGIsZ0JESmUsRUFBQTtFQ25CM0I7SUEyQlEsU1BtRVE7SU9sRVIsY1BsRlM7SU9tRlQsb0JQZ0RVO0lPL0NWLGVFckN3RDtJRnNDeEQsZ0JQMEVTO0lPeEVULG9CRHFCWSxFQUFBO0VDdERwQjtJQXNDWSxrQkFBa0I7SUFDbEIsY050SEs7SU13SFQsU1BzRE87SU9yRFAsaUJQTGM7SU9NZCxvQkVsRHdEO0lGbUR4RCxnQlBzQlM7SU9yQlQseUJQaUJlO0lPZlgsa0JQV1E7SU9SWixvQkRLWTtJQ0hSLHlCUHZHTztJTzBHUCxtQlByRmEsRUFBQTtFTzhCekI7SUErRFEsZVBzQ1k7SU9yQ1osZ0JQZ0NlO0lPL0JmLGNQdkhTO0lPd0hULDJCUHRIYTtJT3VIYixlRTFFd0Q7SUYyRXhELGdCUHVDUztJT3RDVCxrQkFBa0I7SUFPZCxtQlAxR2EsRUFBQTtJUTRHakI7TUQ5RVI7UUErRVksZ0JQaUJxQixFQUFBLEVPZjVCOztBQUVMO0VBQ0ksU0FBUztFQUNULHVEUHhLeUQ7RU95S3pELGlCRTdGNEQ7RUY4RjVELGdCRGJZO0VDY1osY1A5SWEsRUFBQTtFT3lJakI7SUFhUSxXQUFXO0lBQ1gsU0RmTztJQ2dCUCxnQlBDYTtJT0FiLDJCUHZKYTtJT3dKYixrQkFBa0I7SUFDbEIsZUU1R3dEO0lGNkd4RCxnQlBLUztJT0FMLG1CUHpJYTtJTzRJakIsY1BwS1MsRUFBQTtFT3lJakI7SUE4QlEsa0JBQWtCO0lBQ2xCLGdCRC9CYztJQ2dDZCxpQkQ1QmM7SUM2QmQsb0JFM0h3RDtJRitIeEQseUJQMURlO0lPMkRmLGNQL0tTLEVBQUE7SU95SWpCO01Bd0NZLFdBQVc7TUFDWCxXQUFXO01BQ1gsV0RqTFk7TUNrTFosa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxTQUFTO01BQ1QsdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQk50TXFCLEVBQUE7O0FNME1qQztFQUNJLGNOcE5hO0VNcU5iLGlCRWhKNEQ7RUZpSjVELGdCUCtSTztFTzlSUCx1RFA5TnlELEVBQUE7O0FPc083RDtFQUNJLGNOaE9hO0VNaU9iLGlCRTVKNEQ7RUY2SjVELGdCUG9STztFT25SUCx1RFAxT3lELEVBQUE7O0FPa1A3RDtFQUNJLGNONU9hO0VNNk9iLGlCRXhLNEQ7RUZ5SzVELGdCUHlRTztFT3hRUCx1RFB0UHlELEVBQUE7O0FPZ1E3RDtFQUdZLGNOL1BLO0VNZ1FMLG1CRXhMb0Q7RUZ5THBELGdCQUFnQixFQUFBOztBQU01QjtFQUNJLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBRWxCLHFCQUFxQjtFQUVyQiwyQkFBcUI7TUFBckIsd0JBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQixTQUFTLEVBQUE7RUMzR0w7SURxR1I7TUFRUSxjQUFjO01BQ2QsaUJBQWlCLEVBQUEsRUFXeEI7RUN6SE87SURxR1I7TUFZWSxTQUFTLEVBQUEsRUFRcEI7RUN6SE87SURxR1I7TUFpQlksZ0JBQWdCLEVBQUEsRUFFdkI7O0FBS0w7RUFDSSxxQkQyZjBCO0VDeGYxQixpREFBd0Q7RUFDeEQsZ0JQL05xQjtFT2dPckIsZUU3TjREO0VGOE41RCw0Q05yQ2tCO0VNcUNsQixvQ05yQ2tCLEVBQUE7RU04QnRCO0lBU1EsY043TE0sRUFBQTtJTW9MZDtNQVdZLGNOL0xFLEVBQUE7RU1vTGQ7SUFlUSxjTjdMTSxFQUFBO0lNOEtkO01BaUJZLGNOL0xFLEVBQUE7RU04S2Q7SUFxQlEsY043TE0sRUFBQTtJTXdLZDtNQXVCWSxjTi9MRSxFQUFBO0VNd0tkO0lBMkJRLG1CRWxQd0Q7SUZtUHhELGNQbFNTO0lPbVNULGVBQWUsRUFBQTtJQTdCdkI7TUErQlksWURGRjtNQ0dFLGlCQUFpQjtNQUNqQixtQ04zSitCO01NNEovQixlQUFlLEVBQUE7RUFsQzNCO0lBc0NRLG1CQUFtQjtJQUNuQixZRGkwQ29CLEVBQUE7RUN4MkM1QjtJQTZDWSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHdDRHkyQmtDO0lDcjJCbEMsZ0JQakVPO0lPa0VQLGtCRG8zQnVCLEVBQUE7SUN4NkJuQztNQXNEZ0IsWUQvQk47TUNnQ00sa0JBQWtCO01BQ2xCLHdDRGcyQjhCO01DLzFCOUIsbUNObkwyQjtNTW9MM0Isb0JFalJnRDtNRmtSaEQsOEJOekZNO01NeUZOLHNCTnpGTSxFQUFBO0lNOEJ0QjtNQThEZ0IsMENEMjFCOEIsRUFBQTtNQ3o1QjlDO1FBZ0VvQiwwQ0R5MUIwQjtRQ3gxQjFCLDhCTmhHRTtRTWdHRixzQk5oR0UsRUFBQTtJTStCdEI7TUFxRWdCLHdDRHExQjZCLEVBQUE7TUMxNUI3QztRQXVFb0Isd0NEbTFCeUIsRUFBQTtFQzE1QjdDO0lBZ0ZZLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NEczBCa0M7SUNsMEJsQyxnQlBwR087SU9xR1Asa0JEaTFCdUIsRUFBQTtJQ3g2Qm5DO01BeUZnQixZRG5FTjtNQ29FTSxrQkFBa0I7TUFDbEIsd0NENnpCOEI7TUM1ekI5QixtQ050TjJCO01NdU4zQixvQkVwVGdEO01GcVRoRCw4Qk41SE07TU00SE4sc0JONUhNLEVBQUE7SU04QnRCO01Ba0dnQiwwQ0R1ekI4QixFQUFBO01DejVCOUM7UUFvR29CLDBDRHF6QjBCO1FDcHpCMUIsOEJOcElFO1FNb0lGLHNCTnBJRSxFQUFBO0lNK0J0QjtNQXlHZ0Isd0NEaXpCNkIsRUFBQTtNQzE1QjdDO1FBMkdvQix3Q0QreUJ5QixFQUFBO0VDMTVCN0M7SUFvSFksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWix3Q0RreUJrQztJQzl4QmxDLGdCUHhJTztJT3lJUCxrQkQ2eUJ1QixFQUFBO0lDeDZCbkM7TUE2SGdCLFlEckdKO01Dc0dJLGtCQUFrQjtNQUNsQix3Q0R5eEI4QjtNQ3h4QjlCLG1DTjFQMkI7TU0yUDNCLG9CRXhWZ0Q7TUZ5VmhELDhCTmhLTTtNTWdLTixzQk5oS00sRUFBQTtJTThCdEI7TUFxSWdCLDBDRG94QjhCLEVBQUE7TUN6NUI5QztRQXVJb0IsMENEa3hCMEI7UUNqeEIxQiw4Qk52S0U7UU11S0Ysc0JOdktFLEVBQUE7SU0rQnRCO01BNEln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cUI7SVc4WnJCLDhCWDVLVTtJVzRLVixzQlg1S1UsRUFBQTtFV3BRdEI7SUFvYmdCLGNacFpDO0lZcVpELDhCWGxMTTtJV2tMTixzQlhsTE0sRUFBQTtFV25RdEI7SUEyYmdCLGNaL1pDLEVBQUE7RVk1QmpCO0lBaWNZLFlOM0lNO0lNNElOLGtCQUFrQjtJQUNsQixpQ1g1UjJCO0lXNlIzQixrQkh6WG9EO0lHMFhwRCxjWG5icUI7SVdvYnJCLDhCWG5NVTtJV21NVixzQlhuTVUsRUFBQTtFV25RdEI7SUEwY1EscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjYnpINkQ7SWEwSDdELGdCQUFnQixFQUFBO0lKeFNoQjtNSXJLUjtRQStjWSxrQkFBa0IsRUFBQSxFQUV6QjtFSjVTRztJSXJLUjtNQXNkb0IsY0FBYyxFQUFBLEVBRXJCOztBQUliO0VBRVEsNkJYOWRhLEVBQUE7RVc0ZHJCO0lBSVksbUJOaTZCVztJTWg2Qlgsb0JIdFpvRDtJR3VacEQsZ0JOaTZCUTtJTWg2QlIsd0NOaTZCZ0M7SU1oNkJoQyxnQ1hyZHFCO0lXc2RyQixrQk5rNkJVLEVBQUE7SU0zNkJ0QjtNQVlnQixvQkg3WmdEO01HOFpoRCxnQk4wNUJJO01NejVCSix3Q04wNUI0QixFQUFBO0VNeDZCNUM7SUFtQlksZ0JBQWdCLEVBQUE7RUFuQjVCO0lBc0JZLG9CSHZhb0Q7SUd3YXBELGdCTnZkbUI7SU13ZG5CLHdDTmc1QmdDLEVBQUE7O0FNeDZCNUM7RUE0QlEsNkJYeGZhLEVBQUE7RVc0ZHJCO0lBOEJZLGlCTms1QlM7SU1qNUJULG1CSGhib0Q7SUdpYnBELGdCTms1QlE7SU1qNUJSLGNYdmZLO0lXd2ZMLGdDWC9lcUIsRUFBQTs7QVc2Y2pDO0VBc0NRLHdCQUF3QjtFQUN4Qix1RFpwZ0JxRCxFQUFBOztBWTJnQjdEO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFSnRXVDtJSXFXUjtNQUdRLGFBQWEsRUFBQSxFQWdDcEI7RUFuQ0Q7SUFNUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7SUFieEI7TUFlWSxZQUFZLEVBQUE7TUFmeEI7UUFpQmdCLGtCQUFrQixFQUFBO0VBakJsQztJQXNCUSxZQUFZO0lBQ1osYUFBYTtJQUNiLHlCWGhoQnlCO0lXaWhCekIsaUJBQWlCO0lBQ2pCLHlDWGhTYztJV2dTZCxpQ1hoU2MsRUFBQTtJV3NRdEI7TUE0QlkseUJaMWdCSztNWTJnQkwsY1hwaUJLO01XcWlCTCxxQlo1Z0JLO01ZNmdCTCx5Q1h0U1U7TVdzU1YsaUNYdFNVLEVBQUE7O0FXNFN0QjtFQUNJLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FmODBEZjtFZXowRFEsYUFBWTtFQUNaLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZLEVBQUE7RUpsWlo7SVg4dEVKO01lMTBEUSxtQkFBbUIsRUFBQSxFQUUxQjs7QWYyMERMO0VlejBEUSxhQUFhLEVBQUE7RUp4WmI7SVhvdUVKO01lMTBEUSwyQkFBMkI7TUFDM0IsNkJYaGtCUyxFQUFBLEVXNmtCaEI7RWYrekRIO0lleDBEVSw2Qlhwa0JTLEVBQUE7RUo4NEVuQjtJZXYwRFUsaUJBQWlCO0lBQ2pCLGdDWi9pQk8sRUFBQTtJSHczRWY7TWV2MERZLFVOKzNCRixFQUFBOztBVDI4QmQ7RWVyMERRLGFBQWE7RUFDYix5Qlg3a0JTO0VXOGtCVCx5Qlh4a0JTLEVBQUE7RU80SlQ7SVhvdkVKO01ldDBEUSxTQUFTLEVBQUEsRUFzQ2hCO0VKemRHO0lYNHZFSjtNZXIwRFksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw0QkFBdUI7VUFBdkIsdUJBQXVCLEVBQUEsRUFFOUI7RWZxMERQO0llbDBEVSxhQUFhO0lBQ2IsYU5pOUJtQjtJTWg5Qm5CLG9CSHBoQm9EO0lHc2hCcEQsZ0NaeGtCTyxFQUFBO0lRNElYO01YZ3dFRjtRZWwwRFUsU0FBUztRQUVULFNBQVMsRUFBQSxFQW1CaEI7SWZnekRMO01laDBEWSxVTmcyQkY7TU0vMUJFLHVEWjFtQjZDLEVBQUE7TVFpS3JEO1FYNHdFQTtVZTl6RFksZ0JBQWdCLEVBQUEsRUFTdkI7TWZ1ekRQO1FlN3pEYyxhQUFhLEVBQUE7TUo1Y3pCO1FYNHdFQTtVZTd6RFksVU5xMUJOO1VNcDFCTSwrQlo1bEJELEVBQUEsRVk4bEJOOztBSnZkTDtFWHN4RU47SWV2ekRzQixpQkFBaUIsRUFBQSxFQUV4Qjs7QWZ3ekRqQjtFZW56RGdCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsMkJBQXFCO01BQXJCLHdCQUFxQjtVQUFyQixxQkFBcUIsRUFBQTs7QWZzekRyQztFZW56RGdCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0Fmc3pEakM7RWVqekRRLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsY1p2bkJXLEVBQUE7RVEwSVg7SVhpeUVKO01lbHpEUSxhQUFhLEVBQUEsRUFLcEI7RWYreURIO0llanpEVSxVTml6QkUsRUFBQTs7QUV4eUNOO0VJNGZSO0lBR1ksb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsV0FBa0QsRUFBQSxFQUV6RDs7QUpuZ0JHO0VJNGZSO0lBV2dCLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixjQUFjLEVBQUEsRUFRckI7O0FBcEJUO0VBZWdCLFVBQVUsRUFBQTtFSjNnQmxCO0lJNGZSO01BaUJvQixZQUFZLEVBQUEsRUFFbkI7O0FKL2dCTDtFSTRmUjtJQXdCWSxXQUFXO0lBQ1gsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLG1CQUFlO1FBQWYsZUFBZSxFQUFBLEVBWXRCOztBSnBpQkc7RUk0ZlI7SUFnQ2dCLGFBQWEsRUFBQSxFQUVwQjs7QUo5aEJEO0VJNGZSO0lBcUNnQixXQUFXLEVBQUEsRUFFbEI7O0FKbmlCRDtFSTRmUjtJQTRDWSx3QkFBa0I7UUFBbEIscUJBQWtCO1lBQWxCLGtCQUFrQixFQUFBLEVBRXpCOztBSjFpQkc7RUk0ZlI7SUFxRG9CLDhCQUE4QixFQUFBLEVBQ2pDOztBSmxqQlQ7RUk0ZlI7SUE0RG9CLDhCQUE4QixFQUFBLEVBQ2pDOztBSnpqQlQ7RUk0ZlI7SUFvRW9CLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsV0FBVyxFQUFBO0VBdEUvQjtJQXlFb0IsVUFBVSxFQUFBO0VBekU5QjtJQTZFb0IsY0FBYztJQUNkLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUE5RXZDO01BaUZ3QixhQUFhLEVBQUE7SUFqRnJDO01BcUZ3QixjQUFjLEVBQUE7RUFyRnRDO0lBeUZvQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QixFQUFBLEVBQzFCOztBSnRsQlQ7RVgwMkVOO0llNXdETSxhQUFhLEVBQUEsRUFFcEI7O0FBQ0Q7RUFDSSxjQUFjLEVBQUE7RUo3bEJWO0lJNGxCUjtNQUdRLGFBQWEsRUFBQSxFQXlHcEI7RUo3c0JPO0lJaW1CUjtNQU9ZLGFBQWEsRUFBQSxFQUVwQjtFQVRMO0lBYVEseUJacHZCVyxFQUFBO0lZdXVCbkI7TUFlWSxrQkFBa0IsRUFBQTtJQWY5QjtNQWtCWSw4QlhycUJFLEVBQUE7TVdtcEJkO1FBb0JnQixjWHZxQkYsRUFBQTtJV21wQmQ7TUF3QlksOEJYcnFCRSxFQUFBO01XNm9CZDtRQTBCZ0IsY1h2cUJGLEVBQUE7SVc2b0JkO01BOEJZLDhCWHJxQkUsRUFBQTtNV3VvQmQ7UUFnQ2dCLGNYdnFCRixFQUFBO0lXdW9CZDtNQXVDd0IsY1o1d0JQLEVBQUE7SVlxdUJqQjtNQTJDb0IsWVoxeEJaLEVBQU87SVkrdUJmO01BK0NnQixpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLG9CQUFnQjtNQUNoQixtQ1hoakJNO01XZ2pCTiwyQlhoakJNLEVBQUE7SVc4ZnRCO01Bc0RnQixtQkFBbUI7TUFDbkIsd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0VBdkRoQztJQTZEUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixrQkFBOEMsRUFBQTtJQWhFdEQ7TUFrRVksZUFBZSxFQUFBO0lBbEUzQjtNQXFFWSxZWmx6QkY7TVltekJFLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IscUJBQXlCO1VBQXpCLGtCQUF5QjtjQUF6Qix5QkFBeUI7TUFDekIsbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVk7TUFFWixpQkFBaUI7TUFDakIsbUNYcm1CeUM7TVdzbUJ6QyxlTnk4R2dDO01NeDhHaEMsY1psekJLLEVBQUE7RVlxdUJqQjtJQWlGUSxhQUFhO0lBQ2Isb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsUUFBUTtJQUNSLGVBQTZCO0lBQzdCLGdCQUFnQjtJQUNoQixtQ1hwbEJjO0lXb2xCZCwyQlhwbEJjLEVBQUE7RVc2ZnRCO0lBMEZRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CSGx4QndELEVBQUE7RUdzckJoRTtJQStGUSxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGNBQWM7SUFDZCxnQk52MEJ1QjtJTXcwQnZCLGNaejBCVyxFQUFBO0VZc3VCbkI7SUF3R2dCLGVBQWUsRUFBQTs7QUFNL0I7RUFFUSxZWi8xQkEsRUFBTzs7QVk2MUJmO0VBS1EsWVpoMkJFLEVBQU87O0FZMjFCakI7RUFTUSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlLEVBQUE7RUFYdkI7SUFhWSxXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixtQ1h4cEJ5QztJV3lwQnpDLGNOb2hCcUQ7SU1uaEJyRCxjWC8yQnFCLEVBQUE7RVc2MUJqQztJQXFCWSxjWnAyQks7SVlxMkJMLDhCWGpvQlU7SVdpb0JWLHNCWGpvQlUsRUFBQTtJVzJtQnRCO01Bd0JnQixjWnYyQkM7TVl3MkJELDhCWHBvQk07TVdvb0JOLHNCWHBvQk0sRUFBQTtFVzJtQnRCO0lBNkJZLGNYejFCdUMsRUFBQTtJVzR6Qm5EO01BK0JnQixjWDMxQm1DLEVBQUE7O0FXazJCbkQ7RUFJZ0IsVU40ZEY7RU0zZEUsOEJYdnBCTTtFV3VwQk4sc0JYdnBCTSxFQUFBOztBV2twQnRCO0VBUWdCLGdCQUFnQjtFQUVoQixTTnNkRjtFTWxkRSwwREFBaUQ7VUFBakQsa0RBQWlEO0VBQ2pELGdFWGpxQk07RVdpcUJOLHdEWGpxQk0sRUFBQTs7QVcrakJiO0VBMEdMLFdBQVcsRUFBQTtFSjV3QlA7SUlrcUJDO01BNEdELG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUIsRUFBQSxFQUs5QjtFSi93Qk87SUk2cEJDO01BZ0hELFdBQVcsRUFBQSxFQUVsQjs7QUFFRDtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0VBTG5CO0lBc0JRLFVOd2FRO0lNdmFSLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLDhCWDFzQmM7SVcwc0JkLHNCWDFzQmMsRUFBQTtJV2tyQnRCO01BMEJZLFdBQVc7TUFDWCxXQUFXO01BQ1gsWUFBWTtNQUNaLGNBQWM7TUFFZCx5QloxN0JPLEVBQUE7RVkyNUJuQjtJQW1DUSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTTndaUTtJTXZaUixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCWDM5QlM7SVc0OUJULGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUVuQixxQlp6OEJXO0lZMDhCWCxhQUFhO0lBQ2IsWUFBWTtJQUNaLHlEQUF5RTtJQUF6RSxpREFBeUUsRUFBQTtJQWpEakY7TUFtRFksV0FBVztNQUVYLGNaaDlCTztNWWk5QlAsbUJIajZCb0Q7TUdrNkJwRCxrQk40WThCO01NM1k5QixnQk4wWTRCLEVBQUE7O0FNcll4QztFQUNJLG1CSHo2QjREO0VHMDZCNUQsa0JOb1lzQztFTW5ZdEMsZ0JOa1lvQztFTWhZcEMsY1o3OUJlLEVBQUE7RVl3OUJuQjtJQU9RLGFBQWE7SUFDYixVQUFVLEVBQUE7O0FKdDFCVjtFSTIxQlI7SUFNb0IsVUFBVSxFQUFBLEVBRWpCOztBSm4yQkw7RUkyMUJSO0lBWWdCLFVBQVUsRUFBQSxFQUVqQjs7QUFkVDtFQWlCWSxhQUFhLEVBQUE7O0FBakJ6QjtFQXNCUSxxQkFBdUU7RUFDdkUsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBO0VKbjNCakI7SUkyMUJSO01BMEJZLHdCQUE4RSxFQUFBLEVBS3JGO0VBL0JMO0lBNkJZLGdCQUFnQixFQUFBOztBSngzQnBCO0VJMjFCUjtJQWtDWSxZQUFZLEVBQUEsRUFvQm5COztBQXRETDtFQXFDWSxnQkFBZ0IsRUFBQTs7QUFyQzVCO0VBeUNnQixnQkFBZ0IsRUFBQTs7QUpwNEJ4QjtFSTIxQlI7SUE4Q2dCLFVBQVUsRUFBQSxFQUVqQjs7QUozNEJEO0VJMjFCUjtJQW1EZ0IsVUFBVSxFQUFBLEVBRWpCOztBQXJEVDtFQXdEUSxTQUFTLEVBQUE7RUF4RGpCO0lBMERZLGdCQUFnQixFQUFBO0VBMUQ1QjtJQTZEWSxrQkFBa0IsRUFBQTtJSng1QnRCO01JMjFCUjtRQStEZ0IsYUFBYSxFQUFBLEVBRXBCO0VBakVUO0lBb0VnQixnQkFBZ0I7SUFDaEIsb0JIMS9CZ0QsRUFBQTtFRDBGeEQ7SUkyMUJSO01BMkVnQixTQUFTLEVBQUEsRUFFaEI7RUp4NkJEO0lJMjFCUjtNQWlGZ0IsVUFBVSxFQUFBLEVBRWpCO0VKOTZCRDtJSTIxQlI7TUF1RmdCLFVBQVUsRUFBQSxFQUVqQjtFSnA3QkQ7SUkyMUJSO01BNkZnQixTQUFTLEVBQUEsRUFFaEI7O0FBL0ZUO0VBa0dRLG1FQUFpQztFQUNqQyxvQ0FBZ0MsRUFBQTtFQW5HeEM7SUFxR1ksOEhBQThIO0lBQzlILG1CQUFtQjtJQUNuQixtREFBbUQsRUFBQTtJQXZHL0Q7TUF5R2dCLDhIQUE4SDtNQUM5SCxtQkFBbUI7TUFDbkIsbURBQW1ELEVBQUE7TUEzR25FO1FBNkdvQixhQUFhLEVBQUE7RUE3R2pDO0lBbUhnQixnQkFBZ0IsRUFBQTtFQW5IaEM7SUF3SGdCLGdCQUFnQixFQUFBOztBQXhIaEM7RUE4SFksZ0JBQWdCLEVBQUE7O0FBOUg1QjtFQWtJZ0IsZ0JBQWdCLEVBQUE7O0FBT2hDO0VBSVEsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixnQ1hob0N5QixFQUFBO0VXMG5DakM7SUFVb0IsU0FBUyxFQUFBOztBQVY3QjtFQW1CZ0IscURBQTRDO1VBQTVDLDZDQUE0QyxFQUFBOztBQW5CNUQ7RUF5QlEsK0RBQXNEO1VBQXRELHVEQUFzRCxFQUFBOztBQXpCOUQ7RUE2QlEsMkdBQWlHO1VBQWpHLG1HQUFpRyxFQUFBOztBQTdCekc7RUFrQ1EsaUJBQWlCLEVBQUE7RUp0Z0NqQjtJSW8rQlI7TUFvQ1ksaUJBQWlCLEVBQUEsRUFFeEI7O0FBdENMO0VBeUNRLFNBQVMsRUFBQTs7QUF6Q2pCO0VBNkNRLHdCQUFnQjtFQUFoQixnQkFBZ0I7RUFDaEIsTUFBTTtFQUNOLCtCQUErQjtFQUMvQixVQUFVLEVBQUE7RUFoRGxCO0lBa0RZLFdBQVc7SUFDWCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxZQUFZO0lBQ1osV0FBVztJQUNYLGdDWGxyQ3FCLEVBQUE7O0FZbENqQzs7Ozs7Ozs7Ozs7O0NoQm0xRkM7QWdCcDBGRDtFQUNFLDZCWkdtQjtFWURqQixtQmJxRHFCLEVBQUE7O0FhL0N6QjtFQUVJLG1CQUFtQjtFQUNuQixZUGtvRHdCLEVBQUE7RU9yb0Q1QjtJQUtNLG9DQUFzRCxFQUFBOztBQUw1RDtFQVNJLG1CQUFtQjtFQUNuQixZUDJuRHdCLEVBQUE7O0FPdG5ENUI7RUFFSSxZUG9uRHdCO0VPbm5EeEIsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUFBOztBQUl6QjtFQUVJLGVBQWUsRUFBQTs7QUFJbkI7RUFFSSw2QlpwQ2lCO0VZcUNqQixjWi9CYSxFQUFBOztBTytKVDtFSzdIUjtJQUlRLGdCQUFpRCxFQUFBLEVBR3BEOztBTHNIRztFSzdIUjtJQVVRLDZCQUFzRixFQUFBLEVBRXpGOztBQUlMO0VBQ0UsZWIwSWM7RWF6SWQsV0FBVztFQUNYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0VBQ2YsYUFBYSxFQUFBO0VMbUdQO0lLeEdSO01BY0ksZ0JiOEhjO01hN0hkLFlBQVksRUFBQSxFQWdRZjtFQS9RRDtJQWtCSSxjQUFjLEVBQUE7RUFsQmxCO0lBcUJJLGVBQWUsRUFBQTtFQXJCbkI7SUF3Qk0sV0FBVztJQUNYLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQWU7UUFBZixlQUFlO0lBRWYsdUJBQTJCO1FBQTNCLG9CQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFFbkIsY1B3akJXO0lPdmpCWCxlSmIwRCxFQUFBO0lEMEZ4RDtNSzdHUjtRQWtDUSxjUHNqQlMsRUFBQSxFTzdnQmQ7SUEzRUg7TUFzQ1UsNEJBQStFO01BQy9FLDRCQUFRO1VBQVIsaUJBQVE7Y0FBUixRQUFRO01BQ1IsMkJBQTJCO01BQzNCLDRCYjdDZSxFQUFBO01RaUhqQjtRSzdHUjtVQTJDWSxxQ0FBd0g7VUFDeEgsbUJBQU87Y0FBUCxXQUFPO2tCQUFQLE9BQU8sRUFBQSxFQUdWO0lBL0NUO01BaURVLDRCQUFRO1VBQVIsaUJBQVE7Y0FBUixRQUFRLEVBQUE7SUFqRGxCO01Bb0RVLDRCQUFRO1VBQVIsaUJBQVE7Y0FBUixRQUFRLEVBQUE7SUFwRGxCO01BdURVLDRCQUFRO1VBQVIsaUJBQVE7Y0FBUixRQUFRLEVBQUE7SUF2RGxCO01BNERVLFNBQVMsRUFBQTtJQTVEbkI7TUErRFUsV0FBVztNQUNYLGNBQWM7TUFDZCxjWnZHdUI7TVl3R3ZCLG9CSi9Dc0Q7TUlnRHRELGtCQUFrQixFQUFBO0lMMENwQjtNSzdHUjtRQXdFVSxnQlAraEJRLEVBQUEsRU83aEJYO0VMbUNDO0lLN0dSO01BOEVNLGdCQUFnQjtNQUNoQixtQkFBbUIsRUFBQSxFQUV0QjtFQWpGSDtJQW1GSSxnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7RUFwRnZCO0lBMEZRLHVCUDZlK0I7SU81ZS9CLFNBQVMsRUFBQTtFTGtCVDtJSzdHUjtNQWtHTSxnQkFBZ0I7TUFDaEIsV0FBVztNQUNYLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZLEVBQUEsRUFFZjtFQXRHSDtJQXdHSSxZQUFZLEVBQUE7SUF4R2hCO01BMEdNLHFCYnpJYSxFQUFBO0VRNElYO0lLN0dSO01BZ0hNLHNCQUFpRCxFQUFBLEVBRXBEO0VBbEhIO0lBb0hNLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLDBCQUFxQjtRQUFyQixxQkFBcUIsRUFBQTtFQXJIM0I7SUF3SE0sV0FBVztJQUNYLG1CQUFtQixFQUFBO0lBekh6QjtNQTJIVSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BRWpCLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCLEVBQUE7SUx0QjNCO01LeEdSO1FBbUljLFlQK2RFLEVBQUEsRU83ZFQ7RUFySVA7SUF3SU0sV0FBVyxFQUFBO0lBeElqQjtNQTBJVSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BRWpCLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCLEVBQUE7SUxyQzNCO01LeEdSO1FBa0pjLFlQaWRHLEVBQUEsRU8vY1Y7RUFwSlA7SUF1SkksV0FBVyxFQUFBO0lBdkpmO01BeUpRLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsdUJBQTJCO1VBQTNCLG9CQUEyQjtjQUEzQiwyQkFBMkIsRUFBQTtJTG5EM0I7TUt4R1I7UUFnS1ksWVBvY0ksRUFBQSxFT2xjWDtFQWxLTDtJQXNLUSxXQUFXLEVBQUE7RUF0S25CO0lBMEtJLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQixFQUFBO0lBMUsxQjtNQTRLTSxtQkFBbUIsRUFBQTtJTHBFakI7TUt4R1I7UUFnTFUsWUFBWSxFQUFBLEVBRWpCO0VBbExMO0lBcUxJLFdidENXO0lhdUNYLGtCUHFiaUI7SU9wYmpCLGtCQUFrQixFQUFBO0lMMUVkO01LN0dSO1FBMExNLFliMUNVO1FhMkNWLGdCQUFnQixFQUFBLEVBT25CO0lBbE1IO01BK0xNLGNBQWM7TUFDZCxrQkFBa0IsRUFBQTtFQWhNeEI7SUFvTU0scUJBQXFCLEVBQUE7RUFwTTNCO0lBeU1JLFdBQVc7SUFDWCxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLG1DWkFrQjtJWUFsQiwyQlpBa0IsRUFBQTtJWTVNdEI7TUE4TU0saUJBQWlCO01BQ2pCLG1DWkpnQjtNWUloQiwyQlpKZ0IsRUFBQTtFWTNNdEI7SUFxTkksU0FBUyxFQUFBO0lMeEdMO01LN0dSO1FBd05RLFdBQVcsRUFBQSxFQUVkO0lMbEhHO01LeEdSO1FBNk5RLGtCQUFrQjtRQUNsQixpQkFBaUIsRUFBQSxFQUVwQjtJQWhPTDtNQWtPTSxlQUFlLEVBQUE7SUFsT3JCO01BcU9NLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CLEVBQUE7RUFyTzFCO0lBeU9JLFlBQVksRUFBQTtJTDVIUjtNSzdHUjtRQTJPTSx1QkFBMkI7WUFBM0Isb0JBQTJCO2dCQUEzQiwyQkFBMkIsRUFBQSxFQVM5QjtJQXBQSDtNQThPTSxXQUFXO01BQ1gsa0JBQWtCLEVBQUE7TUxsSWhCO1FLN0dSO1VBaVBRLFlBQVksRUFBQSxFQUVmO0VBblBMO0lBc1BJLFVBQVUsRUFBQTtFQXRQZDtJQXlQSSxVQUFVLEVBQUE7RUxqSk47SUt4R1I7TUE2UE0sVUFBVSxFQUFBLEVBRWI7RUx2Sks7SUt4R1I7TUFrUU0sVUFBVSxFQUFBLEVBRWI7RUx2Sks7SUs3R1I7TUF1UU0sVUFBVSxFQUFBLEVBRWI7RUw1Sks7SUs3R1I7TUE0UU0sVUFBVSxFQUFBLEVBRWI7O0FBR0g7RUFJRSxtQkFBbUIsRUFBQTtFSGsyRVQ7SUFFSSxnQkp0cENPLEVBQUE7SUl1cENQO01BRUkscUJBQXFCLEVBQUE7SUFHckI7TUFDSSxxQkFBcUI7TUFDckIsaUJBQWlCO01BQ2pCLGlDVG5oRmUsRUFBQTtFU3VoRjNCO0lBQ0ksWUovNEVMLEVBQU87RUlvNUVOO0lBQ0ksWUpwNUVEO0lJcTVFQyxpQ0FBaUQ7WUFBakQseUJBQWlELEVBQUE7RUFXekQ7SUFHSSwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUVwQiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsVUFMNkI7SUFPN0IsZ0JKOXJDVyxFQUFBO0VJa3NDZjtJQUNJLGVBQWUsRUFBQTtFQXBPdkI7SUFDSSwrQkFBbUQ7SUFDbkQsbUJEajdFd0Q7SUNrN0V4RCxnQlZuN0V1QjtJVW83RXZCLGdCSnQrRWlCO0lJdStFakIsY1R6L0VTLEVBQUE7SVM0L0VUO01BQ0ksd0JBQXdCLEVBQUE7SUFHNUI7TUFDSSx3QkFBd0IsRUFBQTtJQUU1QjtNQUNJLGNBQWMsRUFBQTtJQUVsQjtNQUNJLGFWbDZFcUI7TVVtNkVyQixnQlZuNkVxQixFQUFBO0VVZzdFN0I7SUFFSSxnQkFBZ0IsRUFBQTtFQUVwQjtJQUNJLFlKdi9CYztJSXcvQmQsVUFBVTtJQUNWLGdCSjFnRmlCO0lJNGlDckIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBO0lBKzlDYjtNQUVJLGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsa0JKNy9CYSxFQUFBO0lJcmVyQjtNQUNJLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtNQUNuQjtRQUNJLFdBQVc7UUFDWCxVSng1Qks7UUl5NUJMLFdKejVCSztRSTA1Qkwsa0JBQWtCO1FBQ2xCLFNBQVM7UUFFVCxPQUFPO1FBQ1AsWUFBWTtRQUNaLGNBQWM7UUFDZCx5QlZ2akNLO1FVd2pDTCxrQlRyMUJPLEVBQUE7RVNvekVmO0lBQ0ksWUozZ0NjO0lJNGdDZCxlSjFnQ2lCO0lJMmdDakIsZ0JKOWhGaUIsRUFBQTtJSStoRmpCO01BQ0ksU0FBUztNQUNULGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsNEJBQTRCLEVBQUE7TUFDNUI7UUFDSSw0QkFBNEIsRUFBQTtRQUM1QjtVQUNJLDRCQUE0QixFQUFBO1VBQzVCO1lBQ0ksNEJBQTRCLEVBQUE7RUFNaEQ7SUFDSSxjVGxrRlM7SVNta0ZULG1CRDkvRXdEO0lDKy9FeEQsZ0JWaGdGdUI7SVVpZ0Z2QixnQkpuakZpQixFQUFBO0VJeWpGckI7SUFDSSxnQlZyK0VRLEVBQUE7RVV1K0VaO0lBQ0ksZ0JWditFUSxFQUFBO0VVeStFWjtJQUNJLGFWNytFeUIsRUFBQTtFVSsrRTdCO0lBQ0ksYVZoL0V5QixFQUFBO0VVay9FN0I7SUFDSSxhVm4vRXlCLEVBQUE7RVVxL0U3QjtJQUNJLGFWdC9FeUIsRUFBQTtFVXcvRTdCO0lBQ0ksZ0JBQWdCLEVBQUE7RUczeEV4QjtJQU9JLGVKclE0RCxFQUFBO0VJOFBoRTtJQVdNLGVKelEwRCxFQUFBO0VJOFBoRTtJQWVJLGNQNlZpQyxFQUFBO0VPNVdyQztJQWtCSSxXQUFXLEVBQUE7O0FBSWY7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBV3BCO0VBQ0UsY1ozVitCO0VZNFYvQixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixrQ1o3R29CO0VZNkdwQiwwQlo3R29CO0VZOEdwQixnQkFBZ0I7RUFLZCw0QmJuVXFCLEVBQUE7RVFpSGpCO0lLdU1SO01BY0ksZUFBZSxFQUFBLEVBd0JsQjtFQXRDRDtJQWlCSSw2REFBcUQ7WUFBckQscURBQXFEO0lBQ3JELDRCWjNIa0I7SVkySGxCLG9CWjNIa0IsRUFBQTtJWXlHdEI7TUFvQk0sNERBQW9EO2NBQXBELG9EQUFvRDtNQUVwRCw0QlovSGdCO01ZK0hoQixvQlovSGdCLEVBQUE7RVl5R3RCO0lBMkJNLHFCYjlXYSxFQUFBO0VhbVZuQjtJQW1DTSw0QkFBd0YsRUFBQTs7QUFLOUY7RUFDRSxXUCsxQzBCO0VPOTFDMUIsWVB3TzBCO0VPdk8xQixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHFCYmhZaUI7RWFpWWpCLG1CQUFtQjtFQUNuQiwyQkFBMkI7RUFDM0IsNEJaeEpvQjtFWXdKcEIsb0JaeEpvQixFQUFBO0VZZ0p0QjtJQVVJLFlQOUZpQjtJTytGakIsaUNaeFBtQztJWXlQbkMsZ0JBQWdCO0lBQ2hCLDRCYnRZZTtJYXVZZiw4Qlo5SmtCO0lZOEpsQixzQlo5SmtCLEVBQUE7RU8vRmQ7SUsrT1I7TUFrQk0sY2J0WVc7TWF1WVgsOEJacEtnQjtNWW9LaEIsc0JacEtnQixFQUFBLEVZcUtqQjtFQXBCTDtJQXdCTSxjYjVZVztJYTZZWCw4QloxS2dCO0lZMEtoQixzQloxS2dCLEVBQUE7RVlpSnRCO0lBNkJJLHlEWnJLOEM7WVlxSzlDLGlEWnJLOEMsRUFBQTs7QVl5S2xEO0VBQ0UsYUFBYSxFQUFBOztBQUtmO0VIdEZJLHFDQUFnQztFQXVCNUIsV0dnRW9OO0VIaER4TixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNWN1hhO0VVOFhiLHlCSm9ka0U7RUluZGxFLGlCSitjNEI7RUk5YzVCLGtCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCLEVBQUE7RU8vRmQ7SUtzUlI7TUhBUSwwQkdDd087TUhEeE8sdUJHQ3dPO01IRHhPLGtCR0N3TztNSEF4Tyw0Q0FBa0UsRUFBQSxFR1V6RTtFSExHO0lBQ0k7TUFDSSxjVGhjSztNU2ljTCx5QlZ4YUs7TVUwYUQscUJUelptQztNUzZadkMscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVjNiUztJVTZiTCxxQlY3Yks7SVVpY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUlRLGNYekp5RDtJVzhKekQseUJUOWVLO0lTbWZMLHNDVjdkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDVjFlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBO0VZdUx0QjtJSHRGSSxxQ0FBZ0M7SUF1QjVCLFdHa0VnTjtJSGxEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVDNTVTtJUzRTVix5Qlh2RWlFO0lXd0VqRSxpQkorYzRCO0lJOWM1QixrQkRqVjREO0lDa1Y1RCxnQlZ6SWU7SVUwSWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSTNieEIscUJUM1RNO0lTK1RWLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FIQVEsMEJHR29PO1FISHBPLHVCR0dvTztRSEhwTyxrQkdHb087UUhGcE8sNENBQWtFLEVBQUEsRUdHdkU7SUhFQztNQUNJO1FBQ0ksY1RoY0s7UVNpY0wseUJUdFZFO1FTd1ZFLHFCVHhWRjtRUzRWRixxQkFBcUI7UUFDckIsNEJUeE1VO1FTd01WLG9CVHhNVSxFQUFBO1FTZ05WO1VBQ0kseUJUamRDO1VTa2RELHlDVGxOTTtVU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtJQUdUO01BQ0ksY1R2ZFM7TVN3ZFQseUJKbVo4RDtNSWpaMUQscUJKaVowRDtNSTdZOUQsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO0lTcU9sQjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TbWZMLHNDVjdkTztNVStkWCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDVjFlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVW9nQmpEO01BQ0kseUNUeFNjO01Td1NkLGlDVHhTYyxFQUFBO0VZdUx0QjtJSHRGSSxxQ0FBZ0M7SUF1QjVCLFdHcUVnTjtJSHJEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVHJTVTtJU3NTVix5Qlh2RWlFO0lXd0VqRSxpQkorYzRCO0lJOWM1QixrQkRqVjREO0lDa1Y1RCxnQlZ6SWU7SVUwSWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSTNieEIscUJUclRNO0lTeVRWLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FIQVEsMEJHTW9PO1FITnBPLHVCR01vTztRSE5wTyxrQkdNb087UUhMcE8sNENBQWtFLEVBQUEsRUdNdkU7SUhEQztNQUNJO1FBQ0ksY1RoY0s7UVNpY0wseUJUaFZFO1FTa1ZFLHFCVGxWRjtRU3NWRixxQkFBcUI7UUFDckIsNEJUeE1VO1FTd01WLG9CVHhNVSxFQUFBO1FTZ05WO1VBQ0kseUJUamRDO1VTa2RELHlDVGxOTTtVU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtJQUdUO01BQ0ksY1R2ZFM7TVN3ZFQseUJKbVo4RDtNSWpaMUQscUJKaVowRDtNSTdZOUQsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO0lTcU9sQjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TbWZMLHNDVjdkTztNVStkWCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDVjFlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVW9nQmpEO01BQ0kseUNUeFNjO01Td1NkLGlDVHhTYyxFQUFBO0VZdUx0QjtJSHRGSSxxQ0FBZ0M7SUF1QjVCLFdHd0UwTTtJSHhEOU0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVC9SVTtJU2dTVix5Qlh2RWlFO0lXd0VqRSxpQkorYzRCO0lJOWM1QixrQkRqVjREO0lDa1Y1RCxnQlZ6SWU7SVUwSWYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSTNieEIscUJUL1NNO0lTbVRWLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FIQVEsMEJHUzhOO1FIVDlOLHVCR1M4TjtRSFQ5TixrQkdTOE47UUhSOU4sNENBQWtFLEVBQUEsRUdTdkU7SUhKQztNQUNJO1FBQ0ksY1RoY0s7UVNpY0wseUJUMVVFO1FTNFVFLHFCVDVVRjtRU2dWRixxQkFBcUI7UUFDckIsNEJUeE1VO1FTd01WLG9CVHhNVSxFQUFBO1FTZ05WO1VBQ0kseUJUamRDO1VTa2RELHlDVGxOTTtVU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtJQUdUO01BQ0ksY1R2ZFM7TVN3ZFQseUJKbVo4RDtNSWpaMUQscUJKaVowRDtNSTdZOUQsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO0lTcU9sQjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TbWZMLHNDVjdkTztNVStkWCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDVjFlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVW9nQmpEO01BQ0kseUNUeFNjO01Td1NkLGlDVHhTYyxFQUFBOztBWXFNdEI7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7O0FBRW5CO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7O0FBS2hCO0VIbkhJLHFDQUFnQztFQXVCNUIsV0c2RjRNO0VIN0VoTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNWN1hhO0VVOFhiLHlCSm9ka0U7RUluZGxFLGlCSitjNEI7RUk5YzVCLGtCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCLEVBQUE7RU8vRmQ7SUttVFI7TUg3QlEsMEJHOEJnTztNSDlCaE8sdUJHOEJnTztNSDlCaE8sa0JHOEJnTztNSDdCaE8sNENBQWtFLEVBQUEsRUc4QnpFO0VIekJHO0lBQ0k7TUFDSSxjVGhjSztNU2ljTCx5QlZ4YUs7TVUwYUQscUJUelptQztNUzZadkMscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVjNiUztJVTZiTCxxQlY3Yks7SVVpY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWXdOdEI7RUh2SEkscUNBQWdDO0VBdUI1QixXR2lHbU47RUhqRnZOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Y3WGE7RVU4WGIseUJUdlphO0VTd1piLGlCSitjNEI7RUk5YzVCLGtCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCLEVBQUE7RU8vRmQ7SUt1VFI7TUhqQ1EsMEJHa0N1TztNSGxDdk8sdUJHa0N1TztNSGxDdk8sa0JHa0N1TztNSGpDdk8sNENBQWtFLEVBQUEsRUdrQ3pFO0VIN0JHO0lBQ0k7TUFDSSxjVnZhSztNVXdhTCx5QkppY3dEO01JL2JwRCxxQlYxYUM7TVU4YUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVi9iUztJVWljTCxxQlZqY0s7SVVxY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWTJOdEI7RUgxSEkscUNBQWdDO0VBdUI1QixXR29HK007RUhwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1h0RWlFO0VXdUVqRSx5Qlh2RWlFO0VXd0VqRSxpQkorYzRCO0VJOWM1QixrQkRqVjREO0VDa1Y1RCxnQlZ6SWU7RVUwSWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJWakpnQztFVW9KaEMsc0JWL0k0QztFVWdKNUMsaUJKOGJ3QjtFSTNieEIscUJWaFpXO0VVb1pmLHFCQUFxQjtFQUNyQixjSjBieUI7RUl2YnJCLDhCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJUaExrQjtFU2dMbEIsb0JUaExrQixFQUFBO0VPL0ZkO0lLMFRSO01IcENRLDBCR3FDbU87TUhyQ25PLHVCR3FDbU87TUhyQ25PLGtCR3FDbU87TUhwQ25PLDRDQUFrRSxFQUFBLEVHcUN6RTtFSGhDRztJQUNJO01BQ0ksY1RoY0s7TVNpY0wseUJYakh5RDtNV21IckQscUJYbkhxRDtNV3VIekQscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVi9iUztJVWljTCxxQlQxZEs7SVM4ZFQsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWThOdEI7RUg3SEkscUNBQWdDO0VBdUI1QixXR3VHdU47RUh2RjNOLDJCR3VGZ1E7RUh2RmhRLDJCR3VGZ1E7RUh2RmhRLG9CR3VGZ1E7RUhyRjVQLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsaURBQStDO0VBQy9DLGNUdFphO0VTdVpiLHlCVjFYYTtFVTJYYixpQkorYzRCO0VJOWM1QixrQkRqVjREO0VDa1Y1RCxnQlZ6SWU7RVUwSWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJWakpnQztFVW9KaEMsc0JWL0k0QztFVWdKNUMsaUJKOGJ3QjtFSTNieEIscUJWellTO0VVNlliLHFCQUFxQjtFQUNyQixjSjBieUI7RUl2YnJCLDhCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJUaExrQjtFU2dMbEIsb0JUaExrQixFQUFBO0VPL0ZkO0lLNlRSO01IdkNRLDBCR3dDMk87TUh4QzNPLHVCR3dDMk87TUh4QzNPLGtCR3dDMk87TUh2QzNPLDRDQUFrRSxFQUFBLEVHd0N6RTtFSG5DRztJQUNJO01BQ0ksY1ZuYUs7TVVvYUwseUJUamNLO01TbWNELHFCVnRhQztNVTBhTCxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1Y5YlM7SVUrYlQseUJUeGRTO0lTMGRMLHFCVmpjSztJVXFjVCw0QlQ5TmM7SVM4TmQsb0JUOU5jLEVBQUE7RVNxT2xCO0lBRVEsY1h2SnlEO0lXNEp6RCx5QlQ1ZUs7SVNpZkwsc0NWM2RPO0lVK2RYLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NWeGVPLEVBQUE7RVU4ZWY7SUFDSSxhQUFhO0lBQ2IsNERWbGU2QztZVWtlN0Msb0RWbGU2QyxFQUFBO0VVb2dCakQ7SUFDSSx5Q1R4U2M7SVN3U2QsaUNUeFNjLEVBQUE7O0FZaU90QjtFSGhJSSxxQ0FBZ0M7RUF1QjVCLFdHMEcyTTtFSDFGL00sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVjdYYTtFVThYYix5QlRqWmE7RVNrWmIsaUJKK2M0QjtFSTljNUIsa0JEalY0RDtFQ2tWNUQsZ0JWekllO0VVMElmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUkzYnhCLHFCVmhaVztFVW9aZixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFTy9GZDtJS2dVUjtNSDFDUSwwQkcyQytOO01IM0MvTix1QkcyQytOO01IM0MvTixrQkcyQytOO01IMUMvTiw0Q0FBa0UsRUFBQSxFRzJDekU7RUh0Q0c7SUFDSTtNQUNJLGNWdmFLO01Vd2FMLDJCVnRhUztNVXdhTCxxQlYxYUM7TVU4YUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNWOWJTO0lVK2JULHlCVHhkUztJUzBkTCxxQlZqY0s7SVVxY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWXFPdEI7RUhwSUkscUNBQWdDO0VBdUI1QixXRzhHNEw7RUg5RmhNLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Y3WGE7RVU4WGIsNkJUMVppQjtFUzJaakIsaUJKK2M0QjtFSTljNUIsa0JEalY0RDtFQ2tWNUQsZ0JWekllO0VVMElmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUkzYnhCLHFCVjdZUztFVWlaYixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFT3BHZDtJS3lVUjtNSGxEWSxvREFBb0UsRUFBQSxFR29EL0U7RUx0VU87SUtvVVI7TUg5Q1EsMEJHK0NnTjtNSC9DaE4sdUJHK0NnTjtNSC9DaE4sa0JHK0NnTjtNSDlDaE4sbURBQWtFLEVBQUEsRUcrQ3pFO0VIMUNHO0lBQ0k7TUFDSSxjVGhjSztNU2ljTCx5QlZ4YUs7TVUwYUQscUdKb2lCcUM7TUloaUJ6QyxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1Q3YTJDO0lTOGEzQyx5QlYzYlM7SVU2YkwscUJUaGJ1QztJU29iM0MsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWXdPdEI7RUFDRSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsZUp0YThEO0VJdWE5RCxnQlA4ZmtDO0VPNWZoQyx5QmJuT29DLEVBQUE7RWEyTnhDO0lBV0ksWWJwZU87SWFxZVAsY2IxTjJCO0lhMk4zQixtQ1psUmlEO0lZbVJqRCxtQkFBbUIsRUFBQTtFQWR2QjtJQWlCSSxxQkFBcUIsRUFBQTs7QUFLekI7RUFDRSxrQkFBa0I7RUFDbEIsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUhyQjtJQU1JLFlQNUdnQjtJTzZHaEIsZ0JBQWdCO0lBQ2hCLGNiL2VlO0lhZ2ZmLGlDWnBXbUM7SVlxV25DLFVBQVUsRUFBQTtFQVZkO0lBY0ksd0JBQWlEO0lBQ2pELHlCQUFrRDtJQUNsRCxrQkFBa0I7SUFDbEIsU0FBOEI7SUFDOUIsVUFBK0I7SUFDL0IsWUFOeUI7SUFPekIsMENaN2dCYTtJWThnQmIsY1pqaEJhO0lZa2hCYixrQkFBa0I7SUFDbEIsb0JKOWM0RDtJSStjNUQsZ0JBQWdCO0lBRWQsbUJieGVtQixFQUFBOztBYStlekI7RUg5TEkscUNBQWdDO0VBdUI1QixXR3dLa0s7RUh4SnRLLG9CR3dKb007RUh4SnBNLG9CR3dKb007RUh4SnBNLGFHd0pvTTtFSHRKaE0seUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFHdkIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFHaEIsa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSw0REFBK0M7RUFDL0MsY1RuWmE7RVNvWmIseUJUdlphO0VTd1piLGlCSitjNEI7RUk5YzVCLG1CRGpWNEQ7RUNrVjVELGdCR3VJaUo7RUh0SWpKLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHFCSmdjMkI7RUkvYjNCLGlCSjhid0I7RUkzYnhCLHFCVmhaVztFVW9aZixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0I7RVMwUWQ7Ozs7Ozs7O1NiK3pHQyxFYXZ6R0M7RUZqWEY7SUs4WFI7TUh4R1EsMEJHeUdzTDtNSHpHdEwsdUJHeUdzTDtNSHpHdEwsa0JHeUdzTDtNSHhHdEwsNENBQWtFLEVBQUEsRUd5R3pFO0VIcEdHO0lBQ0k7TUFDSSxjVnZhSztNVXdhTCx5QlZyYU87TVV1YUgscUJWMWFDO01VOGFMLHFCQUFxQjtNQUNyQiw0QlR4TVU7TVN3TVYsb0JUeE1VLEVBQUE7TVMwTU47UUFDQyxjVmxiQTtRVW1iQSw4QlQ1TUs7UVM0TUwsc0JUNU1LLEVBQUE7TVNnTlY7UUFDSSx5QlRqZEM7UVNrZEQseUNUbE5NO1FTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0VBR1Q7SUFDSSxjVHZkUztJU3dkVCx5QlYvYlM7SVVtY0wscUJWbmNLO0lVcWNULDRCVDlOYztJUzhOZCxvQlQ5TmMsRUFBQTtJU2dPVjtNQUNDLGNUamVJLEVBQUE7RVNxZWI7SUFJUSxjWHpKeUQ7SVc4SnpELHlCVDllSztJU21mTCxzQ1Y3ZE87SVUrZFgsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNYeEt3RCxFQUFBO0VXNEtqRTtJQUlRLHNDVjFlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVXVmN0M7SUFDSSxZSnpLRTtJSTBLRixrQkp1cUhRO0lJdHFIUixpQ1QxWDJCO0lTMlgzQixlSjRxSEE7SUl2cUhBLGNUMWZ1QztJUzJmdkMsOEJUcFNVO0lTb1NWLHNCVHBTVSxFQUFBO0VTdVNsQjtJQUNJLHlDVHhTYztJU3dTZCxpQ1R4U2MsRUFBQTs7QVltU3RCO0VBQ0UsU0FBUztFQUNULGFQNnFCd0M7RU81cUJ4QyxvQkovZDhEO0VJZ2U5RCxnQlA2cUIyQztFTzVxQjNDLGNiN2dCaUIsRUFBQTtFYXdnQm5CO0lBT0ksZ0JBQWdCLEVBQUE7O0FBSXBCO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsYVBrcUJ3QztFT2pxQnhDLG9CSjFlOEQ7RUkyZTlELGdCQUFnQjtFQUNoQixjYnhoQmlCO0VheWhCakIseUJiNWhCZTtFYTZoQmYseUJiMWhCaUIsRUFBQTtFYW1oQm5CO0lBU00sY2IvaEJXO0lhZ2lCWCx5QmI3aEJhO0lhOGhCYixxQmJqaUJXLEVBQUE7SWFzaEJqQjtNQWFVLGNibmlCTyxFQUFBO0Vhc2hCakI7SUFpQk0sY2JuaUJXO0lhb2lCWCx5Qlpqa0JXO0lZa2tCWCxxQlpsa0JXLEVBQUE7SVkraUJqQjtNQXFCVSxjYnZpQk8sRUFBQTtFYWtoQmpCO0lBeUJNLFlQaE5vQjtJT2lOcEIsaUJQcXJCd0M7SU9wckJ4Qyx1Qlp4WDRCO0lZeVg1QixlUGtyQnNDO0lPanJCdEMsY2JoakJhLEVBQUE7O0Fhb2pCbkI7RUFDRSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsb0JKOWdCOEQ7RUkrZ0I5RCxnQkFBZ0I7RUFDaEIsY2IvakJlO0VhZ2tCZix5Qlo3a0IrQjtFWThrQi9CLHdFWnpWb0I7RVl5VnBCLGdFWnpWb0IsRUFBQTtFTy9GZDtJSzhhUjtNQVlNLGdCQUFnQjtNQUNoQixrQkpyaEIwRCxFQUFBLEVJcWpCL0Q7RUE3Q0Q7SUFnQk0sY1pobUJXO0lZaW1CWCx5QmJ4a0JXO0lheWtCWCxxQmJ6a0JXO0lhMGtCWCx3RVpuV2dCO0lZbVdoQixnRVpuV2dCLEVBQUE7SVlnVnRCO01BcUJVLGNacm1CTztNWXNtQlAsOEJadFdZO01Zc1daLHNCWnRXWSxFQUFBO0VZZ1Z0QjtJQTBCTSxjYmpsQlc7SWFrbEJYLHlCYi9rQmE7SWFnbEJiLHFCYm5sQlcsRUFBQTtJYXVqQmpCO01BOEJVLGNicmxCTyxFQUFBO0VhdWpCakI7SUFrQ00sWVAxUG9CO0lPMlBwQixpQkFBaUI7SUFDakIsdUJabGE0QjtJWW1hNUIsZUFBZTtJQUNmLGNiN2xCVztJYThsQlgsOEJadFhnQjtJWXNYaEIsc0JadFhnQixFQUFBO0lPL0ZkO01LOGFSO1FBeUNVLGdCQUFnQjtRQUNoQixlQUFlLEVBQUEsRUFFdEI7O0FBR0g7RUg3UkkscUNBQWdDO0VBdUI1QixXR3VRa087RUh2UHRPLG9CR3VQeVE7RUh2UHpRLG9CR3VQeVE7RUh2UHpRLGFHdVB5UTtFSHJQclEseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Y3WGE7RVU4WGIseUJUdlphO0VTd1piLGlCSitjNEI7RUk5YzVCLGtCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCO0VTMFFkOzs7Ozs7OztTYjY5R0MsRWFyOUdDO0VGdFhGO0lLa2VSO01IM01ZLDZDQUFvRSxFQUFBLEVHNk0vRTtFTC9kTztJSzZkUjtNSHZNUSwwQkd3TXNQO01IeE10UCx1Qkd3TXNQO01IeE10UCxrQkd3TXNQO01Idk10UCw0Q0FBa0UsRUFBQSxFR3dNekU7RUhuTUc7SUFDSTtNQUNJLGNWdmFLO01Vd2FMLHlCSmljd0Q7TUkvYnBELHFCVjFhQztNVThhTCxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TME1OO1FBQ0MsY1ZsYkE7UVVtYkEsOEJUNU1LO1FTNE1MLHNCVDVNSyxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1R2ZFM7SVN3ZFQseUJWL2JTO0lVaWNMLHFCVmpjSztJVXFjVCw0QlQ5TmM7SVM4TmQsb0JUOU5jLEVBQUE7SVNnT1Y7TUFDQyxjVnhjSSxFQUFBO0VVNGNiO0lBRVEsY1h2SnlEO0lXNEp6RCx5QlQ1ZUs7SVNpZkwsc0NWM2RPO0lVK2RYLG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjWHhLd0QsRUFBQTtFVzRLakU7SUFFUSxzQ1Z4ZU8sRUFBQTtFVThlZjtJQUNJLGFBQWE7SUFDYiw0RFZsZTZDO1lVa2U3QyxvRFZsZTZDLEVBQUE7RVV1ZjdDO0lBQ0ksWUpuS0M7SUlvS0Qsa0JKOHNDUTtJSTdzQ1IsaUNUMVgyQjtJUzJYM0IsZUorc0NBO0lJMXNDQSxjVDFmdUM7SVMyZnZDLDhCVHBTVTtJU29TVixzQlRwU1UsRUFBQTtFU3VTbEI7SUFDSSx5Q1R4U2M7SVN3U2QsaUNUeFNjLEVBQUE7O0FZa1l0QjtFQUVJLFlQNVFTO0VPNlFULGtCQUFrQjtFQUNsQixpQ1puZW1DLEVBQUE7O0FZeWV2QztFSDNTSSxxQ0FBZ0M7RUF5QjVCLFdHbVJnSTtFSHJRcEksb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLCtDQUErQztFQUUvQyx5QkpvdEhnQjtFSW50SGhCLGlCSitjNEI7RUk5YzVCLG9CRGpWNEQ7RUNrVjVELGdCR29Qc0g7RUhuUHRILGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUl6YnhCLHFCVGxhUztFU29hYixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0I7RVk4WWxCLGtCWm5aZTtFWW9aZixrQkFBa0IsRUFBQTtFTG5mZDtJS2dmUjtNSHpOWSw2Q0FBb0UsRUFBQSxFR3NPL0U7RUx4Zk87SUsyZVI7TUhyTlEsV0dzTmdJO01Ick5oSSw0Q0FBa0UsRUFBQSxFR2lPekU7RUg1Tkc7SUFDSTtNQUVJLHlCVnhhSztNVTRhRCxxQlY1YUM7TVU4YUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUVJLHlCVjNiUztJVStiTCxxQlYvYks7SVVpY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUlRLGNYekp5RDtJVzhKekQseUJUOWVLO0lTbWZMLHNDVjdkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDVjFlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBO0VZNFl0QjtJQUtRLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQiw4RUFBbUQ7SUFDbkQsMEJBQTBCO0lBQzFC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WDJDO0VTZ1kvQyxxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFTy9GZDtJS3dwQlI7TUhsWVEsV0d1WThMO01IdFk5TCw0Q0FBa0UsRUFBQSxFR3VZdkU7RUhsWUM7SUFDSTtNQUNJLGNUaGNLO01TaWNMLHlCVnBhSztNVXNhRCxxQlZ0YUM7TVUwYUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUVJLHlCVi9iUztJVWljTCxxQlZqY0s7SVVxY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWWtrQnRCO0VBaERFLFdQczNCNkI7RU9yM0I3QixZUHEzQjZCO0VPcDNCN0Isa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUdyQiw2Qlo1eEJtQjtFWTZ4Qm5CLGVBQWU7RUFDZix5Q1oxaEJvQjtFWTBoQnBCLGlDWjFoQm9CLEVBQUE7RVkyaEJwQjtJQUNFLFlQamdCYTtJT2tnQmIsaUNaMW5CbUM7SVkybkJuQyxlUDQyQjBCO0lPMzJCMUIsY1p0dkIrQztJWXV2Qi9DLDhCWmhpQmtCO0lZZ2lCbEIsc0JaaGlCa0IsRUFBQTtFWW9pQmhCO0lBQ0ksZUFBZTtJQUNmLGNiMXdCTztJYTJ3QlAsNEJaeGlCWTtJWXdpQlosb0JaeGlCWSxFQUFBO0VZNGlCaEI7SUFDRSxjYnB4QlMsRUFBQTtFYXd4QmY7SUFDRSxtQkFBbUIsRUFBQTtJQUNuQjtNQUNFLGNacHpCVyxFQUFBOztBWXUwQmpCO0VIcmVJLHFDQUFnQztFQXlCNUIsV0c4YzhMO0VIaGNsTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsaURBQStDO0VBQy9DLGNUdFphO0VTdVpiLHlCVDdXK0M7RVM4Vy9DLGlCSitjNEI7RUk5YzVCLG1CRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlQ1WDJDO0VTZ1kvQyxxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUgvWVEsV0dpWjhMO01IaFo5TCw0Q0FBa0UsRUFBQSxFR2ladkU7RUg1WUM7SUFDSTtNQUNJLGNUaGNLO01TaWNMLHlCVnBhSztNVXNhRCxxQlZ0YUM7TVUwYUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUVJLHlCVi9iUztJVWljTCxxQlZqY0s7SVVxY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWXNrQnRCO0VIcmVJLHFDQUFnQztFQXlCNUIsWUdpZGdOO0VIbmNwTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsaURBQStDO0VBQy9DLGNWN1hhO0VVOFhiLHlCSm9ka0U7RUluZGxFLGlCSitjNEI7RUk5YzVCLHFCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCLEVBQUE7RU8vRmQ7SUtxcUJSO01IL1lRLFlHb1pnTjtNSG5aaE4sNENBQWtFLEVBQUEsRUdvWnZFO0VIL1lDO0lBQ0k7TUFDSSxjVGhjSztNU2ljTCx5QlZ4YUs7TVUwYUQscUJUelptQztNUzZadkMscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVjNiUztJVTZiTCxxQlY3Yks7SVVpY1QsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUVRLGNYdkp5RDtJVzRKekQseUJUNWVLO0lTaWZMLHNDVjNkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDVnhlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWStrQnRCO0VBRUkseUJBQXlCO0VBQ3pCLDhCWmxsQmtCO0VZa2xCbEIsc0JabGxCa0IsRUFBQTs7QVkra0J0QjtFQU1JLFdBQVc7RUFDWCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsUUFBUTtFQUNSLE9BQU87RUFDUCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLHlCYmwwQmE7RWFtMEJiLHVDQUErQjtVQUEvQiwrQkFBK0I7RUFDL0IscUNBQTZCO1VBQTdCLDZCQUE2QjtFQUM3QixXQUFXO0VBQ1gsVUFBVSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxVQUFVO0lBQ1YsWUFBWSxFQUFBO0VBRWQ7SUFDRSxVQUFVO0lBQ1YsWUFBWSxFQUFBO0VBRWQ7SUFDRSxVQUFVO0lBQ1YsWUFBWSxFQUFBO0VBRWQ7SUFDRSxTQUFTO0lBQ1QsWUFBWSxFQUFBO0VBRWQ7SUFDRSxRQUFRO0lBQ1IsbUJBQW1CO0lBQ25CLFVBQVUsRUFBQTtFQUVaO0lBQ0UsU0FBUztJQUNULGtCQUFrQjtJQUNsQixVQUFVLEVBQUE7RUFFWjtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osU0FBUztJQUNULGdCQUFnQjtJQUNoQixVQUFVLEVBQUEsRUFBQTs7QUFoQ2Q7RUFDRTtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFFZDtJQUNFLFNBQVM7SUFDVCxZQUFZLEVBQUE7RUFFZDtJQUNFLFFBQVE7SUFDUixtQkFBbUI7SUFDbkIsVUFBVSxFQUFBO0VBRVo7SUFDRSxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtFQUVaO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFVBQVUsRUFBQSxFQUFBOztBQU1kO0VIM2lCSSxxQ0FBZ0M7RUF1QjVCLFdHc2hCdU47RUh2Z0IzTixZSm1Qd0I7RUlsUHhCLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Y3WGE7RVU4WGIseUJKb2RrRTtFSW5kbEUsaUJKK2M0QjtFSTljNUIsa0JEalY0RDtFQ2tWNUQsZ0JWekllO0VVMElmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUkzYnhCLHFCVmhaVztFVW9aZixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFTy9GZDtJSzJ1QlI7TUhyZFEsV0d1ZG9PO01IdGRwTyw0Q0FBa0UsRUFBQSxFR3VkdkU7RUhsZEM7SUFDSTtNQUNJLGNUaGNLO01TaWNMLHlCVnhhSztNVTBhRCxxQlR6Wm1DO01TNlp2QyxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1R2ZFM7SVN3ZFQseUJWM2JTO0lVNmJMLHFCVjdiSztJVWljVCw0QlQ5TmM7SVM4TmQsb0JUOU5jLEVBQUE7RVNxT2xCO0lBSVEsY1h6SnlEO0lXOEp6RCx5QlQ5ZUs7SVNtZkwsc0NWN2RPO0lVK2RYLG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEsc0NWMWVPLEVBQUE7RVU4ZWY7SUFDSSxhQUFhO0lBQ2IsNERWbGU2QztZVWtlN0Msb0RWbGU2QyxFQUFBO0VVb2dCakQ7SUFDSSx5Q1R4U2M7SVN3U2QsaUNUeFNjLEVBQUE7O0FZbXBCdEI7RUhsakJJLHFDQUFnQztFQXVCNUIsV0c2aEJ5TztFSDlnQjdPLFlKbVB3QjtFSWxQeEIsb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVjdYYTtFVThYYix5QkpvZGtFO0VJbmRsRSxpQkorYzRCO0VJOWM1QixrQkRqVjREO0VDa1Y1RCxnQlZ6SWU7RVUwSWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJWakpnQztFVW9KaEMsc0JWL0k0QztFVWdKNUMsaUJKOGJ3QjtFSTNieEIscUJWaFpXO0VVb1pmLHFCQUFxQjtFQUNyQixjSjBieUI7RUl2YnJCLDhCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJUaExrQjtFU2dMbEIsb0JUaExrQixFQUFBO0VPL0ZkO0lLa3ZCUjtNSDVkUSxXRzhkc1A7TUg3ZHRQLDRDQUFrRSxFQUFBLEVHOGR2RTtFSHpkQztJQUNJO01BQ0ksY1RoY0s7TVNpY0wseUJWeGFLO01VMGFELHFCVHpabUM7TVM2WnZDLHFCQUFxQjtNQUNyQiw0QlR4TVU7TVN3TVYsb0JUeE1VLEVBQUE7TVNnTlY7UUFDSSx5QlRqZEM7UVNrZEQseUNUbE5NO1FTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0VBR1Q7SUFDSSxjVHZkUztJU3dkVCx5QlYzYlM7SVU2YkwscUJWN2JLO0lVaWNULDRCVDlOYztJUzhOZCxvQlQ5TmMsRUFBQTtFU3FPbEI7SUFFUSxjWHZKeUQ7SVc0SnpELHlCVDVlSztJU2lmTCxzQ1YzZE87SVUrZFgsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1Z4ZU8sRUFBQTtFVThlZjtJQUNJLGFBQWE7SUFDYiw0RFZsZTZDO1lVa2U3QyxvRFZsZTZDLEVBQUE7RVVvZ0JqRDtJQUNJLHlDVHhTYztJU3dTZCxpQ1R4U2MsRUFBQTs7QVkwcEJ0QjtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7RUFEZjtJSHpqQkkscUNBQWdDO0lBdUI1QixXR3FpQitNO0lIdGhCbk4sWUptUHdCO0lJbFB4QixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNWN1hhO0lVOFhiLHlCSm9ka0U7SUluZGxFLGlCSitjNEI7SUk5YzVCLGtCRGpWNEQ7SUNrVjVELGdCVnpJZTtJVTBJZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJM2J4QixxQlZoWlc7SVVvWmYscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCO0lZOHBCbEIsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTtJTDd2QlI7TUt5dkJSO1FIbmVRLFdHc2U0TjtRSHJlNU4sNENBQWtFLEVBQUEsRUd1ZXZFO0lIbGVDO01BQ0k7UUFDSSxjVGhjSztRU2ljTCx5QlZ4YUs7UVUwYUQscUJUelptQztRUzZadkMscUJBQXFCO1FBQ3JCLDRCVHhNVTtRU3dNVixvQlR4TVUsRUFBQTtRU2dOVjtVQUNJLHlCVGpkQztVU2tkRCx5Q1RsTk07VVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7SUFHVDtNQUNJLGNUdmRTO01Td2RULHlCVjNiUztNVTZiTCxxQlY3Yks7TVVpY1QsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO0lTcU9sQjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TbWZMLHNDVjdkTztNVStkWCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDVjFlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVW9nQmpEO01BQ0kseUNUeFNjO01T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MENnQjtNWXUwQ2hCLG9EWnYwQ2dCLEVBQUE7TVlxeEJ0QjtRQW9qQlEscUJiaGpEUztRYWlqRFQscUNaMTBDYztRWTAwQ2QsNkJaMTBDYyxFQUFBO01ZcXhCdEI7UUF3akJRLGNicGpEUztRYXFqRFQsOEJaOTBDYztRWTgwQ2Qsc0JaOTBDYyxFQUFBO01ZcXhCdEI7UUE0akJRLGNieGpEUyxFQUFBO0lhNC9CakI7TUFna0JNLHdDWjNpRDZDO01ZNGlEN0MsbUNiN2pEVyxFQUFBO01hNC9CakI7UUFta0JRLG1DYi9qRFMsRUFBQTtJYTQvQmpCO01Bd2tCUSxZUG53Q2U7TU9vd0NmLDRCYnJrRFMsRUFBQTtJYTQvQmpCO01BNmtCTSxxQlozK0NRO01ZNCtDUix5QmRueEMrRCxFQUFBO01jcXNCckU7UUFnbEJRLHFCWjkrQ00sRUFBQTtNWTg1QmQ7UUFtbEJRLGNBQWMsRUFBQTtNQW5sQnRCO1FBdWxCVSxZUGp4Q087UU9xeENQLGNaei9DSSxFQUFBO01ZODVCZDtRQStsQlEsY1o3L0NNLEVBQUE7SVk4NUJkO01BbW1CTSxXQUFXO01BQ1gsaUJQeGtDYTtNT3lrQ2Isa0JBQWtCO01BQ2xCLGVKbmpEMEQ7TUlvakQxRCxnQlB2a0M0QjtNT3drQzVCLGNicG1EVztNYXFtRFgsOEJaNzNDZ0I7TVk2M0NoQixzQlo3M0NnQixFQUFBO01PL0ZkO1FLbTNCUjtVQTJtQlEsWUFBcUQsRUFBQSxFQUV4RDtJQTdtQkw7TUErbUJNLG9CQUFvQjtNQUNwQixjQUFjO01BQ2QsbUJBQW1CLEVBQUE7TUFqbkJ6QjtRQW1uQlEsWVAveUNTO1FPZ3pDVCxpQ1pyK0MrQjtRWXMrQy9CLGVBQWU7UUFDZixjYmxuRFMsRUFBQTtNYTQvQmpCO1FBeW5CUSxpQkFBaUIsRUFBQTtJQXpuQnpCO01BNm5CTSxrQlBqbUNRO01Pa21DUixVQUFVLEVBQUE7TUxqL0NSO1FLbTNCUjtVQWdvQlEsbUJQbm1DTyxFQUFBLEVPcW1DVjtJQWxvQkw7TUFvb0JNLGlCQUFpQjtNQUNqQixvQkpsbEQwRDtNSW1sRDFELGdCQUFnQixFQUFBO0lBdG9CdEI7TUF5b0JNLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLGFBQWE7TUFDYixlQUFlO01BQ2YsVUFBVSxFQUFBO01BL29CaEI7UUFpcEJRLDBCQUEwQixFQUFBO01BanBCbEM7UUFvcEJRLFlQOTBDUztRTyswQ1QsaUJBQWlCO1FBQ2pCLGlDWnZnRCtCO1FZd2dEL0IsZUFBZTtRQUNmLGNicnBEVyxFQUFBO0lhNi9CbkI7TUE0cEJNLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPO01BQ1AsVUFBVTtNQUNWLFVBQVU7TUFDVixlQUFlO01BQ2YsVUFBVSxFQUFBO0VBcHFCaEI7SUF5cUJNLFlQbmtDc0IsRUFBQTtJTzBaNUI7TUEycUJRLFlQcmtDb0I7TU9za0NwQixjQUFjLEVBQUE7RUE1cUJ0QjtJQW9yQkksaUJBQWlCLEVBQUE7RUFwckJyQjtJQXlyQlEsd0NBQWdDO1lBQWhDLGdDQUFnQyxFQUFBOztBQU14QztFQUdNLFdQa0Z3QixFQUFBOztBT3JGOUI7RUFPSSxrQmJ4K0NpQyxFQUFBOztBYTQrQ3JDO0VBQ0U7SUFDRSx1Q2J6c0RlO0lhMHNEZixjWmx1RGEsRUFBQTtFWW91RGY7SUFDRSx5QmJ4c0RhO0lheXNEYixjWnR1RGEsRUFBQSxFQUFBOztBWSt0RGpCO0VBQ0U7SUFDRSx1Q2J6c0RlO0lhMHNEZixjWmx1RGEsRUFBQTtFWW91RGY7SUFDRSx5QmJ4c0RhO0lheXNEYixjWnR1RGEsRUFBQSxFQUFBOztBTzZKVDtFSzZrRFI7SUFJTSwwQkFBa0MsRUFBQSxFQW9CdkM7O0FBeEJEO0VBU0ksY2IzdERlO0VhNHREZixlSjVxRDREO0VJNnFENUQsZ0JiMWhEK0IsRUFBQTs7QWErZ0RuQztFQVNJLGNiM3REZTtFYTR0RGYsZUo1cUQ0RDtFSTZxRDVELGdCYjFoRCtCLEVBQUE7O0FhK2dEbkM7RUFTSSxjYjN0RGU7RWE0dERmLGVKNXFENEQ7RUk2cUQ1RCxnQmIxaEQrQixFQUFBOztBYStnRG5DO0VBU0ksY2IzdERlO0VhNHREZixlSjVxRDREO0VJNnFENUQsZ0JiMWhEK0IsRUFBQTs7QWErZ0RuQztFQVNJLGNiM3REZTtFYTR0RGYsZUo1cUQ0RDtFSTZxRDVELGdCYjFoRCtCLEVBQUE7O0FheWlEbkM7RUFFRSxZUDNvQzBCO0VPNG9DMUIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFDWixXQUFXO0VBQ1gsbUJBQW1CO0VBRW5CLGlCQUFpQjtFQU1iLDRCYmh1RG1CO0VhbXVEdkIsU0FBUztFQUNULHFDWnBoRG9CO0VZb2hEcEIsNkJacGhEb0IsRUFBQTtFT3BHZDtJS3VtRFI7TUF1QkksV0FBVztNQUNYLDJCUGhFcUMsRUFBQSxFT3VKeEM7RUEvR0Q7SUEyQkkscUJaeHFEVTtJWXlxRFYseUJkaDlDaUU7SWNpOUNqRSxVQUFVLEVBQUE7SUE3QmQ7TUErQlEsY1o1cURNLEVBQUE7SVk2b0RkO01Ba0NRLGNadHlEUztNWXV5RFQsOEJadmlEYztNWXVpRGQsc0JadmlEYyxFQUFBO0VZb2dEdEI7SUF1Q0ksV0FBVztJQUVYLFlQbHJDd0I7SU9vckN0QixlUGpIWTtJT21IZCxjUGhIMEI7SU9pSDFCLHlCWmx6RGE7SVltekRiLG1CQUFtQjtJQUNuQixxQmI5eERlO0lhZ3lEZixpQkFBaUI7SUFDakIsNEJiOXhEYTtJYSt4RGIsZUFBZTtJQVdYLDRCQUEwRztJQUc5Ryx5Q1pya0RrQjtJWXFrRGxCLGlDWnJrRGtCLEVBQUE7SU9wR2Q7TUt1bURSO1FBb0VNLDBCQUFrQjtRQUFsQix1QkFBa0I7UUFBbEIsa0JBQWtCO1FBQ2xCLFNQMUlPO1FPMklQLDJCUDVIK0IsRUFBQSxFT29LbEM7SUE5R0g7TUEwRVEsWVAzZ0RFO01PNGdERixXUG5KMEI7TU9vSjFCLGNBQWM7TUFDZCxZQUFZO01BQ1osaUNaOXFEK0I7TVkrcUQvQixlQUFlO01BQ2YsNEJiM3pEUztNYTR6RFQsOEJacGxEYztNWW9sRGQsc0JacGxEYyxFQUFBO0lZbWdEdEI7TUFzRlEsY1oxMURTO01ZMjFEVCxxQmJyMERXO01hczBEWCx1Q2JuMERTO01hbzBEVCx5Q1o3bERjO01ZNmxEZCxpQ1o3bERjLEVBQUE7TVlvZ0R0QjtRQTRGWSxjWmgyREssRUFBQTtJWW93RGpCO01BbUdNLGNadjJEVztNWXcyRFgscUJibDFEYTtNYW0xRGIseUJiNTBEVztNYTYwRFgseUNaMW1EZ0I7TVkwbURoQixpQ1oxbURnQixFQUFBO01Zb2dEdEI7UUF5R1UsY1o3MkRPLEVBQUE7O0FZczNEakI7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQ1p6bkRvQjtFWXluRHBCLDJCWnpuRG9CLEVBQUE7RVlxbkR0QjtJQU1JLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIseUJaOTNEYTtJWSszRGIsbUNaL25Ea0I7SVkrbkRsQiwyQlovbkRrQixFQUFBOztBWXFvRHRCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFQURmO0lBS0ksNkJaNzREaUIsRUFBQTtJWXc0RHJCO01BT00sY2JuM0RXLEVBQUE7SWFxM0RiO01BVEo7UUFXUSx5QlpoNURTLEVBQUE7UVlxNERqQjtVQWFVLGNicjNETyxFQUFBLEVhczNEUjtJQWRUO01Ba0JNLDZCWjE1RGUsRUFBQTtNWXc0RHJCO1FBb0JRLGNadDVEUyxFQUFBO0VZazREakI7SUE0Qk0sNkJacDZEZSxFQUFBO0lZdzREckI7TUE4QlEsY1puNkRTLEVBQUE7SVlxNkRYO01BaENOO1FBa0NVLHlCWmo2RE8sRUFBQTtRWSszRGpCO1VBb0NZLGNiaDVESyxFQUFBLEVhaTVETjtJQXJDWDtNQXlDUSw2QlpqN0RhLEVBQUE7TVl3NERyQjtRQTJDVSxjYm41RE8sRUFBQTtFYXcyRGpCO0lBbURJLDZCWjM3RGlCLEVBQUE7SVl3NERyQjtNQXFETSxjYnA2RGEsRUFBQTtJYSsyRG5CO01BeURNLHlCWmo4RGUsRUFBQTtJWXc0RHJCO01BNERNLDZCWnA4RGUsRUFBQTtFWXc0RHJCO0lB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UCxxREFBa0UsRUFBQSxFR3crRHpFO0VIbitERztJQUNJO01BQ0ksY1RoY0s7TVNpY0wseUJWcGFLO01Vc2FELHFCVnRhQztNVTBhTCxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1R2ZFM7SVN3ZFQseUJUOWEyQztJU2tidkMscUJUbGJ1QztJU29iM0MsNEJUOU5jO0lTOE5kLG9CVDlOYyxFQUFBO0VTcU9sQjtJQUlRLGNYekp5RDtJVzhKekQseUJUOWVLO0lTbWZMLHNDVjdkTztJVStkWCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHNDVjFlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVW9nQmpEO0lBQ0kseUNUeFNjO0lTd1NkLGlDVHhTYyxFQUFBOztBWWtxRXRCO0VBQ0UsV0FBVyxFQUFBO0VBRGI7SUFHSSxpQkFBaUI7SUFDakIsU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsZ0JBQWdCLEVBQUE7SUFQcEI7TUFTTSxjYm41RVc7TWFvNUVYLGdCQUFnQixFQUFBO0lBVnRCO01BY1EsbUJBQW1CLEVBQUE7RUFkM0I7SUFtQkksbUJKOTJFNEQ7SUkrMkU1RCxlQUFlO0lBQ2YsOEJadnJFa0I7SVl1ckVsQixzQlp2ckVrQixFQUFBO0lZa3FFdEI7TUF5QlEsY2JuNkVTO01hbzZFVCxnQkFBZ0I7TUFDaEIsOEJaN3JFYztNWTZyRWQsc0JaN3JFYyxFQUFBO0lZa3FFdEI7TUErQk0sY2J6NkVXO01hMDZFWCwwQkFBMEI7TUFDMUIsOEJacHNFZ0I7TVlvc0VoQixzQlpwc0VnQixFQUFBO0lZbXFFdEI7TUFvQ00sY2IxNkVXLEVBQUE7TWFzNEVqQjtRQXNDUSxjYjU2RVM7UWE2NkVULDhCWjFzRWM7UVkwc0VkLHNCWjFzRWMsRUFBQTtFTzlGZDtJS2l3RVI7TUE2Q00sa0JQeWpFNkIsRUFBQSxF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WTtRQTBDaFksYUExQ2dZO1FBNEM1WCx5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBTTNCLGtCQUFrQjtRQUNsQixpREFBa0U7UUFFbEUsZ0RBQStDO1FBQy9DLGNWN1hhO1FVOFhiLHlCWHZFaUU7UVd3RWpFLGlCSitjNEI7UUk5YzVCLG9CRGpWNEQ7UUNrVjVELGdCTTVENkw7UU42RDdMLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQUVYLHlCVmpKZ0M7UVVvSmhDLHNCVi9JNEM7UVVnSjVDLGlCSjhid0I7UUkzYnhCLHFCVmhaVztRVW9aZixxQkFBcUI7UUFDckIsY0owYnlCO1FJdmJyQiw4QkFBb0U7UUFFeEUsZ0JBQWdCO1FBQ2hCLDRCVGhMa0I7UVNnTGxCLG9CVGhMa0IsRUFBQTtRT3BHZDtVUWtKUjtZTnFJWSxrREFBb0UsRUFBQSxFTXJGL0Q7UVI3TFQ7VVE2SVI7WU55SVEsWU0xRndNO1lOMkZ4TSxtREFBa0UsRUFBQSxFTTFGekQ7UU4rRmI7VUFDSTtZQUNJLGNUaGNLO1lTaWNMLHlCVHRWRTtZU3dWRSxxQlR4VkY7WVM0VkYscUJBQXFCO1lBQ3JCLDRCVHhNVTtZU3dNVixvQlR4TVUsRUFBQTtZU2dOVjtjQUNJLHlCVGpkQztjU2tkRCx5Q1RsTk07Y1NrTk4saUNUbE5NLEVBQUEsRVNtTlQ7UUFHVDtVQUVJLHlCSm1aOEQ7VUkvWTFELHFCSitZMEQ7VUk3WTlELDRCVDlOYztVUzhOZCxvQlQ5TmMsRUFBQTtRU3FPbEI7VUFJUSxjWHpKeUQ7VVc4SnpELHlCVDllSztVU21mTCxzQ1Y3ZE87VVUrZFgsbUJBQW1CLEVBQUE7UUFPdkI7VUFJUSxzQ1YxZU8sRUFBQTtRVThlZjtVQUNJLGFBQWE7VUFDYiw0RFZsZTZDO2tCVWtlN0Msb0RWbGU2QyxFQUFBO1FVb2dCakQ7VUFDSSx5Q1R4U2M7VVN3U2QsaUNUeFNjLEVBQUE7TWU4Q3RCO1FObURJLHFDQUFnQztRQXlCNUIsWU0xQm9MO1FOd0N4TCxvQkExQ2dZO1FBMENoWSxvQkExQ2dZO1FBMENoWSxhQTFDZ1k7UUE0QzVYLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFNM0Isa0JBQWtCO1FBQ2xCLGlEQUFrRTtRQUVsRSxnREFBK0M7UUFDL0MsY1QvUlU7UVNnU1YseUJYdkVpRTtRV3dFakUsaUJKK2M0QjtRSTljNUIsb0JEalY0RDtRQ2tWNUQsZ0JNekR5SztRTjBEekssa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixlQUFlO1FBRVgseUJWakpnQztRVW9KaEMsc0JWL0k0QztRVWdKNUMsaUJKOGJ3QjtRSTNieEIscUJWaFpXO1FVb1pmLHFCQUFxQjtRQUNyQixjSjBieUI7UUl2YnJCLDhCQUFvRTtRQUV4RSxnQkFBZ0I7UUFDaEIsNEJUaExrQjtRU2dMbEIsb0JUaExrQixFQUFBO1FPcEdkO1VRa0pSO1lOcUlZLGtEQUFvRSxFQUFBLEVNbEYvRDtRUmhNVDtVUTZJUjtZTnlJUSxZTXZGb0w7WU53RnBMLG1EQUFrRSxFQUFBLEVNdkZ6RDtRTjRGYjtVQUNJO1lBQ0ksY1RoY0s7WVNpY0wseUJUMVVFO1lTNFVFLHFCVDVVRjtZU2dWRixxQkFBcUI7WUFDckIsNEJUeE1VO1lTd01WLG9CVHhNVSxFQUFBO1lTZ05WO2NBQ0kseUJUamRDO2NTa2RELHlDVGxOTTtjU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtRQUdUO1VBQ0ksY1R2ZFM7VVN3ZFQseUJKbVo4RDtVSS9ZMUQscUJKK1kwRDtVSTdZOUQsNEJUOU5jO1VTOE5kLG9CVDlOYyxFQUFBO1FTcU9sQjtVQUlRLGNYekp5RDtVVzhKekQseUJUOWVLO1VTbWZMLHNDVjdkTztVVStkWCxtQkFBbUIsRUFBQTtRQU92QjtVQUlRLHNDVjFlTyxFQUFBO1FVOGVmO1VBQ0ksYUFBYTtVQUNiLDREVmxlNkM7a0JVa2U3QyxvRFZsZTZDLEVBQUE7UVVvZ0JqRDtVQUNJLHlDVHhTYztVU3dTZCxpQ1R4U2MsRUFBQTtJZThDdEI7TU5tREkscUNBQWdDO01BeUI1QixZTXJCeUo7TU5tQzdKLG9CQTFDZ1k7TUEwQ2hZLG9CQTFDZ1k7TUEwQ2hZLGFBMUNnWTtNQTRDNVgseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFNM0Isa0JBQWtCO01BQ2xCLHdEQUFrRTtNQUVsRSxnREFBK0M7TUFDL0MsY1Y3WGE7TVU4WGIseUJUdlphO01Td1piLGlCSitjNEI7TUk5YzVCLG9CRGpWNEQ7TUNrVjVELGdCTXBEOEk7TU5xRDlJLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsZUFBZTtNQUVYLHlCVmpKZ0M7TVVvSmhDLHNCVi9JNEM7TVVnSjVDLGlCSjhid0I7TUkzYnhCLHFCVmhaVztNVW9aZixxQkFBcUI7TUFDckIsY0owYnlCO01JdmJyQiw4QkFBb0U7TUFFeEUsZ0JBQWdCO01BQ2hCLDRCVGhMa0I7TVNnTGxCLG9CVGhMa0IsRUFBQTtNTy9GZDtRUTZJUjtVTnlJUSxZTWxGeUo7VU5tRnpKLHNEQUFrRSxFQUFBLEVNbEY3RDtNTnVGVDtRQUNJO1VBQ0ksY1RoY0s7VVNpY0wseUJWM2FPO1VVNmFILHFCVGhjQztVU29jTCxxQkFBcUI7VUFDckIsNEJUeE1VO1VTd01WLG9CVHhNVSxFQUFBO1VTZ05WO1lBQ0kseUJUamRDO1lTa2RELHlDVGxOTTtZU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtNQUdUO1FBQ0ksY1R2ZFM7UVN3ZFQseUJWL2JTO1FVbWNMLHFCVm5jSztRVXFjVCw0QlQ5TmM7UVM4TmQsb0JUOU5jLEVBQUE7TVNxT2xCO1FBSVEsY1h6SnlEO1FXOEp6RCx5QlQ5ZUs7UVNtZkwsc0NWN2RPO1FVK2RYLG1CQUFtQixFQUFBO01BT3ZCO1FBSVEsc0NWMWVPLEVBQUE7TVU4ZWY7UUFDSSxhQUFhO1FBQ2IsNERWbGU2QztnQlVrZTdDLG9EVmxlNkMsRUFBQTtNVW9nQmpEO1FBQ0kseUNUeFNjO1FTd1NkLGlDVHhTYyxFQUFBOztBZThD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RUgsaUNBQWlEO1lBQWpELHlCQUFpRDtJQUNqRCxpQkFBaUIsRUFBQTtJVHhKckI7TVNrRlI7UUF3RWdCLGVYNGlFRCxFQUFBLEVXMWlFTjtFQTFFVDtJQWlGWSxZWHhCRDtJV3lCQyxpQ2hCbEsyQjtJZ0JtSzNCLGVYZ2lFRyxFQUFBO0lFcnNFUDtNU2tGUjtRQXFGZ0IsZVgraEVELEVBQUEsRVc3aEVOO0VBdkZUO0lBOEZZLFlYdENBO0lXdUNBLGlDaEIvSzJCO0lnQmdMM0IsZVhtaEVHLEVBQUE7SUVyc0VQO01Ta0ZSO1FBa0dnQixlWGtoRUQsRUFBQSxFV2hoRU47RUFwR1Q7SUE0R1ksWVhwRUs7SVdxRUwsaUNoQjdMMkI7SWdCOEwzQixlWHFnRUcsRUFBQTtJRXJzRVA7TVNrRlI7UUFnSGdCLGVYb2dFRCxFQUFBLEVXbGdFTjtFQWxIVDtJQXFIZ0IsWVg1RUk7SVc2RUosdUJoQnhKa0IsRUFBQTtFZ0JrQ2xDO0lBMkhnQixZWGpGRTtJV2tGRix1QmhCOUprQixFQUFBO0VnQmtDbEM7SUFvSVksWVh0REc7SVd1REgsaUNoQnJOMkI7SWdCc04zQixlWHEvREcsRUFBQTtJRTdzRVA7TVNrRlI7UUF5SWdCLGVYbS9ERCxFQUFBLEVXai9ETjtFQTNJVDtJQThJUSxrQkFBa0IsRUFBQTtJQTlJMUI7TUFnSlksWVg2R0M7TVc1R0QsZVhrK0RHO01XaitESCxpQ2hCbE8yQixFQUFBOztBZ0J3T3ZDO0VBQ0ksYUFBYTtFQUNiLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIseUJoQmhaYTtFZ0JpWmIsYVhzOEQ2QjtFV3I4RDdCLG1DaEJqSmtCO0VnQmlKbEIsMkJoQmpKa0IsRUFBQTtFT3BHZDtJUytPUjtNQVNRLGVBQWU7TUFDZixNQUFNO01BQ04sT0FBTztNQUVILDRCakJ4V2EsRUFBQSxFaUJ5WXhCO0VUeFJPO0lTME9SO01BaUJRLGdCQUFnQjtNQUNoQiw2QmhCamFhO01nQmthYixhQUFhO01BQ2IsaUJBQWlCLEVBQUEsRUEwQnhCO0VBOUNEO0lBdUJRLGdCWG03RDRCO0lJdTVCNUIsb0JKM2ZnQztJSTZm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LGtCQUF5QjtZQUF6Qix5QkFBeUI7SUFFekIsaUJBQWlCLEVBQUEsRUFnYXhCOztBQXZhRDtFQVdZLGdCWHltQ3dCO0VXeG1DeEIsbUNoQjkrQlU7RWdCOCtCViwyQmhCOStCVSxFQUFBO0VPOUZkO0lTZ2tDUjtNQWNnQixpQkFBaUIsRUFBQSxFQUV4Qjs7QUFoQlQ7RUE2QlkseUJsQi82QnlELEVBQUE7RWtCazVCckU7SUErQmdCLFlYcCtCSTtJV3ErQkosdUJoQmhqQ2tCO0lnQmlqQ2xCLHlCaEJscENGO0lnQm9wQ00sY2hCcndDSCxFQUFBO0VnQmt1Q2pCO0lBd0NvQixjaEIxd0NIO0lnQjJ3Q0csZ0JYMHREeUIsRUFBQTtFV253RDdDO0lBNENvQixjaEI5d0NILEVBQUE7RWdCa3VDakI7SUFpRG9CLGNoQm54Q0gsRUFBQTtFZ0JrdUNqQjtJQW9Eb0IsY2hCdHhDSCxFQUFBOztBZ0JrdUNqQjtFQTREb0IsWVhqZ0NBO0VXa2dDQSx1QmhCN2tDYztFZ0I4a0NkLGNoQi9xQ04sRUFBQTs7QWdCaW5DZDtFQW1FWSx5QmxCcjlCeUQ7RWtCczlCekQsY2hCcnJDRTtFZ0JzckNGLHlCaEJ0ckNFLEVBQUE7O0FnQmluQ2Q7RUF3RVksZ0JYMnJEaUM7RVcxckRqQyxjaEIxckNFLEVBQUE7O0FnQmluQ2Q7RUE4RVkseUJsQmgrQnlELEVBQUE7RWtCazVCckU7SUFnRmdCLFlYcGhDRTtJV3FoQ0YsdUJoQmptQ2tCO0lnQmttQ2xCLHlCaEI3ckNGO0lnQityQ00sY2hCdHpDSCxFQUFBO0VnQmt1Q2pCO0lBeUZvQixjaEIzekNIO0lnQjR6Q0csZ0JYeXFEeUIsRUFBQTtFV253RDdDO0lBNkZvQixjaEIvekNILEVBQUE7RWdCa3VDakI7SUFrR29CLGNqQnZ5Q0gsRUFBQTtFaUJxc0NqQjtJQXFHb0IsY2pCMXlDSCxFQUFBOztBaUJxc0NqQjtFQTRHb0IsWVhoakNGO0VXaWpDRSx1QmhCN25DYztFZ0I4bkNkLGNoQnp0Q04sRUFBQTs7QWdCMm1DZDtFQW1IWSx5QmxCcmdDeUQ7RWtCc2dDekQsY2hCL3RDRTtFZ0JndUNGLHlCaEJodUNFLEVBQUE7O0FnQjJtQ2Q7RUF3SFksZ0JYMm9EaUM7RVcxb0RqQyxjaEJwdUNFLEVBQUE7O0FnQjJtQ2Q7RUE4SFEsV0FBVztFQUNYLGVBQWU7RUFDZixlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLG1DaEJ0bUNjO0VnQnNtQ2QsMkJoQnRtQ2MsRUFBQTtFTy9GZDtJU2drQ1I7TUF1SVksWUFBWTtNQUNaLFVBQVUsRUFBQSxFQStEakI7RUF2TUw7SUE0SWdCLDRCakI3ekNTO0lpQit6Q2IseUJoQmgzQ0s7SWdCaTNDTCx5RGhCem1Dc0M7WWdCeW1DdEMsaURoQnptQ3NDO0lTdStGOUMsNERWM3NHaUQ7WVUyc0dqRCxvRFYzc0dpRDtJVWd0R2pELDRCVjN0R2E7SVU0dEdiLHVCQUFtRDtJQUNuRCxtQkFBbUIsRUFBQTtFT3BoRXZCO0lBbUpZLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsaUJBQWlCLEVBQUE7SUF6SjdCO01BOEo0QixjakJuMkNYO01pQm8yQ1csOEJoQmpvQ047TWdCaW9DTSxzQmhCam9DTixFQUFBO0lnQmsrQnRCO01Bb0tvQixjakJ6MkNIO01pQjAyQ0csOEJoQnZvQ0U7TWdCdW9DRixzQmhCdm9DRSxFQUFBO0lnQmsrQnRCO01BNEs0QixjakJyM0NYLEVBQUE7SWlCeXNDakI7TUFpTG9CLGNqQjEzQ0gsRUFBQTtJaUJ5c0NqQjtNQXNMb0Isa0JBQWtCLEVBQUE7TUF0THRDO1FBd0x3QixZWDluQ1A7UVcrbkNPLGlDaEJ2dkNlO1FnQnd2Q2YsZUFBZTtRQUNmLGNoQm4zQzJCLEVBQUE7SWdCd3JDbkQ7TUFpTWdCLG9CQUFvQjtNQUNwQixvQlI1MUNnRDtNUTYxQ2hELGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBQTs7QVRwd0MxQjtFU2drQ1I7SVBvcEVJLFlKaGtDbUM7SUlpa0NuQyxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFdBQVcsRUFBQSxFTzM4RFY7O0FBNU1MO0VBK01RLFlYdWdEcUI7RVd0Z0RyQixZWHExQ21CO0VXcDFDbkIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJoQng3Q1M7RWdCMDdDTCxtQmpCejRDYTtFaUI0NENiLHlCakJ2NkNPO0VpQnk2Q1gsbUJSdjNDd0Q7RVF3M0N4RCxxQkFBcUI7RUFDckIsVUFBVTtFQUNWLHdFaEJqc0NjO0VnQmlzQ2QsZ0VoQmpzQ2MsRUFBQTtFTy9GZDtJU2drQ1I7TUFrT1ksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWEsRUFBQSxFQXVHcEI7RUF6VUw7SUF3T1ksY2hCMThDSztJZ0I0OENELHFCakJuN0NDO0lpQnU5Q0wsd0VoQmh2Q1U7SWdCZ3ZDVixnRWhCaHZDVSxFQUFBO0lnQmsrQnRCO01BOE9vQixxQmpCdjdDSCxFQUFBO0lpQnlzQ2pCO01BMlBvQixXQUFXO01BQ1gsY2hCOTlDSDtNZ0JnK0NPLHlCakJ2OENQO01pQjI4Q08sNEJqQm43Q0M7TWlCbzdDRCwrQmpCcDdDQztNaUJzN0NMLDRCaEJ2dUNFO01nQnV1Q0Ysb0JoQnZ1Q0U7TWdCd3VDRixVQUFVLEVBQUE7SUF0UTlCO01BZ1JnQixjaEJsL0NDO01nQm0vQ0QsZ0JqQnpxQ0YsRUFBQTtFaUJ3NUJkO0lBeVJnQixjakI5OUNDLEVBQUE7RWlCcXNDakI7SUE0UmdCLGNqQmorQ0MsRUFBQTtFaUJxc0NqQjtJQWdTWSxZWHR1Q0s7SVd1dUNMLFdYazlDcUI7SVc5OENqQixZQUF5QztJQUk3QyxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHFCWDY5Q2tDO1FXNzlDbEMsa0JYNjlDa0M7WVc3OUNsQyx5Qlg2OUNrQztJVzU5Q2xDLHlCWDY5QzRCO1FXNzlDNUIsc0JYNjlDNEI7WVc3OUM1QixtQlg2OUM0QjtJVzU5QzVCLGlCWHU4Q1M7SVd0OENULGlDaEI5MkMyQjtJZ0IrMkMzQixlWGsvQ3dCO0lXai9DeEIsY2pCMy9DSztJaUI2L0NELHVCakJ4ckM0QjtJaUJ5ckM1QixtQkFBbUI7SUFDbkIscUJqQmxnREc7SWlCdWdESCx5QmpCdGdERztJaUI2Z0RDLDZCakJuL0NLO0lpQm8vQ0wsZ0NqQnAvQ0s7SWlCdy9DYiw0QmhCeHlDVTtJZ0J3eUNWLG9CaEJ4eUNVLEVBQUE7O0FnQmkrQnRCO0VBNFVRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZTtFQUNmLHdCWCsrRXVDO01XLytFdkMscUJYKytFdUM7VVcvK0V2Qyx1QlgrK0V1QztFVzcrRW5DLFNYOCtFcUI7RVd6K0V6QixXQUFXLEVBQUE7RVR0NUNYO0lTZ2tDUjtNQXdWWSxZQUFZLEVBQUEsRUFlbkI7RUF2V0w7SUEyVlksV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixXQUFXO0lBQ1gsU0FBUztJQUNULFlBQVk7SUFDWixjQUFjO0lBQ2QseUJoQnRrREs7SWdCdWtETCwrQmhCdDBDVTtJZ0JzMENWLHVCaEJ0MENVLEVBQUE7O0FnQmkrQnRCO0VBeVdRLGNqQm5qRFc7RWlCb2pEWCxnQmpCbndDUSxFQUFBO0VpQnk1QmhCO0lBNldnQixpQkFBaUIsRUFBQTtFQTdXakM7SUFpWFksaUJBQWlCLEVBQUE7O0FBalg3QjtFQXVYZ0IsNEJqQnhpRFMsRUFBQTtFUWlIakI7SVNna0NSO01BMFhZLGFBQWEsRUFBQSxFQTRDcEI7RUF0YUw7SUE2WFksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFqWS9CO01BbVlnQixZWHowQ0M7TVcwMENELGlDaEJsOEN1QjtNZ0JtOEN2QixlQUFlO01BQ2YsY0FBYztNQUNkLGNqQmhsREMsRUFBQTtFaUJ5c0NqQjtJQTJZWSxtQkFBbUI7SUFDbkIsbUJSdGlEb0Q7SVF1aURwRCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGNqQnhsREssRUFBQTtFaUJ5c0NqQjtJQWtaWSxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLG9CUjlpRG9EO0lRK2lEcEQsa0JBQWtCLEVBQUE7SUFyWjlCO01BdVpnQixpQkFBaUI7TUFDakIsY2pCam1EQztNaUJrbURELGdCQUFnQixFQUFBO0VBelpoQztJQTZaWSxTQUFTLEVBQUE7RUE3WnJCO0lBZ2FZLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJSNWpEb0Q7SVE2akRwRCxnQkFBZ0I7SUFDaEIsa0JBQWtCLEVBQUE7O0FBSzlCO0VBSW9CLFdBQVc7RUFDWCxXQUFXO0VBRVgsK0JoQmw1Q0U7RWdCazVDRix1QmhCbDVDRSxFQUFBOztBZ0IyNEN0QjtFQVVvQixjaEJycERIO0VnQnNwREcsZ0JqQjUwQ04sRUFBQTs7QWlCaTBDZDtFQWlCUSw0QmhCMzVDYztFZ0IyNUNkLG9CaEIzNUNjLEVBQUE7O0FnQjA0Q3RCO0VBcUJRLGlCQUFpQixFQUFBOztBQUt6QjtFQUNJLFdBQVc7RUFDWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHFCQUF5QjtNQUF6QixrQkFBeUI7VUFBekIseUJBQXlCO0VBQ3pCLHNCQUFxQjtNQUFyQixtQkFBcUI7VUFBckIscUJBQXFCLEVBQUE7RVR2Z0RqQjtJU21nRFI7TUFPUSxtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWTtNQUNaLGlCQUFpQixFQUFBLEVBK014QjtFQXZORDtJQVlZLHlCbEJqMkN5RCxFQUFBO0lrQnExQ3JFO01BY2dCLFlYdDVDSTtNV3U1Q0osdUJoQmwrQ2tCO01nQm0rQ2xCLHlCaEJwa0RGLEVBQUE7RWdCb2pEZDtJQXFCZ0IsWVg3NUNJO0lXODVDSix1QmhCeitDa0I7SWdCMCtDbEIsY2hCM2tERixFQUFBO0VnQm9qRGQ7SUEyQlkseUJsQmgzQ3lEO0lrQmkzQ3pELGNoQmhsREU7SWdCaWxERix5QmhCamxERSxFQUFBO0VnQm9qRGQ7SUFnQ1kscUJoQnBsREUsRUFBQTtJUytzRlY7TUFTQSxXQUFXO01BQ1AsUUFBUTtNQUNSLFNBQVM7TUFDVCxrQkFBa0I7TUFFZCxNQUFNO01BQ04sU0FBUztNQVliLGlCQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCVGgyRmE7TVNrMkZULDRCVDl1RkU7TVMrdUZGLGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SUEvQjFIO01BTUEsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QlRoMkZhO01TazJGVCw0QlgvZ0Z5RDtNV2doRnpELGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SU83ckM5SDtNQW1DZ0IseUJsQngzQ3FELEVBQUE7TWtCcTFDckU7UUFxQ29CLFlYbjZDUDtRV282Q08sY2hCMWxETixFQUFBO0lnQm9qRGQ7TUEwQ2dCLGNoQjlsREYsRUFBQTtFZ0JvakRkO0lBOENZLGNoQmxtREUsRUFBQTtFZ0JvakRkO0lBbURZLHlCbEJ4NEN5RCxFQUFBO0lrQnExQ3JFO01BcURnQixZWDU3Q0U7TVc2N0NGLHVCaEJ6Z0RrQjtNZ0IwZ0RsQix5QmhCcm1ERixFQUFBO0VnQjhpRGQ7SUE2RGdCLFlYcDhDRTtJV3E4Q0YsdUJoQmpoRGtCO0lnQmtoRGxCLGNoQjdtREYsRUFBQTtFZ0I4aURkO0lBbUVZLHlCbEJ4NUN5RDtJa0J5NUN6RCxjaEJsbkRFO0lnQm1uREYseUJoQm5uREUsRUFBQTtFZ0I4aURkO0lBd0VZLHFCaEJ0bkRFLEVBQUE7SVN5c0ZWO01BU0EsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QlRoMkZhO01TazJGVCw0QlR4dUZFO01TeXVGRixhQUFhO01BQ2IsZ0JBQWtDO01BQ2xDLGlCQUFrSCxFQUFBO0lBL0IxSDtNQU1BLFdBQVc7TUFDUCxRQUFRO01BQ1IsU0FBUztNQUNULGtCQUFrQjtNQUVkLE1BQU07TUFDTixTQUFTO01BWWIsaUJBQWM7TUFDZCxtQkFBbUI7TUFDbkIseUJUaDJGYTtNU2syRlQsNEJYL2dGeUQ7TVdnaEZ6RCxhQUFhO01BQ2IsZ0JBQWtDO01BQ2xDLGlCQUFrSCxFQUFBO0lPN3JDOUg7TUEyRWdCLHlCbEJoNkNxRCxFQUFBO01rQnExQ3JFO1FBNkVvQixZWDE4Q1Q7UVcyOENTLGNoQjVuRE4sRUFBQTtJZ0I4aURkO01Ba0ZnQixjaEJob0RGLEVBQUE7RWdCOGlEZDtJQXNGWSxjaEJwb0RFLEVBQUE7RU9zQ047SVN3Z0RSO01BMkZZLGFBQWEsRUFBQSxFQUVwQjtFQTdGTDtJQStGUSxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLG1CUjlyRHdEO0lRK3JEeEQsZ0JBQWdCLEVBQUE7RVQxbURoQjtJU3dnRFI7TUFzR1ksY0FBYztNQUNkLGlCQUFpQjtNQUNqQixXQUFXO01BQ1gsZUFBZTtNQUNmLE1BQU07TUFDTixPQUFPLEVBQUE7TUEzR25CO1FBOEdnQixpQkFBaUI7UUFDakIsdUJBQXVCO1FQeTlDL0Isb0JKM2ZnQztRSTZmcEMsNERWM3NHaUQ7Z0JVMnNHakQsb0RWM3NHaUQ7UVVndEdqRCw0QlYzdEdhO1FVNHRHYix1QkFBbUQ7UUFDbkQsbUJBQW1CO1FPaCtDUCxnQ2hCdGhETTtRZ0JzaEROLHdCaEJ0aERNO1FnQnVoRE4sVUFBVTtRQUNWLGFBQWEsRUFBQSxFQUNoQjtFVHZuREw7SVNtZ0RSO01BeUhnQixpQkFBaUI7TUFDakIsdUJBQXVCO01BQ3ZCLHlEaEJ4aERrQztjZ0J3aERsQyxpRGhCeGhEa0M7TVNxK0YxQyxvQkozZmdDO01JNmZwQyw0RFYzc0dpRDtjVTJzR2pELG9EVjNzR2lEO01VZ3RHakQsNEJWM3RHYTtNVTR0R2IsdUJBQW1EO01BQ25ELG1CQUFtQjtNT3A5Q1AsZ0NoQmxpRE07TWdCa2lETix3QmhCbGlETTtNZ0JtaUROLFVBQVU7TUFDVixhQUFhLEVBQUEsRUFDaEI7RUFoSWI7SUFvSVEsYUFBYSxFQUFBO0lBcElyQjtNQXNJWSxnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLGNoQjF5REs7TWdCMnlETCxnQkFBZ0I7TUFDaEIsb0JSdnVEb0Q7TVF3dURwRCxrQkFBa0IsRUFBQTtFQTNJOUI7SUFnSlksYUFBYSxFQUFBO0VUbnBEakI7SVNtZ0RSO01Bc0pZLFlBQVk7TUFDWixZWDI4QmU7TVcxOEJmLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sUUFBUTtNQUNSLFNBQVM7TUFDVCxZQUFZLEVBQUE7TUE1SnhCO1FBZ0tnQixnQlhrOEJXLEVBQUEsRVdqOEJkO0VBaktiO0lBcUtRLGFBQWEsRUFBQTtJVHhxRGI7TVNtZ0RSO1FBdUtZLFlBQVk7UUFDWixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLFVBQWtDO1FBQ2xDLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLG1DaEJsbERVO1FnQmtsRFYsMkJoQmxsRFUsRUFBQSxFZ0IwbERqQjtJQXRMTDtNQWtMWSxpQkFBaUI7TUFDakIsWUFBWTtNQUNaLG1DaEJ6bERVO01nQnlsRFYsMkJoQnpsRFUsRUFBQTtFZ0JxNkN0QjtJQXdMUSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5QmhCaDJEUztJZ0JpMkRULGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJqQjEwRFMsRUFBQTtJaUI0b0RqQjtNQWlNWSxrQkFBa0IsRUFBQTtNQWpNOUI7UUFtTWdCLFlYbGtESDtRV21rREcsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsaUNoQnhzRHVCO1FnQnlzRHZCLGtCQUFrQjtRQUNsQixjakJyMURDLEVBQUE7SWlCNG9EakI7TUE2TVksU0FBUztNQUNULFVBQVU7TUFDVixrQkFBa0I7TUFDbEIseUJBQXlCO01BQ3pCLG9CUjl5RG9EO01RK3lEcEQsZ0JBQWdCO01BQ2hCLGNqQi8xREssRUFBQTs7QWlCeTJEakI7RUFDSSxhQUFhO0VBQ2IsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTtFVGx1REo7SVNndURSO01BSVEsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixxQlh1N0JXO1VXdjdCWCxrQlh1N0JXO2NXdjdCWCx5Qlh1N0JXO01XdDdCWCxzQmpCcmlEa0M7VWlCcWlEbEMsbUJqQnJpRGtDO2NpQnFpRGxDLHFCakJyaURrQztNaUJzaURsQyw2QmpCN2tEb0I7VWlCNmtEcEIsZ0JqQjdrRG9CLEVBQUEsRWlCa25EM0I7RUE1Q0Q7SUFrQlEsU0FBUztJQUNULGlCWGs3QjhCLEVBQUE7SVdyOEJ0QztNQXFCWSxTQUFTO01BQ1QsVUFBVTtNQUNWLG1CUmoxRG9EO01RazFEcEQsZ0JqQnBqRHlCO01pQnFqRHpCLGtCWDI2QjJCO01XMTZCM0IsdURqQmg2RGlEO01pQmk2RGpELGNqQnI0RE8sRUFBQTtFaUIwMkRuQjtJQWtDUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixzQkFBcUI7UUFBckIsbUJBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixxQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QjtJQUN6QixtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWTtJQUNaLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUF2Q2hCO0lBMENRLHNCQUFxQjtRQUFyQixtQkFBcUI7WUFBckIscUJBQXFCLEVBQUE7O0FBTTdCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJoQnI3RGEsRUFBQTtFT2tLVDtJU2d4RFI7TUFNUSxnQkFBZ0I7TUFFaEIsVUFBVTtNQUlOLHlCaEI5N0RLO01nQm84REwsZ0JBQWdCO01BR2hCLHFCakIzakRvQjtNaUI0akRwQixxQmpCNTZETztNaUI2NkRQLG1CQUFtQjtNQUV2QixtQkFBbUI7TUFDbkIsaUJBQWlCLEVBQUEsRUFvQ3hCO0VUOTBETztJU2d4RFI7TUE4Qlksa0JBQWtCO01BQ2xCLFVBQVUsRUFBQSxFQUVqQjtFQWpDTDtJQXVDZ0Isa0JSajVEZ0Q7SVFrNURoRCxnQmpCaG1ERixFQUFBO0VpQndqRGQ7SUE4Q3dCLG9CUng1RHdDO0lReTVEeEMsZ0JqQjlsRFYsRUFBQTtFaUIraURkO0lBcURnQyxvQlIvNURnQztJUWc2RGhDLGdCWHN1QmxCLEVBQUE7O0FXanRCZDtFQTBCSSxXWHNpQlc7RVdyaUJYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHVCQUEyQjtNQUEzQixvQkFBMkI7VUFBM0IsMkJBQTJCLEVBQUE7RVR4M0R2QjtJUzIxRFI7TUErQlEsaUJqQi8rRGE7TWlCZy9EYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsbUJBQWU7VUFBZixlQUFlO01BQ2YsWUFBWSxFQUFBLEVBdUpuQjtFQXpMRDtJQTBDZ0IseUJqQjlnRUMsRUFBQTtJaUJvK0RqQjtNQTRDb0IsY2hCemlFSCxFQUFBO0VnQjYvRGpCO0lBZ0RnQixjakJwaEVDO0lpQnFoRUQsZ0JqQnByREY7SWlCcXJERSxrQlJ2K0RnRDtJUXcrRGhELGdCWDJoQmM7SVcxaEJkLHlCakJockRpQyxFQUFBO0VpQjRuRGpEO0lBd0RnQixtQlh5aUJLLEVBQUE7SUVqOEViO01TZzJEUjtRQThEZ0Msa0JBQWMsRUFBQSxFQUNqQjtJQS9EN0I7TUFzRTRCLFdBQVcsRUFBQTtJQXRFdkM7TUE2RWdDLGNoQnZrRWY7TWdCd2tFZSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHFCakJwckRUO01pQnFyRFMsb0JScmdFZ0M7TVFzZ0VoQyxnQlhnb0JsQixFQUFBO01XanRCZDtRQW1Gb0MsY2pCbmpFbkIsRUFBQTtNaUJnK0RqQjtRQXNGb0MsY2pCMWpFbkIsRUFBQTtFaUJvK0RqQjtJQXFHWSxVWHYwQkEsRUFBQTtJRXpuQ0o7TVMyMURSO1FBMkdnQixVWDUwQkosRUFBQSxFV2s1Qkg7SVQ1Z0VEO01TMjFEUjtRQWlINEIsZUFBZSxFQUFBLEVBRXRCO0lUOThEYjtNUzIxRFI7UUF3SDRCLGdCQUFnQixFQUFBLEVBRXZCO0lUcjlEYjtNUzIxRFI7UUFpSTRCLGNBQWMsRUFBQSxFQUVyQjtJVDk5RGI7TVMyMURSO1FBeUl3QixrQmpCdndESixFQUFBLEVpQnl3REg7RVR0K0RUO0lTMjFEUjtNQXFMZ0IsZ0JBQWdCLEVBQUEsRUFFdkI7O0FBSVQ7RUFDSSx1QkFBMkI7TUFBM0Isb0JBQTJCO1VBQTNCLDJCQUEyQixFQUFBO0VBRC9CO0lBTVksbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTs7QUFJeEI7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBOztBVGppRVQ7RVNtaUVSO0lBRVEscUJBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUIsRUFBQSxFQUVoQzs7QUFJRDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHFCQUF5QjtNQUF6QixrQkFBeUI7VUFBekIseUJBQXlCO0VBQ3pCLGFYMks0QixFQUFBO0VFM3RFeEI7SVMyaUVSO01BT1Esa0JBQWtCLEVBQUEsRUFvTHpCO0VUM3VFTztJU2dqRVI7TUFXWSxNQUFNLEVBQUEsRUFFYjtFQWJMO0lBZ0JRLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFsQjNCO01Bb0JZLGdCQUFnQixFQUFBO0VBcEI1QjtJQTBCWSxnQlh3SitCO0lXdkovQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixxQlhzSm1DO0lXckpuQyxlQUFlO0lBS1gsbUJqQmhzRVMsRUFBQTtJaUI0cEV6QjtNQTBDZ0IsY2pCOXRFQztNaUIrdEVELGVYK0l5QjtNVzlJekIsOEJoQngvRE07TWdCdy9ETixzQmhCeC9ETSxFQUFBO0lnQjQ4RHRCO01BZ0RvQixjakJodUVIO01pQml1RUcsOEJoQjkvREU7TWdCOC9ERixzQmhCOS9ERSxFQUFBO0lnQjY4RHRCO01Bc0RvQixjaEJ6dEUrQixFQUFBO0VnQm1xRW5EO0lBNkRnQixZWDk5REo7SVcrOURJLGlDaEJ2bUV1QixFQUFBO0VnQnlpRXZDO0lBMkVnQixZWDUvREM7SVc2L0RELGlDaEJybkV1QixFQUFBO0VnQnlpRXZDO0lBa0ZnQixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFVBQU07SUFDTixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLHlCakJyd0VGO0lpQnN3RUUsY2pCNXdFQztJaUI2d0VELG9CUjl0RWdEO0lRK3RFaEQsdURqQjN5RTZDO0lpQjR5RTdDLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJqQjN3RUY7SWlCNHdFRSx1RGhCMWlFTTtJZ0IwaUVOLCtDaEIxaUVNLEVBQUE7RWdCNDhEdEI7SUFxR29CLHlCaEJsekVIO0lnQm16RUcscUJqQnR4RUg7SWlCdXhFRyxjakJ2eEVIO0lpQnd4RUcsMkRoQnJqRUU7SWdCcWpFRixtRGhCcmpFRSxFQUFBO0VnQjY4RHRCO0lBK0dvQix5QmpCbnlFSDtJaUJveUVHLGNoQjd6RUg7SWdCOHpFRyxxQmpCcnlFSCxFQUFBO0VReUlUO0lTMmlFUjtNQTBIZ0IsUUFBUTtNQUNSLGtCQUFrQjtNQUNsQixnQkFBZ0IsRUFBQSxFQVN2QjtFVGhyRUQ7SVMyaUVSO01BZ0lvQixZWDZESDtNVzVERyxZQUFZO01BQ1osaUJBQWlCLEVBQUEsRUFFeEI7RUFwSWI7SUF1SVksYUFBYSxFQUFBO0lUbHJFakI7TVMyaUVSO1FBeUlnQixRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixRQUFRO1FBQ1IsY0FBYztRQUNkLGdCQUFnQjtRQUNoQix5QmhCNTFFQyxFQUFBLEVnQmczRVI7SVQ5c0VEO01TMmlFUjtRQW1Kb0IsWVhnWUo7UVcvWEksUUFBUTtRQUNSLGFYa1lMO1FXOVhLLGlCQUFpQixFQUFBLEVBRXhCO0lUdHNFTDtNUzJpRVI7UUE4Sm9CLFNBQVM7UUFDVCxVQUFVO1FBQ1YsZ0JBQWdCLEVBQUEsRUFFdkI7RVQ3c0VMO0lTMmlFUjtNQXNLZ0IsUUFBUTtNQUNSLGtCQUFrQjtNQUNsQixZQUFZO01BQ1osZ0JBQWdCLEVBQUEsRUFnQnZCO0VUcHVFRDtJUzJpRVI7TUE4S29CLFlYZ0JDO01XZkQsaUJBQWlCLEVBQUE7TUEvS3JDO1FBa0w0QixjakJsMkVYO1FpQm0yRVcsOEJoQmhvRU47UWdCZ29FTSxzQmhCaG9FTixFQUFBLEVnQmlvRUc7O0FBV3pCO0VBY0ksZ0JYM0J1QztFVzRCdkMsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFJYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixXWFpvQztFV2NwQyxxQlhqQzJDO0VXa0MzQyxjakIxNEVhO0VpQjg0RWIsd0VoQnRxRWtCO0VnQnNxRWxCLGdFaEJ0cUVrQixFQUFBO0VnQjJvRXRCO0lBNkJRLHlCaEJ2NUV5QixFQUFBO0VnQjAzRWpDO0lBZ0NRLGNqQnQ1RVc7SWlCMDVFWCxxQmpCdjVFUztJaUJ3NUVULHdFaEJqckVjO0lnQmlyRWQsZ0VoQmpyRWMsRUFBQTtJZ0I0b0V0QjtNQXVDWSxjakJ0NUVLO01pQjA1RUwscURoQnZyRVU7TWdCdXJFViw2Q2hCdnJFVSxFQUFBO0VnQjRvRXRCO0lBK0NRLGNoQnI3RVM7SWdCeTdFVCxxQmpCdDZFUyxFQUFBO0lpQm0zRWpCO01BcURZLGNoQnY1RXVDLEVBQUE7RWdCazJFbkQ7SUE0RFEsWVh2OURLO0lXODlETCxpQ2hCM3lFK0I7SWdCNHlFL0IsZVh6RWlDO0lXMEVqQyxjakJ4N0VTO0lpQjQ3RVQsbUJqQnA2RWlCO0lpQnE2RWpCLHFEaEJydEVjO0lnQnF0RWQsNkNoQnJ0RWMsRUFBQTs7QWdCeXRFdEI7RUFFUSx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixhWDJRd0I7RVcxUXhCLG9CUnQ1RXdEO0VRdTVFeEQsZ0JBQWdCO0VBQ2hCLGNoQjc5RVM7RWdCODlFVCw0QmhCanVFYztFZ0JpdUVkLG9CaEJqdUVjLEVBQUE7RWdCMHRFdEI7SUFTWSxjakIxOEVLO0lpQjI4RUwsNEJoQm51RVU7SWdCbXVFVixvQmhCbnVFVSxFQUFBOztBZ0IwdUV0QjtFQUNJLG9CWHNsQmtCLEVBQUE7RUVoNkZkO0lTeTBFUjtNQU1RLGlCWGtsQlcsRUFBQSxFV2hsQmxCOztBQUNEO0VBQ0ksV0FBVztFQUdYLHlCaEJsL0VhLEVBQUE7RU80SlQ7SVNrMUVSO01BT1EsZUFBZSxFQUFBLEVBMkp0QjtFVHAvRU87SVNrMUVSO01BVVEsVUFBVSxFQUFBLEVBd0pqQjtFQWxLRDtJQWFRLHdFQUFxQixFQUFBO0lUcDJFckI7TVN1MUVSO1FBc0JZLG1CQUFZO1lBQVosb0JBQVk7Z0JBQVosWUFBWSxFQUFBLEVBd0luQjtJQTlKTDtNQTBCWSxvQlhnbEJhO01XL2tCYixtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWSxFQUFBO0lBM0J4QjtNQStCZ0IsZVhnbEJJO01XL2tCSixxQmpCMy9FQztNaUI0L0VELG1CQUFtQjtNQUVmLG1CakJ0K0VLLEVBQUE7SWlCbThFekI7TUF3Q1ksWUFBWTtNQUNaLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBNUJtQjtVQTRCbkIscUJBNUJtQjtjQTRCbkIsdUJBNUJtQjtNQTZCbkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFJZiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFFdkIsU0FBUztNQUNULGlCWCtoQlU7TVc5aEJWLGtCWG1qQlU7TVdsakJWLGNqQi9nRks7TWlCZ2hGTCxrQlhrakJXO01XampCWCxvQlJsK0VvRDtNUW0rRXBELGdCWGtqQlMsRUFBQTtJV3ptQnJCO01BMERZLGdCQUFnQjtNQUNoQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BUWYsa0JYc2dCTztNV3BnQlgsNkNBQTZDLEVBQUE7SUF0RXpEO01BeUVZLFdBQVc7TUFDWCxZQUFZO01BQ1osb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFJVCw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFFdkIsd0JBbkVtQjtVQW1FbkIscUJBbkVtQjtjQW1FbkIsdUJBbkVtQjtNQW9FbkIsaUJYK2ZVO01XOWZWLGtEaEJ0MEVVO01nQnMwRVYsMENoQnQwRVUsRUFBQTtNZ0JtdkV0QjtRQXFGZ0IseUJYaWdCZ0I7UVdoZ0JoQixZWDZmTTtRVzVmTix1RGhCMzBFTTtRZ0IyMEVOLCtDaEIzMEVNLEVBQUE7TWdCb3ZFdEI7UUFpR2dCLHlCWHNmaUIsRUFBQTtNV3ZsQmpDO1FBMkdnQixVQUFVLEVBQUE7SVQ3N0VsQjtNU2sxRVI7UUE0SG9CLFlYbWVOLEVBQUE7UVcvbEJkO1VBK0h3QixlQUFlLEVBQUE7UUEvSHZDO1VBa0l3QixnQkFBZ0IsRUFBQSxFQUNuQjtJVHI5RWI7TVNrMUVSO1FBMkl3QixrQkFBa0I7UUFDbEIsaUJYc2RWLEVBQUE7UVdsbUJkO1VBOEk0QixXQUFXO1VBQ1gsVVhtZGQ7VVdsZGMsWVhtZFo7VVdsZFksa0JBQWtCO1VBQ2xCLE1BQU07VUFDTixTQUFTO1VBQ1QsT0FBTztVQUNQLFlBQVk7VUFDWix5QmhCMW9GWDtVZ0Iyb0ZXLFVBQVUsRUFBQSxFQUNiO0VBeEp6QjtJQWdLUSxrQkFBa0IsRUFBQTs7QUFNMUI7RUFDSSxTWDhXd0MsRUFBQTtFVy9XNUM7SUFHUSxjWDJXcUMsRUFBQTs7QVd0VzdDO0VBRVEsY1hvV3FDLEVBQUE7O0FXL1Y3QztFQUlJLGdCakJ0d0VVLEVBQUE7RWlCa3dFZDtJQUVRLGNBQWMsRUFBQTtFVHpnRmQ7SVN1Z0ZSO01BTVEsZ0JqQnZ3RU0sRUFBQSxFaUJ5d0ViOztBQUVEO0VBRVEsZ0JqQjl3RU07RWlCZ3hFTixtQmpCaHhFTSxFQUFBO0VRclFOO0lTaWhGUjtNQU1ZLGdCakJqeEVFO01pQmt4RUYsbUJqQmx4RUUsRUFBQSxFaUJveEVUOztBQVRMO0VBYVksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFFYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlLEVBQUE7RVRqaUZuQjtJU2loRlI7TUFrQmdCLFNBQVMsRUFBQSxFQUVoQjs7QVRyaUZEO0VTaWhGUjtJQXdCWSxtQkFBbUI7SUFDbkIsa0JBQWtCLEVBQUEsRUFFekI7O0FBbERLO0VBcUROLFVBQVUsRUFBQTtFQURkO0lBR1EscUJBQXFCO0lBQ3JCLG9CUjVvRndEO0lRNm9GeEQsZ0JYZ1U0QixFQUFBO0VXclVwQztJQVdRLG9CUm5wRndEO0lRb3BGeEQsZ0JqQjV6RTRCLEVBQUE7RWlCZ3pFcEM7SUFlUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0lBZnJCO01Ba0JZLHdCQUFnRDtNQUVoRCxnQkFBOEM7TUFJOUMsbUNoQnBnRnlDO01nQnFnRnpDLGNqQjMwRW9CLEVBQUE7TVE1UHhCO1FTOGlGUjtVQTJCZ0IsZ0JqQjkwRWdCLEVBQUEsRWlCZzFFdkI7O0FBSVQ7RUFDSSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0VBRHhCO0lBR1EsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixvQlI5cUZ3RDtJUStxRnhELGNoQnB2RlMsRUFBQTs7QWdCMHZGakI7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHFCQUF5QjtNQUF6QixrQkFBeUI7VUFBekIseUJBQXlCO0VBQ3pCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLFdYb1QrQixFQUFBO0VXeFRuQztJQWNvQix5QmxCMzdFaUQsRUFBQTtFa0I2NkVyRTtJQXFCb0IseUJsQmw4RWlELEVBQUE7RWtCNjZFckU7SUErQm9CLHlCaEJ6eEZILEVBQUE7RWdCMHZGakI7SUFzQ29CLHlCakJ0d0ZILEVBQUE7RWlCZ3VGakI7SUFzRFksbUJBQXVELEVBQUE7SUF0RG5FO01Bd0RnQixVQUFVO01BQ1YseUJoQmh6RkMsRUFBQTtFZ0J1dkZqQjtJQTZEWSxhQUFhLEVBQUE7RUE3RHpCO0lBZ0VZLDZCaEJoMEZTO0lnQmkwRlQscUJoQmx6RnFCLEVBQUE7RWdCaXZGakM7SUE2RVksa0JBQXNELEVBQUE7SUE3RWxFO01BK0VnQixTQUFTO01BQ1QseUJqQnJ6RkcsRUFBQTtFaUJxdUZuQjtJQW9GWSxhQUFhLEVBQUE7RUFwRnpCO0lBdUZZLDZCaEJ2MUZTO0lnQncxRlQscUJoQnowRnFCLEVBQUE7RWdCaXZGakM7SUE0RlEsV1hpTmdDO0lXaE5oQyxrQkFBa0Q7SUFDbEQsU0FBUztJQUNULGlCWG9OaUM7SVduTmpDLG1CQUFtQjtJQUNuQixtQmpCN3lGaUI7SWlCOHlGakIsY0FBYztJQUNkLHFGaEIvbEZjO0lnQitsRmQsNkVoQi9sRmM7SWdCK2xGZCxxRWhCL2xGYztJZ0IrbEZkLDhGaEIvbEZjLEVBQUE7SWdCNC9FdEI7TUFxR1kseURoQjFsRnNDO2NnQjBsRnRDLGlEaEIxbEZzQztNZ0IybEZ0QyxxRmhCbm1GVTtNZ0JtbUZWLDZFaEJubUZVO01nQm1tRlYscUVoQm5tRlU7TWdCbW1GViw4RmhCbm1GVSxFQUFBO0VnQjYvRXRCO0lBMEdRLHFCQUFxRDtJQUNyRCxrQkFBa0Q7SUFHbEQscUJBQXFCLEVBQUE7SUE5RzdCO01BZ0hZLFdBQVc7TUFDWCxnQkFBaUQ7TUFDakQsaUJBQWtEO01BQ2xELGtCQUFrQjtNQUNsQixNQUFNO01BQ04sU0FBUztNQUNULFlBQVk7TUFDWixjQUFjO01BQ2QsbUJqQnAwRmE7TWlCcTBGYiw0QmhCcm5GVTtNZ0JxbkZWLG9CaEJybkZVLEVBQUE7RWdCNC9FdEI7SUE2SFEsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLGNBQWMsRUFBQTtFQWpJdEI7SUFvSVEsVUFBVSxFQUFBO0VBcElsQjtJQXVJUSxTQUFTLEVBQUE7RUF2SWpCO0lBMElRLFdBQVc7SUFDWCxVQUFVO0lBQ1YsU0FBUyxFQUFBO0VBNUlqQjtJQStJUSxTQUFTO0lBQ1QsY2pCcjNGVztJaUJzM0ZYLG9CUnQwRndEO0lRdTBGeEQsZ0JqQjk5RVEsRUFBQTtFaUI0MEVoQjtJQXFKUSxlQUFlLEVBQUE7SUFySnZCO01BdUpZLG9CUjUwRm9EO01RNjBGcEQsZ0JqQnArRUksRUFBQTs7QWtCdmNoQjs7Ozs7Ozs7Ozs7O0NyQnk3UUM7QXFCaDZRRDtFQWlDWSxnQlpvaUpZLEVBQUE7O0FZcmtKeEI7RUF5Q1EsV0FBVztFQUNYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLG1CQUFlO01BQWYsZUFBZTtFQUNmLGdCbEJ5bUJXO0VrQnhtQlgsaUJsQjRtQlc7RWtCem1CSCxnQ2pCeENpQixFQUFBO0VPc0p6QjtJVS9KUjtNQXdEWSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQjtNQUNsQix3QlorOUpnQztVWS85SmhDLHFCWis5SmdDO2NZLzlKaEMsdUJaKzlKZ0M7TVk5OUpoQyx1QlpzL0o0QjtVWXQvSjVCLG9CWnMvSjRCO2NZdC9KNUIsMkJacy9KNEI7TVlyL0o1QixTbEI0bEJBO01rQjNsQkEsVWxCK2xCQTtNa0I5bEJBLFNBQVMsRUFBQSxFQXVEaEI7RUFwSEw7SUFpRWdCLFdBQVc7SUFDWCxnQlpxOUp5QjtJWXA5SnpCLGNqQnRFQztJaUJ1RUQsZVRDZ0Q7SVNBaEQsZ0JsQjhqQmU7SWtCN2pCZix5QmxCOGpCd0I7SWtCN2pCeEIsY0FBYyxFQUFBO0lWd0Z0QjtNVS9KUjtRQXlFb0IsZ0JsQndqQlM7UWtCdmpCVCxnQlorOEp1QixFQUFBLEVZNzhKOUI7RUE1RWI7SUErRVksWVprOUpnQztJWWo5SmhDLFdaaTlKZ0M7SVloOUpoQywyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUVmLG1CakJxS29CO0lpQnBLcEIseUJqQnpGQztJaUIyRkwseUJqQjNGSztJaUI0RkwscUJBQXFCO0lBQ3JCLGdDakJvS1U7SWlCcEtWLHdCakJvS1UsRUFBQTtJaUI5UHRCO01BNEZnQix5QmpCL0ZDO01pQmdHRCxxQmpCaEdDO01pQmlHRCxZWnM4SnNCO01ZcjhKdEIsZ0NqQjhKTTtNaUI5Sk4sd0JqQjhKTSxFQUFBO0lpQjdQdEI7TUFrR2dCLHlCakJyR0M7TWlCc0dELHFCbEI3RUMsRUFBQTtFa0J0QmpCO0lBdUdZLGVsQjZpQndCLEVBQUE7RWtCcHBCcEM7SUEwR1ksV0FBVztJQUNYLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBSWIsUUFBUSxFQUFBO0lWZ0RaO01VL0pSO1FBaUhnQix1QlorN0p3QjtZWS83SnhCLG9CWis3SndCO2dCWS83SnhCLDJCWis3SndCLEVBQUEsRVk3N0ovQjs7QUFuSFQ7RUF1SFEsU1p5eEphO0VZeHhKYixVWjB4SkksRUFBQTtFRW52Sko7SVUvSlI7TUEwSFksVVp5eEpBLEVBQUEsRVl6d0pQO0VBMUlMO0lBNkhZLGNqQmhJSztJaUJpSUwsZVR6RG9EO0lTMERwRCxnQlowa0prQjtJWXprSmxCLG9CWnVrSjJCLEVBQUE7O0FZdnNKdkM7RUE2SVksZ0JBQXdELEVBQUE7RUE3SXBFO0lBK0lnQixjbEJ6SEM7SWtCMEhELGVUM0VnRCxFQUFBO0lTckVoRTtNQXFKb0IsY2pCeEpILEVBQUE7TWlCR2pC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SFE7RVkvMUhKLFVabTJISTtFWWoySFIsNEJabzZIMkI7TVlwNkgzQixpQlpvNkgyQjtVWXA2SDNCLFFabzZIMkIsRUFBQTtFRTEvSXZCO0lVd2tCUjtNQWdCUSxjWnMxSE07TVkxMEhGLFNaZzFIQTtNWTcwSEEsVVppMUhBLEVBQUEsRVk3eUhYO0VBbkVEO0lBb0NRLHVCWjI0SHVDO1FZMzRIdkMsb0JaMjRIdUM7WVkzNEh2QywyQloyNEh1QyxFQUFBO0lZLzZIL0M7TUFzQ1ksdUJaeTRIbUM7VVl6NEhuQyxvQlp5NEhtQztjWXo0SG5DLDJCWnk0SG1DLEVBQUE7RVkvNkgvQztJQTJDUSw0Qlp3MEhXO1FZeDBIWCxpQlp3MEhXO1lZeDBIWCxRWncwSFcsRUFBQTtFWW4zSG5CO0lBK0NRLDRCWnEwSFc7UVlyMEhYLGlCWnEwSFc7WVlyMEhYLFFacTBIVyxFQUFBO0VZcDNIbkI7SUFvRFksNEJaaTBIQztRWWowSEQsaUJaaTBIQztZWWowSEQsUVppMEhDLEVBQUE7O0FZL3lIYjtFQUtRLGdCbEJqS1c7RWtCa0tYLGNqQnR6QlM7RWlCdXpCVCxlVC91QndEO0VTZ3ZCeEQsZ0JsQmxMdUI7RWtCbUx2QixjQUFjO0VBQ2QseUJsQm5MZ0MsRUFBQTtFUXJlaEM7SVU4b0JSO01BWVksZ0JsQnhMaUIsRUFBQSxFa0IwTHhCOztBQUdMO0VBQ0ksVVo2NkhVO0VZejZIVixnQlprN0hlLEVBQUE7RUUzbEpYO0lVb3FCUjtNQU9RLFVadzZITyxFQUFBLEVZNzVIZDtFVmpyQk87SVUrcEJSO01BZ0JRLGdCWnc2SFcsRUFBQSxFWXQ2SGxCOztBQUVEO0VBQ0ksZ0JaMjZIZSxFQUFBO0VFL2xKWDtJVW1yQlI7TUFHUSxnQlowNkhXLEVBQUEsRVkvM0hsQjtFQTlDRDtJQU9RLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJaZzZIUztJWWg2SFQsNkJaZzZIUztRWWg2SFQsMEJaZzZIUztZWWg2SFQsc0JaZzZIUyxFQUFBO0lZeDZIakI7TUFlWSxnQlppNkhPLEVBQUE7TVloN0huQjtRQWlCZ0IsNkJqQnoyQkssRUFBQTtNT3FLYjtRVW1yQlI7VUFvQmdCLGdCWjY1SEcsRUFBQSxFWXI0SFY7TUE1Q1Q7UUF1QmdCLGVaczBIQztRWXIwSEQsZ0JsQmwxQks7UWtCbTFCTCxlVHR5QmdELEVBQUE7UUQwRnhEO1VVbXJCUjtZQTJCb0IsVVptMEhSLEVBQUEsRVluekhDO1FBM0NiO1VBOEJvQixjakJuM0JILEVBQUE7UWlCcTFCakI7VUFpQ29CLGNqQnQzQkgsRUFBQTs7QWlCcTRCakI7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLGtCWnU0SG9DO0VZdDRIcEMseUJsQmgzQmE7RWtCaTNCYixjakIxNEJhO0VpQjI0QmIsa0JBQWtCO0VBQ2xCLG1CVHAwQjREO0VTcTBCNUQsZ0JaeTRIa0M7RVl4NEhsQyxtQmxCNzFCcUI7RWtCODFCckIscURqQjlvQmtCO0VpQjhvQmxCLDZDakI5b0JrQixFQUFBO0VPcEdkO0lVd3VCUjtNQVlRLDBCQUFrQjtNQUFsQix1QkFBa0I7TUFBbEIsa0JBQWtCLEVBQUEsRUFTekI7RUFyQkQ7SUFlUSx5QmxCdjNCUztJa0J3M0JULHlDakJycEJjO0lpQnFwQmQsaUNqQnJwQmMsRUFBQTtFaUJxb0J0QjtJQW1CUSx5QmpCbDJCMkMsRUFBQTs7QWlCczJCbkQ7RUFXWSxhQUFhLEVBQUE7O0FBWHpCO0VBY1ksY0FBYyxFQUFBO0VWeHdCbEI7SVUwdkJSO01BZ0JnQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFsQlQ7RUFxQlEsYUFBYSxFQUFBOztBQUlyQjtFUm5sQkkscUNBQWdDO0VBdUI1QixXSms3SU87RUlsNklYLG9CUTZpQjBYO0VSN2lCMVgsb0JRNmlCMFg7RVI3aUIxWCxhUTZpQjBYO0VSM2lCdFgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1R0WmE7RVN1WmIseUJWOVhhO0VVK1hiLGlCSitjNEI7RUk5YzVCLGVEalY0RDtFQ2tWNUQsZ0JKKzRJc0M7RUk5NEl0QyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxxQkpnYzJCO0VJL2IzQixpQko4YndCO0VJM2J4QixxQlY3WVM7RVVpWmIscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCO0VTMFFkOzs7Ozs7OztTYnczUUMsRWFoM1FDO0VGalhGO0lVbXhCUjtNUjdmUSwwQkpvM0ljO01JcDNJZCx1QkpvM0ljO01JcDNJZCxrQkpvM0ljO01JbjNJZCw0Q0FBa0UsRUFBQSxFUThmekU7RVJ6Zkc7SUFDSTtNQUNJLGNUaGNLO01TaWNMLHlCVnBhSztNVXNhRCxxQlZ0YUM7TVUwYUwscUJBQXFCO01BQ3JCLDRCVHhNVTtNU3dNVixvQlR4TVUsRUFBQTtNUzBNTjtRQUNDLGNUM2NBO1FTNGNBLDhCVDVNSztRUzRNTCxzQlQ1TUssRUFBQTtNU2dOVjtRQUNJLHlCVGpkQztRU2tkRCx5Q1RsTk07UVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7RUFHVDtJQUNJLGNUdmRTO0lTd2RULHlCVDlhMkM7SVNnYnZDLHFCVGhidUM7SVNvYjNDLDRCVDlOYztJUzhOZCxvQlQ5TmMsRUFBQTtJU2dPVjtNQUNDLGNUamVJLEVBQUE7RVNxZWI7SUFJUSxjWHpKeUQ7SVc4SnpELHlCVDllSztJU21mTCxzQ1Y3ZE87SVUrZFgsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNYeEt3RCxFQUFBO0VXNEtqRTtJQUlRLHNDVjFlTyxFQUFBO0VVOGVmO0lBQ0ksYUFBYTtJQUNiLDREVmxlNkM7WVVrZTdDLG9EVmxlNkMsRUFBQTtFVXVmN0M7SUFDSSxZSnpORjtJSTBORSxrQkpveElVO0lJbnhJVixpQ1QxWDJCO0lTMlgzQixlSnF4SUU7SUloeElGLGNUcGlCSztJU3FpQkwsOEJUcFNVO0lTb1NWLHNCVHBTVSxFQUFBO0VTdVNsQjtJQUNJLHlDVHhTYztJU3dTZCxpQ1R4U2MsRUFB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QixFQUFBO0lPL0ZkO01hdktSO1FYNmJRLFlXc1J5SztRWHJSekssc0RBQWtFLEVBQUEsRVdzUmpFO0lYalJMO01BQ0k7UUFDSSxjVGhjSztRU2ljTCx5QlYzYU87UVU2YUgscUJUaGNDO1FTb2NMLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFDSSxjVHZkUztNU3dkVCx5QlYvYlM7TVVtY0wscUJWbmNLO01VcWNULDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtJU3FPbEI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU21mTCxzQ1Y3ZE87TVUrZFgsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVVvZ0JqRDtNQUNJLHlDVHhTYztNU3dTZCxpQ1R4U2MsRUFBQTtFb0J0UXRCO0lYNmxCSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFDbkI7TUFDSSxZSjlSVTtNSStSVixpQ1R6YitCO01TMGIvQixlSjROUTtNSTFOSixjVDdsQks7TVNpbUJULHNEVG5XYztNU21XZCw4Q1RuV2M7TVNtV2Qsc0NUbldjO01TbVdkLDhEVG5XYyxFQUFBO0lTc1dkO01BR1EsY1ZqbEJDO01VcWxCTCxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNEVC9XVTtNUytXViw4Q1QvV1U7TVMrV1Ysc0NUL1dVO01TK1dWLDhEVC9XVSxFQUFBO0lTbVhkO01BQ0ksY1Z2bEJLO01Vd2xCTCw4Q1RyWFU7TVNxWFYsc0NUclhVLEVBQUE7RW9CclF0QjtJWDBrRUkseUJYcnZEaUU7SVdzdkRqRSx5QlQvOERVO0lTaTlETixtQlZ2aEVpQixFQUFBO0lVMGhFakI7TUFDSSxZSnB5REQsRUFBTztJSXd5RFY7TUFDSSxjVDE5REUsRUFBQTtJUys5RE47TUFDSSxZSi95REQ7TUlnekRDLGNUaitERSxFQUFBO0lTbytEVjtNQUNJLGNUcitETSxFQUFBO0VvQjVIZDtJWDBrRUkseUJYcnZEaUU7SVdzdkRqRSx5QlQvOERVO0lTaTlETixtQlZ2aEVpQixFQUFBO0lVMGhFakI7TUFDSSxZSnB5REQsRUFBTztJSXd5RFY7TUFDSSxjVDE5REUsRUFBQTtJUys5RE47TUFDSSxZSi95REQ7TUlnekRDLGNUaitERSxFQUFBO0lTbytEVjtNQUNJLGNUcitETSxFQUFBO0VvQjVIZDtJWHVXSSxxQ0FBZ0M7SUF1QjVCLFdXdVdrTDtJWHZWdEwsb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVC9SVTtJU2dTVix5Qlh2RWlFO0lXd0VqRSxpQkorYzRCO0lJOWM1QixvQkRqVjREO0lDa1Y1RCxnQldzVWlLO0lYclVqSyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJM2J4QixxQlZoWlc7SVVvWmYscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVg2YlEsWVd3U2dNO1FYdlNoTSxzREFBa0UsRUFBQSxFV3dTakU7SVhuU0w7TUFDSTtRQUNJLGNUaGNLO1FTaWNMLHlCVDFVRTtRUzRVRSxxQlQ1VUY7UVNnVkYscUJBQXFCO1FBQ3JCLDRCVHhNVTtRU3dNVixvQlR4TVUsRUFBQTtRU2dOVjtVQUNJLHlCVGpkQztVU2tkRCx5Q1RsTk07VVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7SUFHVDtNQUNJLGNUdmRTO01Td2RULHlCSm1aOEQ7TUkvWTFELHFCSitZMEQ7TUk3WTlELDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtJU3FPbEI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU21mTCxzQ1Y3ZE87TVUrZFgsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVVvZ0JqRDtNQUNJLHlDVHhTYztNU3dTZCxpQ1R4U2MsRUFBQTtFb0J0UXRCO0lYcW1FSSx5QlhoeERpRTtJV2l4RGpFLHlCVGgvRFU7SVNrL0ROLG1CVmxqRWlCLEVBQUE7SVVxakVqQjtNQUNJLFlKaDBEQyxFQUFPO0lJbzBEWjtNQUNJLGNUMy9ERSxFQUFBO0lTZ2dFTjtNQUNJLFlKMzBEQztNSTQwREQsY1RsZ0VFLEVBQUE7SVNxZ0VWO01BQ0ksY1R0Z0VNLEVBQUE7RW9CdEhkO0lYcW1FSSx5QlhoeERpRTtJV2l4RGpFLHlCVGgvRFU7SVNrL0ROLG1CVmxqRWlCLEVBQUE7SVVxakVqQjtNQUNJLFlKaDBEQyxFQUFPO0lJbzBEWjtNQUNJLGNUMy9ERSxFQUFBO0lTZ2dFTjtNQUNJLFlKMzBEQztNSTQwREQsY1RsZ0VFLEVBQUE7SVNxZ0VWO01BQ0ksY1R0Z0VNLEVBQUE7RW9CdEhkO0lYdVdJLHFDQUFnQztJQXVCNUIsV1dxWGtMO0lYcld0TCxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUL1JVO0lTZ1NWLHlCWHZFaUU7SVd3RWpFLGlCSitjNEI7SUk5YzVCLG9CRGpWNEQ7SUNrVjVELGdCV29WaUs7SVhuVmpLLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVmpKZ0M7SVVvSmhDLHNCVi9JNEM7SVVnSjVDLGlCSjhid0I7SUkzYnhCLHFCVmhaVztJVW9aZixxQkFBcUI7SUFDckIsY0owYnlCO0lJdmJyQiw4QkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCVGhMa0I7SVNnTGxCLG9CVGhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWDZiUSxZV3NUZ007UVhyVGhNLHNEQUFrRSxFQUFBLEVXc1RqRTtJWGpUTDtNQUNJO1FBQ0ksY1RoY0s7UVNpY0wseUJUMVVFO1FTNFVFLHFCVDVVRjtRU2dWRixxQkFBcUI7UUFDckIsNEJUeE1VO1FTd01WLG9CVHhNVSxFQUFBO1FTZ05WO1VBQ0kseUJUamRDO1VTa2RELHlDVGxOTTtVU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtJQUdUO01BQ0ksY1R2ZFM7TVN3ZFQseUJKbVo4RDtNSS9ZMUQscUJKK1kwRDtNSTdZOUQsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO0lTcU9sQjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TbWZMLHNDVjdkTztNVStkWCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDVjFlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVW9nQmpEO01BQ0kseUNUeFNjO01Td1NkLGlDVHhTYyxFQUFBO0VvQnRRdEI7SVhxbUVJLHlCWGh4RGlFO0lXaXhEakUseUJUaC9EVTtJU2svRE4sbUJWbGpFaUIsRUFBQTtJVXFqRWpCO01BQ0ksWUpoMERDLEVBQU87SUlvMERaO01BQ0ksY1QzL0RFLEVBQUE7SVNnZ0VOO01BQ0ksWUozMERDO01JNDBERCxjVGxnRUUsRUFBQTtJU3FnRVY7TUFDSSxjVHRnRU0sRUFBQTtFb0J0SGQ7SVhxbUVJLHlCWGh4RGlFO0lXaXhEakUseUJUaC9EVTtJU2svRE4sbUJWbGpFaUIsRUFBQTtJVXFqRWpCO01BQ0ksWUpoMERDLEVBQU87SUlvMERaO01BQ0ksY1QzL0RFLEVBQUE7SVNnZ0VOO01BQ0ksWUozMERDO01JNDBERCxjVGxnRUUsRUFBQTtJU3FnRVY7TUFDSSxjVHRnRU0sRUFBQTtFb0J0SGQ7SVh1V0kscUNBQWdDO0lBdUI1QixXV29Zc007SVhwWDFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Y3WGE7SVU4WGIseUJYdkVpRTtJV3dFakUsaUJKK2M0QjtJSTljNUIsb0JEalY0RDtJQ2tWNUQsZ0JXbVdxTDtJWGxXckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSTNieEIscUJWaFpXO0lVb1pmLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01hdktSO1FYNmJRLFlXcVVvTjtRWHBVcE4sc0RBQWtFLEVBQUEsRVdxVWpFO0lYaFVMO01BQ0k7UUFDSSxjVGhjSztRU2ljTCx5QlR0VkU7UVN3VkUscUJUeFZGO1FTNFZGLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFFSSx5QkptWjhEO01JL1kxRCxxQkorWTBEO01JN1k5RCw0QlQ5TmM7TVM4TmQsb0JUOU5jLEVBQUE7SVNxT2xCO01BSVEsY1h6SnlEO01XOEp6RCx5QlQ5ZUs7TVNtZkwsc0NWN2RPO01VK2RYLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NWMWVPLEVBQUE7SVU4ZWY7TUFDSSxhQUFhO01BQ2IsNERWbGU2QztjVWtlN0Msb0RWbGU2QyxFQUFBO0lVb2dCakQ7TUFDSSx5Q1R4U2M7TVN3U2QsaUNUeFNjLEVBQUE7RW9CdFF0QjtJWGdvRUkseUJYM3lEaUU7SVc0eURqRSx5QlRqaEVVO0lTbWhFTixtQlY3a0VpQixFQUFBO0lVZ2xFaEI7TUFDRyxZSjUxREMsRUFBTztJSWcyRFo7TUFDSSxjVDVoRUUsRUFBQTtJU2lpRU47TUFDSSxZSnYyREM7TUl3MkRELGNUbmlFRSxFQUFBO0lTc2lFVjtNQUNJLGNUdmlFTSxFQUFBO0VvQmhIZDtJWGdvRUkseUJYM3lEaUU7SVc0eURqRSx5QlRqaEVVO0lTbWhFTixtQlY3a0VpQixFQUFBO0lVZ2xFaEI7TUFDRyxZSjUxREMsRUFBTztJSWcyRFo7TUFDSSxjVDVoRUUsRUFBQTtJU2lpRU47TUFDSSxZSnYyREM7TUl3MkRELGNUbmlFRSxFQUFBO0lTc2lFVjtNQUNJLGNUdmlFTSxFQUFBO0VvQmhIZDtJWHVXSSxxQ0FBZ0M7SUF1QjVCLFdXaVpzTTtJWGpZMU0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVjdYYTtJVThYYix5Qlh2RWlFO0lXd0VqRSxpQkorYzRCO0lJOWM1QixvQkRqVjREO0lDa1Y1RCxnQldnWHFMO0lYL1dyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJM2J4QixxQlZoWlc7SVVvWmYscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVg2YlEsWVdrVm9OO1FYalZwTixzREFBa0UsRUFBQSxFV2tWakU7SVg3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UVN3VkUscUJUeFZGO1FTNFZGLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFFSSx5QkptWjhEO01JL1kxRCxxQkorWTBEO01JN1k5RCw0QlQ5TmM7TVM4TmQsb0JUOU5jLEVBQUE7SVNxT2xCO01BSVEsY1h6SnlEO01XOEp6RCx5QlQ5ZUs7TVNtZkwsc0NWN2RPO01VK2RYLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NWMWVPLEVBQUE7SVU4ZWY7TUFDSSxhQUFhO01BQ2IsNERWbGU2QztjVWtlN0Msb0RWbGU2QyxFQUFBO0lVb2dCakQ7TUFDSSx5Q1R4U2M7TVN3U2QsaUNUeFNjLEVBQUE7RW9CdFF0QjtJWHVXSSxxQ0FBZ0M7SUF5QjVCLFlXaWVxSjtJWG5kekosb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVjdYYTtJVThYYix5QlR2WmE7SVN3WmIsaUJKK2M0QjtJSTljNUIsb0JEalY0RDtJQ2tWNUQsZ0JXa2MwSTtJWGpjMUksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSTNieEIscUJWaFpXO0lVb1pmLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01hdktSO1FYNmJRLFlXb2FxSjtRWG5hckosc0RBQWtFLEVBQUEsRVdvYWpFO0lYL1pMO01BQ0k7UUFDSSxjVGhjSztRU2ljTCx5QlYzYU87UVU2YUgscUJUaGNDO1FTb2NMLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFDSSxjVHZkUztNU3dkVCx5QlYvYlM7TVVtY0wscUJWbmNLO01VcWNULDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtJU3FPbEI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU21mTCxzQ1Y3ZE87TVUrZFgsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVVvZ0JqRDtNQUNJLHlDVHhTYztNU3dTZCxpQ1R4U2MsRUFBQTs7QW9CaW1CdEI7RUFDSSxXQUFXO0VBRVgsWWZ6Qlc7RWUwQlgseUJyQmgxQmUsRUFBQTtFUTRJWDtJYWdzQlI7TUFNUSxzQmYzQmlCLEVBQUEsRWVxRnhCO0VBaEVEO0lBV1EsZUFBZTtJQUNmLFdyQjlxQlE7SXFCK3FCUixpQmY3T1csRUFBQTtJRWhlWDtNYWdzQlI7UUFlWSxnQkFBZ0I7UUFDaEIsWXJCanJCTTtRcUJrckJOLGlCZmhQTyxFQUFBLEVld1FkO0lBekNMO01BcUJZLFdBQVc7TUFDWCxjQUFjO01BQ2QsZXJCcnNCUTtNcUJzc0JSLGdCQUFnQjtNQUNoQixjckJsMkJLO01xQm0yQkwsMkJyQmoyQlM7TXFCazJCVCxnQnJCbnNCSztNcUJvc0JMLGVadHpCb0Q7TVl1ekJwRCxrQmYvUXdCLEVBQUE7RWVrUHBDO0lBNENRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBRWIsY2ZwUVM7SWVxUVQsZWZ2U1MsRUFBQTtJRXhjVDtNYWdzQlI7UUFpRFksOEJBQW1CO1FBQW5CLDZCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix5QkFBOEI7WUFBOUIsc0JBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsY2Z4UUs7UWV5UUwsZWYzU0ssRUFBQSxFZXNUWjtJQS9E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QixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RUEzRWI7SUEyRndCLGlCaEJ1OURQO0lnQnI5RFcsa0JoQnE5RFgsRUFBQTtFRTlnRVQ7SWNwQ1I7TUE2RzRCLGlCdEI5TFA7TXNCZ01XLGtCdEJoTVgsRUFBQSxFc0JrTUk7RUFqSHpCO0lBMkZ3QixnQmhCdzlEUjtJZ0J0OURZLGlCaEJzOURaLEVBQUE7RUUvZ0VSO0ljcENSO01BNkc0QixnQmhCZzlEWjtNZ0I5OERnQixpQmhCODhEaEIsRUFBQSxFZ0I1OERTO0VBakh6QjtJQTJGd0IsZ0JoQnk5RFI7SWdCdjlEWSxpQmhCdTlEWixFQUFBO0VFaGhFUjtJY3BDUjtNQTZHNEIsZ0JoQmk5RFo7TWdCLzhEZ0IsaUJoQis4RGhCLEVBQUEsRWdCNzhEUztFQWpIekI7SUEyRndCLGdCaEIwOURSO0lnQng5RFksaUJoQnc5RFosRUFBQTtFRWpoRVI7SWNwQ1I7TUE2RzRCLGdCaEJrOURaO01nQmg5RGdCLGlCaEJnOURoQixFQUFBLEVnQjk4RFM7RUFqSHpCO0lBMkZ3QixnQmhCMjlEUjtJZ0J6OURZLGlCaEJ5OURaLEVBQUE7RUVsaEVSO0ljcENSO01BNkc0QixnQmhCbTlEWjtNZ0JqOURnQixpQmhCaTlEaEIsRUFBQSxFZ0IvOERTO0VBakh6QjtJQTJGd0IsZ0JoQjQ5RFI7SWdCMTlEWSxpQmhCMDlEWixFQUFBO0VFbmhFUjtJY3BDUjtNQTZHNEIsZ0JoQm85RFo7TWdCbDlEZ0IsaUJoQms5RGhCLEVBQUEsRWdCaDlEUztFQWpIekI7SUEyRndCLGdCaEI2OURSO0lnQjM5RFksaUJoQjI5RFosRUFBQTtFRXBoRVI7SWNwQ1I7TUE2RzRCLGdCaEJxOURaO01nQm45RGdCLGlCaEJtOURoQixFQUFBLEVnQmo5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RCx5RHJCL3hDc0M7VXFCK3hDdEMsaURyQi94Q3NDO0VxQmd5Q3RDLGdCQUFnQjtFQUNoQixzQ3JCenlDVTtFcUJ5eUNWLDhCckJ6eUNVLEVBQUE7RXFCeXhDdEI7SUFtQmdCLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2Qsd0NBQXdEO0lBQ3hELCtEckIxeUNrQztZcUIweUNsQyx1RHJCMXlDa0M7SXFCMnlDbEMsc0NyQm56Q007SXFCbXpDTiw4QnJCbnpDTSxFQUFBOztBcUJ5eEN0QjtFQWdDb0IsVUFBVTtFQUNWLGtEQUFrRTtFQUNsRSxzQ3JCNXpDRTtFcUI0ekNGLDhCckI1ekNFLEVBQUE7RXFCMHhDdEI7SUFvQ3dCLGtEQUFrRTtJQUNsRSxzQ3JCL3pDRjtJcUIrekNFLDhCckIvekNGLEVBQUE7O0FxQjB4Q3RCO0VBNkNnQixVQUFVO0VBQ1Ysa0RBQWtFO0VBQ2xFLHNDckJ6MENNO0VxQnkwQ04sOEJyQnowQ00sRUFBQTtFcUIweEN0QjtJQWlEb0Isb0RBQW9FO0lBQ3BFLHNDckI1MENFO0lxQjQwQ0YsOEJyQjUwQ0UsRUFBQTs7QXFCMHhDdEI7RUEyRFksNkJyQnhsRFM7RXFCeWxEVCw0RHRCbGpEeUM7VXNCa2pEekMsb0R0QmxqRHlDO0VzQm1qRHpDLDhEckJ0MUNVO0VxQnMxQ1Ysc0RyQnQxQ1U7RXFCczFDViw4Q3JCdDFDVTtFcUJzMUNWLHVFckJ0MUNVLEVBQUE7RXFCeXhDdEI7SUErRGdCLHFCckJubERDO0lxQm9sREQsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw4RHJCMzFDTTtJcUIyMUNOLHNEckIzMUNNO0lxQjIxQ04sOENyQjMxQ007SXFCMjFDTix1RXJCMzFDTSxFQUFBO0lxQjB4Q3RCO01Bb0VvQixVQUFVLEVBQUE7O0FBcEU5QjtFQWdGZ0IseURyQmoyQ2tDO1VxQmkyQ2xDLGlEckJqMkNrQyxFQUFBOztBcUJpeENsRDtFQW9GZ0IsVUFBVSxFQUFBO0VBcEYxQjtJQXNGb0IsbURBQTBDO1lBQTFDLDJDQUEwQztJQUMxQyww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O1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLDRDQUFrRTtJQUVsRSwrQ0FBK0M7SUFDL0MsY1Y3WGE7SVU4WGIseUJUdlphO0lTd1piLGlCSitjNEI7SUk5YzVCLGVEalY0RDtJQ2tWNUQsZ0JKMnNIcUM7SUkxc0hyQyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJM2J4QixxQlR0YVM7SVMwYWIscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCLEVBQUE7SU8vRmQ7TW1CMkRSO1FqQjJOUSxXaUI1SjJRO1FqQjZKM1EsNENBQWtFLEVBQUEsRWlCNUpqRTtJakJpS0w7TUFDSTtRQUNJLGNUaGNLO1FTaWNMLHlCVHZadUM7UVN5Wm5DLHFCVHpabUM7UVM2WnZDLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFDSSxjVHZkUztNU3dkVCx5QlYzYlM7TVU2YkwscUJWN2JLO01VaWNULDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtJU3FPbEI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU21mTCxzQ1Y3ZE87TVUrZFgsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVVvZ0JqRDtNQUNJLHlDVHhTYztNU3dTZCxpQ1R4U2MsRUFBQTtFMEJwQ3RCO0lBa0VZLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGdCckJxMEhnQztJcUJwMEhoQyxlbEIzTm9EO0lrQjROcEQseUJyQm8wSHlDLEVBQUE7O0FxQjF6SHJEO0VBRVEsZ0JBQWdCLEVBQUE7O0FBSXhCO0VBR1ksWXJCckJRLEVBQU87O0FxQmtCM0I7RUFRWSxZckIzQkksRUFBTzs7QXFCZ0N2QjtFQUNJLFdBQVc7RUFDWCxtQnJCdXVIK0M7RXFCdHVIL0MsVUFBVSxFQUFBO0VBSGQ7SUFLUSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsYzNCalRTO0kyQmtUVCxvQmxCblF3RDtJa0JvUXhELGdCckJtdUhvQztJcUJsdUhwQyx5QnJCZ3VIdUMsRUFBQTtJcUI1dUgvQztNQWNZLHFCQUFxQjtNQUNyQixpQkFBaUI7TUFDakIsYzFCdlN1QztNMEJ3U3ZDLGlDMUI5SzJCO00wQitLM0Isb0JsQjNRb0QsRUFBQTtFa0J5UGhFO0lBc0JRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHNCQUFrQjtRQUFsQixrQkFBa0I7SUFDbEIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLHlCMUI3VlM7STBCK1ZMLG1CM0I5U2EsRUFBQTtJMkJnUnpCO01BaUNZLGNBQWM7TUFDZCxnQkFBZ0I7TUFDaEIsVUFBVSxFQUFBO0VBbkN0QjtJQXVDUSxZckJ3c0gwQjtJcUJ2c0gxQixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLDZCMUI5V2E7STBCK1diLFNBQVM7SUFDVCxvQmxCclN3RDtJa0JzU3hELGMxQjNXUyxFQUFBO0kwQjhUakI7TUErQ1ksd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0lBL0M1QjtNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsb0JsQjVTb0Q7TWtCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG9CbEI1U29EO01rQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01Ba0RZLHlCckIwckhtQztNcUJ6ckhuQyxvQmxCNVNvRDtNa0I2U3BELHNCQUFzQixFQUFBO0lBcERsQztNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsb0JsQjVTb0Q7TWtCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG9CbEI1U29EO01rQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01BdURZLGVBQWU7TUFDZix5QjFCL1V1QyxFQUFBO0UwQnVSbkQ7SWpCaUNJLHFDQUFnQztJQXlCNUIsV2lCSXdLO0lqQlU1SyxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsMkNBQStDO0lBQy9DLGNUdFphO0lTdVpiLHlCVjNYZTtJVTRYZixpQkorYzRCO0lJOWM1QixrQkRqVjREO0lDa1Y1RCxnQkE5Q3FCO0lBK0NyQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJemJ4QixxQlRsYVM7SVNvYWIscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCLEVBQUE7SU8vRmQ7TW1CK0pSO1FqQnVIUSxXaUJ6RHdLO1FqQjBEeEssNENBQWtFLEVBQUEsRWlCekRqRTtJakI4REw7TUFDSTtRQUNJLGNUaGNLO1FTaWNMLHlCVnBhSztRVXdhRCxxQlZ4YUM7UVUwYUwscUJBQXFCO1FBQ3JCLDRCVHhNVTtRU3dNVixvQlR4TVUsRUFBQTtRU2dOVjtVQUNJLHlCVGpkQztVU2tkRCx5Q1RsTk07VVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7SUFHVDtNQUNJLGNUdmRTO01Td2RULHlCVDlhMkM7TVNrYnZDLHFCVGxidUM7TVNvYjNDLDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtJU3FPbEI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU21mTCxzQ1Y3ZE87TVUrZFgsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVVvZ0JqRDtNQUNJLHlDVHhTYztNU3dTZCxpQ1R4U2MsRUFBQTtFMEJnRXRCO0lqQmlDSSxxQ0FBZ0M7SUF5QjVCLFdpQk95SztJakJPN0ssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjVHRaYTtJU3VaYix5QlRwVVU7SVNxVVYsaUJKK2M0QjtJSTljNUIsa0JEalY0RDtJQ2tWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSXpieEIscUJUbGFTO0lTb2FiLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQixFQUFBO0lPL0ZkO01tQitKUjtRakJ1SFEsV2lCdER5SztRakJ1RHpLLDRDQUFrRSxFQUFBLEVpQnREakU7SWpCMkRMO01BQ0k7UUFDSSxjVGhjSztRU2ljTCx5QlZ6YU87UVU2YUgscUJWN2FHO1FVK2FQLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFDSSxjVHZkUztNU3dkVCx5QlQ5YTJDO01Ta2J2QyxxQlRsYnVDO01Tb2IzQyw0QlQ5TmM7TVM4TmQsb0JUOU5jLEVBQUE7SVNxT2xCO01BSVEsY1h6SnlEO01X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dkI7RUEzQlQ7SWpCNURJLHFDQUFnQztJQXVCNUIsV2lCK0U4TTtJakJqRWxOLGdCaUJpRXNRO0lqQmhFdFEsWWlCZ0VvUDtJakIvRHBQLG9CaUIrRG1TO0lqQi9EblMsb0JpQitEbVM7SWpCL0RuUyxhaUIrRG1TO0lqQjdEL1IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLDRDQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Y3WGE7SVU4WGIseUJUdlphO0lTd1piLGlCSitjNEI7SUk5YzVCLGtCRGpWNEQ7SUNrVjVELGdCSmtrSDZCO0lJamtIN0Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJWakpnQztJVW9KaEMsc0JWL0k0QztJVWdKNUMsaUJKOGJ3QjtJSXpieEIscUJUbGFTO0lTb2FiLHFCQUFxQjtJQUNyQixjSjBieUI7SUl2YnJCLDhCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJUaExrQjtJU2dMbEIsb0JUaExrQjtJUzBRZDs7Ozs7Ozs7U2I0aGRDO0k4QjlsZEQsbUJBQW1CLEVBQUE7SW5CdlNuQjtNbUI0UFI7UWpCMEJRLDBCaUJnQmtPO1FqQmhCbE8sdUJpQmdCa087UWpCaEJsTyxrQmlCZ0JrTztRakJmbE8sNENBQWtFLEVBQUEsRWlCaUJyRTtJakJaRDtNQUNJO1FBQ0ksY1RoY0s7UVNpY0wseUJWcGFLO1FVd2FELHFCVnhhQztRVTBhTCxxQkFBcUI7UUFDckIsNEJUeE1VO1FTd01WLG9CVHhNVSxFQUFBO1FTME1OO1VBQ0MsY1QzY0E7VVM0Y0EsOEJUNU1LO1VTNE1MLHNCVDVNSyxFQUFBO1FTZ05WO1VBQ0kseUJUamRDO1VTa2RELHlDVGxOTTtVU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtJQUdUO01BRUkseUJWL2JTO01VbWNMLHFCVm5jSztNVXFjVCw0QlQ5TmM7TVM4TmQsb0JUOU5jLEVBQUE7SVNxT2xCO01BRVEsY1QzZHFCO01TZ2VyQix5QlQ1ZUs7TVNtZkwsc0NWN2RPO01VK2RYLG1CQUFtQixFQUFBO01BRWY7UUFDQyxjWHhLd0QsRUFBQTtJVzRLakU7TUFJUSxzQ1YxZU8sRUFBQTtJVThlZjtNQUNJLGFBQWE7TUFDYiw0RFZsZTZDO2NVa2U3QyxvRFZsZTZDLEVBQUE7SVV1ZjdDO01BQ0ksWUp6UEE7TUkwUEEsa0JpQjlGa0I7TWpCK0ZsQixpQ1QxWDJCO01TMlgzQixlSis5R21EO01JMTlHbkQsY1R4aEJxQjtNU3loQnJCLDhCVHBTVTtNU29TVixzQlRwU1UsRUFBQTtJU3VTbEI7TUFDSSx5Q1R4U2M7TVN3U2QsaUNUeFNjLEVBQUE7RTBCNkp0QjtJakI1REkscUNBQWdDO0lBdUI1QixXaUIrRnlLO0lqQmpGN0ssZ0JpQmlGaU87SWpCaEZqTyxZaUJnRitNO0lqQi9FL00sb0JpQitFOFA7SWpCL0U5UCxvQmlCK0U4UDtJakIvRTlQLGFpQitFOFA7SWpCN0UxUCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVjdYYTtJVThYYix5QlR2WmE7SVN3WmIsaUJKK2M0QjtJSTljNUIsa0JEalY0RDtJQ2tWNUQsZ0JKa2tINkI7SUlqa0g3QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlZqSmdDO0lVb0poQyxzQlYvSTRDO0lVZ0o1QyxpQko4YndCO0lJemJ4QixxQlRsYVM7SVNvYWIscUJBQXFCO0lBQ3JCLGNKMGJ5QjtJSXZickIsOEJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlRoTGtCO0lTZ0xsQixvQlRoTGtCO0lTMFFkOzs7Ozs7OztTYjRtZEM7SThCOXBkRCxtQkFBbUIsRUFBQTtJbkJ2VG5CO01tQjRQUjtRakIwQlEsMEJpQmdDNkw7UWpCaEM3TCx1QmlCZ0M2TDtRakJoQzdMLGtCaUJnQzZMO1FqQi9CN0wsNENBQWtFLEVBQUEsRWlC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TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVjdYYTtFVThYYix5QlR2WmE7RVN3WmIsaUJKK2M0QjtFSTljNUIsa0JEalY0RDtFQ2tWNUQsZ0JWekllO0VVMElmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUkzYnhCLHFCVmhaVztFVW9aZixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFTy9GZDtJb0JpcUNSO01sQjM0QlEsMEJrQjQ0QjBPO01sQjU0QjFPLHVCa0I0NEIwTztNbEI1NEIxTyxrQmtCNDRCME87TWxCMzRCMU8sNENBQWtFLEVBQUEsRWtCNDRCekU7RWxCdjRCRztJQUNJO01BQ0ksY1Z2YUs7TVV3YUwseUJKaWN3RDtNSS9icEQscUJWMWFDO01VOGFMLHFCQUFxQjtNQUNyQiw0QlR4TVU7TVN3TVYsb0JUeE1VLEVBQUE7TVNnTlY7UUFDSSx5QlRqZEM7UVNrZEQseUNUbE5NO1FTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0VBR1Q7SUFDSSxjVHZkUztJU3dkVCx5QlYvYlM7SVVpY0wscUJWamNLO0lVcWNULDRCVDlOYztJUzhOZCxvQlQ5TmMsRUFBQTtFU3FPbEI7SUFFUSxjWHZKeUQ7SVc0SnpELHlCVDVlSztJU2lmTCxzQ1YzZE87SVUrZFgsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1Z4ZU8sRUFBQTtFVThlZjtJQUNJLGFBQWE7SUFDYiw0RFZsZTZDO1lVa2U3QyxvRFZsZTZDLEVBQUE7RVVvZ0JqRDtJQUNJLHlDVHhTYztJU3dTZCxpQ1R4U2MsRUFBQTs7QU8vRmQ7RW9Cc3FDUjtJQUdZLFdBQVcsRUFBQSxFQUVsQjs7QXBCM3FDRztFb0JzcUNSO0lBUVksVUFBVSxFQUFBLEVBRWpCOztBcEJockNHO0VvQnNx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alhGO01xQmlYUjtRbkIzRlEsMEJtQm9JOE87UW5CcEk5Tyx1Qm1Cb0k4TztRbkJwSTlPLGtCbUJvSThPO1FuQm5JOU8sNENBQWtFLEVBQUEsRW1Cb0lqRTtJbkIvSEw7TUFDSTtRQUNJLGNWdmFLO1FVd2FMLHlCVnJhTztRVXVhSCxxQlYxYUM7UVU4YUwscUJBQXFCO1FBQ3JCLDRCVHhNVTtRU3dNVixvQlR4TVUsRUFBQTtRUzBNTjtVQUNDLGNWbGJBO1VVbWJBLDhCVDVNSztVUzRNTCxzQlQ1TUssRUFBQTtRU2dOVjtVQUNJLHlCVGpkQztVU2tkRCx5Q1RsTk07VVNrTk4saUNUbE5NLEVBQUEsRVNtTlQ7SUFHVDtNQUNJLGNUdmRTO01Td2RULHlCVjNiUztNVTZiTCxxQlZqY0s7TVVxY1QsNEJUOU5jO01TOE5kLG9CVDlOYyxFQUFBO01TZ09WO1FBQ0MsY1RqZUksRUFBQTtJU3FlYjtNQUlRLGNYekp5RDtNVzhKekQseUJUOWVLO01TaWZMLHNDVjNkTztNVStkWCxtQkFBbUIsRUFBQTtNQUVmO1FBQ0MsY1h4S3dELEVBQUE7SVc0S2pFO01BRVEsc0NWeGVPLEVBQUE7SVU4ZWY7TUFDSSxhQUFhO01BQ2IsNERWbGU2QztjVWtlN0Msb0RWbGU2QyxFQUFBO0lVdWY3QztNQUNJLFlWMWdCRjtNVTJnQkUsa0JtQmNrQjtNbkJibEIsbUNUMVR5QztNUzJUekMsZVZ4QjBCO01VNkIxQixjVjNnQks7TVU0Z0JMLDhCVHBTVTtNU29TVixzQlRwU1UsRUFBQTtJU3VTbEI7TUFDSSx5Q1R4U2M7TVN3U2QsaUNUeFNjLEVBQUE7RTRCa1J0QjtJbkJqTEkscUNBQWdDO0lBdUI1QixXbUJ1TWtRO0luQnZMdFEsb0JtQnVMbVM7SW5CdkxuUyxvQm1CdUxtUztJbkJ2TG5TLGFtQnVMbVM7SW5CckwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjVjdYYTtJVThYYix5QlR2WmE7SVN3WmIsaUJKK2M0QjtJSTljNUIsa0JEalY0RDtJQ2tWNUQsZ0JWekllO0lVMElmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVmpKZ0M7SVVvSmhDLHNCVi9JNEM7SVVnSjVDLGlCSjhid0I7SUkzYnhCLHFCVmhaVztJVW9aZixxQkFBcUI7SUFDckIsY0owYnlCO0lJdmJyQiw4QkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCVGhMa0I7SVNnTGxCLG9CVGhMa0I7SVMwUWQ7Ozs7Ozs7O1Nib3JpQkMsRWE1cWlCQztJRmpYRjtNcUJpWFI7UW5CM0ZRLDBCbUJ3SThPO1FuQnhJOU8sdUJtQndJOE87UW5CeEk5TyxrQm1Cd0k4TztRbkJ2STlPLDRDQUFrRSxFQUFBLEVtQndJakU7SW5CbklMO01BQ0k7UUFDSSxjVnZhSztRVXdhTCx5QlZyYU87UVV1YUgscUJWMWFDO1FVOGFMLHFCQUFxQjtRQUNyQiw0QlR4TVU7UVN3TVYsb0JUeE1VLEVBQUE7UVMwTU47VUFDQyxjVmxiQTtVVW1iQSw4QlQ1TUs7VVM0TUwsc0JUNU1LLEVBQUE7UVNnTlY7VUFDSSx5QlRqZEM7VVNrZEQseUNUbE5NO1VTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0lBR1Q7TUFDSSxjVHZkUztNU3dkVCx5QlYzYlM7TVU2YkwscUJWamNLO01VcWNULDRCVDlOYztNUzhOZCxvQlQ5TmMsRUFBQTtNU2dPVjtRQUNDLGNUamVJLEVBQUE7SVNxZWI7TUFJUSxjWHpKeUQ7TVc4SnpELHlCVDllSztNU2lmTCxzQ1YzZE87TVUrZFgsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNYeEt3RCxFQUFBO0lXNEtqRTtNQUVRLHNDVnhlTyxFQUFBO0lVOGVmO01BQ0ksYUFBYTtNQUNiLDREVmxlNkM7Y1VrZTdDLG9EVmxlNkMsRUFBQTtJVXVmN0M7TUFDSSxZVjVnQkQ7TVU2Z0JDLGtCbUJ1QmtCO01uQnRCbEIsbUNUMVR5QztNUzJUekMsZVZ4QjBCO01VNkIxQixjVjNnQks7TVU0Z0JMLDhCVHBTVTtNU29TVixzQlRwU1UsRUFBQTtJU3VTbEI7TUFDSSx5Q1R4U2M7TVN3U2QsaUNUeFNjLEVBQUE7O0E0Qm9VdEI7RW5Cbk9JLHFDQUFnQztFQXlCNUIsWW1CMk1pTjtFbkI3THJOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLGlEQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Y3WGE7RVU4WGIseUJUdlphO0VTd1piLGlCSitjNEI7RUk5YzVCLGtCRGpWNEQ7RUNrVjVELGdCVnpJZTtFVTBJZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlZqSmdDO0VVb0poQyxzQlYvSTRDO0VVZ0o1QyxpQko4YndCO0VJM2J4QixxQlZoWlc7RVVvWmYscUJBQXFCO0VBQ3JCLGNKMGJ5QjtFSXZickIsOEJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlRoTGtCO0VTZ0xsQixvQlRoTGtCLEVBQUE7RU9wR2Q7SXFCd2FSO01uQmpKWSxrREFBb0UsRUFBQSxFbUJtSi9FO0VyQnJhTztJcUJtYVI7TW5CN0lRLFltQjhJaU47TW5CN0lqTixtREFBa0UsRUFBQSxFbUI4SXpFO0VuQnpJRztJQUNJO01BQ0ksY1Z2YUs7TVV3YUwseUJKaWN3RDtNSS9icEQscUJWMWFDO01VOGFMLHFCQUFxQjtNQUNyQiw0QlR4TVU7TVN3TVYsb0JUeE1VLEVBQUE7TVNnTlY7UUFDSSx5QlRqZEM7UVNrZEQseUNUbE5NO1FTa05OLGlDVGxOTSxFQUFBLEVTbU5UO0VBR1Q7SUFDSSxjVHZkUztJU3dkVCx5QlYvYlM7SVVpY0wscUJWamNLO0lVcWNULDRCVDlOYztJUzhOZCxvQlQ5TmMsRUFBQTtFU3FPbEI7SUFFUSxjWHZKeUQ7SVc0SnpELHlCVDVlSztJU2lmTCxzQ1YzZE87SVUrZFgsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1Z4ZU8sRUFBQTtFVThlZjtJQUNJLGFBQWE7SUFDYiw0RFZsZTZDO1lVa2U3QyxvRFZsZTZDLEVBQUE7RVVvZ0JqRDtJQUNJLHlDVHhTYztJU3dTZCxpQ1R4U2MsRUFBQTs7QTRCeVV0QjtFQUNJLGdCQUFnQixFQUFBO0VBRHBCO0lBR1EsU0FBUztJQUNULFVBQVUsRUFBQTtJQUpsQjtNQU1ZLGVBQWUsRUFBQTtFQU4zQjtJQVlnQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHFCNUI1a0JpQjtJNEI2a0JqQiw4RDVCeFZNO0k0QndWTixzRDVCeFZNO0k0QndWTiw4QzVCeFZNO0k0QndWTix1RTVCeFZNLEVBQUE7STRCeVV0QjtNQWtCb0IsZUFBZSxFQUFBO0lBbEJuQztNQXNCb0IseUI1Qm5tQkMsRUFBQTtJNEI2a0JyQjtNQXlCb0IsNEQ3Qi9qQmlDO2M2QitqQmpDLG9EN0IvakJpQztNNkJna0JqQywyQzVCcFdFO000Qm9XRixtQzVCcFdFO000Qm9XRiwyQjVCcFdFO000Qm9XRixvRDVCcFdFLEVBQUE7TTRCMFV0QjtRQTRCd0IscUI3QjdrQlA7UTZCOGtCTyxxQzVCdldGO1E0QnVXRSw2QjVCdldGLEVBQUE7RTRCMFV0QjtJQW9DUSxnQkFBZ0I7SUFDaEIsMkM1QjlXYztJNEI4V2QsbUM1QjlXYztJNEI4V2QsMkI1QjlXYztJNEI4V2Qsb0Q1QjlXYyxFQUFBO0k0QnlVdEI7TUF3Q2dCLGtCQUFrQjtNQUNsQixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGtCcEI3aUJnRDtNb0I4aUJoRCxnQnZCOGxIaUI7TXVCN2xIakIsYzdCOWxCQyxFQUFBO002QmlqQmpCO1FBK0NvQixZN0J6bUJUO1E2QjJtQlMscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixtQzVCelppQztRNEIwWmpDLGM1QmxuQmE7UTRCbW5CYixlQUFlO1FBQ2YscUM1Qi9YRTtRNEIrWEYsNkI1Qi9YRSxFQUFBO0k0QnlVdEI7TUEwRGdCLGlCQUFpQixFQUFBO0lBMURqQztNQTZEZ0IsY0FBYyxFQUFBO01BN0Q5QjtRQStEb0IsZXBCamtCNEM7UW9Ca2tCNUMsZ0JBQWdCO1FBQ2hCLGM1QnhvQkgsRUFBQTtFNEJ1a0JqQjtJQTBFWSxjN0J2bkJLO0k2QnduQkwsOEI1QnJaVTtJNEJxWlYsc0I1QnJaVSxFQUFBO0U0QjBVdEI7SUE4RVksYzVCOW1CdUM7STRCK21CdkMsOEI1QnhaVTtJNEJ3WlYsc0I1QnhaVSxFQUFBOztBcUJrT3RCO0VPNkxRLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGdCdkI4NEJnQjtFdUI3NEJoQixVdkI4NEJVO0V1Qjc0QlYsZXBCNWxCd0Q7RW9CNmxCeEQsZ0J2Qmk1Qm1CO0V1Qmg1Qm5CLGtCdkJpNUJxQjtFdUJoNUJyQixjN0I5b0JTO0U2QitvQlQscUJ2Qnc2QlM7RXVCdjZCVCw2QjVCNXFCYTtFNEI2cUJiLDZCNUI3cUJhO0U0QjhxQmIsb0J2QjY0QnVCO0V1QjU0QnZCLHdENUIzYWM7RTRCMmFkLGdENUIzYWMsRUFBQTtFNEI2WnRCO0lBZ0JZLGM3QmpwQks7STZCa3BCTCwwQnZCazZCeUM7SXVCajZCekMseUI1Qm5yQlM7STRCb3JCVCw2QjVCcHJCUztJNEJxckJULDhENUJsYlU7STRCa2JWLHNENUJsYlUsRUFBQTtFNEI4WnRCO0lBdUJZLGM1QjNvQnVDO0k0QjRvQnZDLDZCNUJ6ckJTLEVBQUE7O0E0QityQnJCO0VuQjFWSSxxQ0FBZ0M7RUF5QjVCLFltQmtVaU47RW5CcFRyTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixpREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNWN1hhO0VVOFhiLHlCVHZaYTtFU3daYixpQkorYzRCO0VJOWM1QixrQkRqVjREO0VDa1Y1RCxnQlZ6SWU7RVUwSWYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJWakpnQztFVW9KaEMsc0JWL0k0QztFVWdKNUMsaUJKOGJ3QjtFSTNieEIscUJWaFpXO0VVb1pmLHFCQUFxQjtFQUNyQixjSjBieUI7RUl2YnJCLDhCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJUaExrQjtFU2dMbEIsb0JUaExrQixFQUFBO0VPcEdkO0lxQitoQlI7TW5CeFFZLGtEQUFvRSxFQUFBLEVtQjBRL0U7RXJCNWhCTztJcUIwaEJSO01uQnBRUSxZbUJxUWlOO01uQnBRak4sbURBQWtFLEVBQUEsRW1CcVF6RTtFbkJoUUc7SUFDSTtNQUNJLGNWdmFLO01Vd2FMLHlCSmljd0Q7TUkvYnBELHFCVjFhQztNVThhTCxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1R2ZFM7SVN3ZFQseUJWL2JTO0lVaWNMLHFCVmpjSztJVXFjVCw0QlQ5TmM7SVM4TmQsb0JUOU5jLEVBQUE7RVNxT2xCO0lBRVEsY1h2SnlEO0lXNEp6RCx5QlQ1ZUs7SVNpZkwsc0NWM2RPO0lVK2RYLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NWeGVPLEVBQUE7RVU4ZWY7SUFDSSxhQUFhO0lBQ2IsNERWbGU2QztZVWtlN0Msb0RWbGU2QyxFQUFBO0VVb2dCakQ7SUFDSSx5Q1R4U2M7SVN3U2QsaUNUeFNjLEVBQUE7O0E0QmljdEI7RUFDSSxtQkFBbUIsRUFBQTtFQUR2QjtJQUdRLGVwQjduQndELEVBQUE7O0FvQmtvQmhFO0VBRVEsZXZCeUdTLEVBQUE7RUVucEJUO0lxQndpQlI7TUFJWSxldkJ3R0ssRUFBQSxFdUJ0R1o7O0FuQmdwREQ7RUFDSSxnQlZ2dkVRO0VVMnZFUixvQkQ3eEV3RDtFQzh4RXhELGdCVmozREc7RVVrM0RILGtCSnA0Qk07RUl3NEJOLGNWbDFFUztFVW0xRVQsZ0JKdjFFaUI7RUl3MUVqQiw2QkFBNkI7RUFLekIseUJWanhFSyxFQUFBO0VVbXhFVDtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFJakI7RUFDSSxnQlZseEVRO0VVc3hFUixvQkR6ekV3RDtFQzB6RXhELGdCVjU0REc7RVU2NERILGtCSi81Qk07RUltNkJOLGNWOTJFUztFVSsyRVQsZ0JKbjNFaUI7RUl3M0ViLHlCVjN5RUssRUFBQTtFVTZ5RVQ7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBSUksU1ZsekV5QjtFVW96RXJCLGVWcjdERTtFVXU3RE4saUJEdDFFd0Q7RUN1MUV4RCxnQlZ4NkRHO0VVeTZESCxrQkozN0JNO0VJKzdCTixjVjM0RVM7RVU0NEVULGdCSmg1RWlCLEVBQUE7RUlvNUVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFDSSxTVnowRXlCO0VVMjBFckIsZVYzOERFO0VVNjhETixpQkQ3MkV3RDtFQzgyRXhELGdCVjk3REc7RVUrN0RILGtCSmo5Qk07RUlxOUJOLGNWbDZFUztFVW02RVQsZ0JKdjZFaUIsRUFBQTtFSTI2RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUNJLFNWaDJFeUI7RVVvMkV6QixpQkRwNEV3RDtFQ3E0RXhELGdCVnA5REc7RVVxOURILGtCSnYrQk07RUkyK0JOLGNULzhFUztFU2c5RVQsZ0JKOTdFaUIsRUFBQTtFSWs4RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUNJLFNWdjNFeUI7RVUyM0V6QixpQkQzNUV3RDtFQzQ1RXhELGdCVjErREc7RVUyK0RILGtCSjcvQk07RUlpZ0NOLGNUdCtFUztFU3UrRVQsZ0JKcjlFaUIsRUFBQTtFSXk5RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUtqQjtFQUNJLCtCQUFtRDtFQUNu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QXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFLdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFFdkIsa0JKNjBCOEI7RUl2MEIxQixtQkRuMEM0QztFQzAwQzVDLDZCSnUwQkk7RUluMEJSLHlCVnI0QmlDO0VVczRCakMseUNUdHBDTTtFU3NwQ04saUNUdHBDTSxFQUFBO0VKbzNtQnBCO0lhOXVrQmtCLFNKMHdCaUI7SUl6d0JqQixhVnAzQnFCLEVBQUE7O0FIcW1tQnpDO0VhOXRrQm9CLHlCQUFpQjtVQUFqQixpQkFBaUIsRUFBQTs7QWJpdWtCckM7RWF2dGtCUSxZQUFZO0VBQ1osa0JBQWtCO0VBRWxCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBRWxCLG1CVjEzQ2E7RVU0M0NqQixnQlZqNUJvQjtFVTQwQ3hCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLDJDVDFtRGtCO0VTMG1EbEIsbUNUMW1Ea0I7RVMwbURsQiwyQlQxbURrQjtFUzBtRGxCLG9EVDFtRGtCLEVBQUE7RU8vRmQ7SVhzK21CSjtNYXJ0a0JRLFdBQVcsRUFBQSxFQXFIbEI7RWJrbWtCSDtJYXB0a0JVLG1CSnNyQmM7SUlyckJkLGtCSnFyQmMsRUFBQTtJVGlpakJ0QjtNYW50a0JZLGNBQWMsRUFBQTtFYnF0a0I1QjtJYS9za0JVLGVBQWUsRUFBQTtFYml0a0J6QjtJYTlza0JVLG1CSnlxQmM7SUl4cUJkLGtCSndxQmMsRUFBQTtJVHdpakJ0QjtNYTlza0JZLG1CQUFtQixFQUFBO0ViZ3RrQmpDO0lhNXNrQlUsbUJKa3FCYztJSWpxQmQsa0JKaXFCYyxFQUFBO0VUNmlqQnhCO0lhMXNrQlUsZ0JBQWdCO0lBQ2hCLGtCSjRwQmM7SUkzcEJkLGdCVnI3QmdCLEVBQUE7SUhpb21CeEI7TWExc2tCWSxhQUFhLEVBQUE7SWI0c2tCekI7TWF6c2tCWSxzQlYxN0JZO1VVMDdCWixtQlYxN0JZO2NVMDdCWixxQlYxN0JZLEVBQUE7SUhxb21CeEI7TWF4c2tCWSwyQkFBcUI7VUFBckIsd0JBQXFCO2NBQXJCLHFCQUFxQjtNQUVqQix1QkFBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQixFQUFBO0VieXNrQjdDO0lhbHNrQlUsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix1QlZyOEJTO1FVcThCVCxvQlZyOEJTO1lVcThCVCwyQlZyOEJTO0lVczhCVCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWU7SUFDZixTQUFTO0lBQ1Qsb0JKNG5CcUIsRUFBQTtJRWo4RHpCO01YMGduQkY7UWFuc2tCVSx1QlYxOEJLO1lVMDhCTCxvQlYxOEJLO2dCVTA4QkwsMkJWMThCSztRVTI4QkwsUUFBUSxFQUFBLEVBRWY7RWJtc2tCUDtJYWhza0JVLGdCQUFnQixFQUFBO0Via3NrQjFCO0lhOXJrQlUsVUpnd0JpQjtJSS92QmpCLG1CSittQnFCLEVBQUE7RVRpbGpCL0I7SWE1cmtCYyxZQUFZLEVBQUE7RWI4cmtCMUI7SWF4cmtCYyxjVmorQ0M7SVVrK0NELDBCQUFzRTtJQUN0RSw4QlRod0NNO0lTZ3dDTixzQlRod0NNLEVBQUE7RUowN21CcEI7SWFycmtCYyxnQlYxK0NLLEVBQUE7RUhpcW5CbkI7SWEzcWtCVSw2QlRwaERTLEVBQUE7RUppc25CbkI7SWExcWtCVSxvQkprakJ5QjtJSWpqQnpCLHlCVHJoREssRUFBQTtJSmlzbkJiO01hMXFrQlksc0JBQWdGLEVBQUE7SWI0cWtCNUY7TWF6cWtCWSxjQUFjLEVBQUE7SWIycWtCMUI7TWF0cWtCWSxrQko2a0JVLEVBQUE7TVQybGpCcEI7UWFwcWtCYyxVQUFVLEVBQUE7RWJzcWtCNUI7SWFyMWpCVSw0RFZoMUR5QztZVWcxRHpDLG9EVmgxRHlDO0lVaTFEekMsMkNUcm5EVTtJU3FuRFYsbUNUcm5EVTtJU3FuRFYsMkJUcm5EVTtJU3FuRFYsb0RUcm5EVSxFQUFBOztBSjY4bUJ0QjtFYW5xa0JRLFdBQVcsRUFBQTs7QWJzcWtCbkI7RWFscWtCUSxXQUFXO0VBS1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixTVnBpQ21CLEVBQUE7RVFoWG5CO0lYcWpuQko7TWE1cGtCUSxZVnppQ29CLEVBQUEsRVVnakMzQjtFYnVwa0JIO0lhMXBrQlUsb0JBQWM7UUFBZCxjQUFjLEVBQUE7O0FiNnBrQjFCO0VheHBrQlEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsbUJKc2lCa0I7RUlyaUJsQixrQkpxaUJrQixFQUFBO0VUcW5qQnhCO0lheHBrQlUsY1R0a0RLO0lTdWtETCxnQkowcEJrQztJSXpwQmxDLG1CRG5nRG9ELEVBQUE7RVo2cG5COUQ7SWF2cGtCVSxpQkpxL0RtRTtJSXAvRG5FLGNUNWtESztJUzZrREwsbUJEeGdEb0QsRUFBQTs7QVprcW5CaEU7RWF0cGtCUSxpREFBa0Q7RUFDbEQsdURWemxEcUQ7RVUwbERyRCxvQkQ5Z0R3RDtFQytnRHhELGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw4QlQxMUNjO0VTMDFDZCxzQlQxMUNjLEVBQUE7RUprL21CcEI7SWFycGtCVSx3Q0FBd0M7SUFDeEMsMEJBQTBCO0lBQzFCLDhCVGgyQ1U7SVNnMkNWLHNCVGgyQ1UsRUFBQTs7QUp3L21CdEI7RWFwbGtCUSxjVjNvRFM7RVU0b0RULGVEN2xEd0Q7RUM4bER4RCxnQkp1aUJzQztFSXRpQnRDLGdCSmxwRGlCLEVBQUE7RVR3dW5CdkI7SWFwbGtCVSxjVjVvREs7SVU2b0RMLDBCQUEwQixFQUFBO0Vic2xrQnBDO0lhbmxrQlUsZ0JWbHBEUyxFQUFBOztBSHd1bkJyQjtFYTlwa0JRLGNWN2tEVztFVThrRFgsZUQ5aER3RDtFQytoRHhELGdCVmpsQ2dDO0VVa2xDaEMsZ0JKbmxEaUI7RUlvbERqQix5QlZ4bEN5QztFVXlsQ3pDLDhCVHoyQ2M7RVN5MkNkLHNCVHoyQ2MsRUFBQTtFSnlnbkJwQjtJYTlwa0JVLFNBQVM7SUFDVCxVQUFVLEVBQUE7O0FiaXFrQnRCO0VhN3BrQlEsY1Z6bERXLEVBQUE7O0FIeXZuQm5CO0VhNXBrQlksU0FBUztFQUNULFVBQVUsRUFBQTs7QWIrcGtCdEI7RWEzcGtCUSxjVmxtRFc7RVVtbURYLGVEbmpEd0QsRUFBQTs7QURxRnhEO0VYNm5uQk47SWE5Z21CYyxhQUFhLEVBQUEsRUFPcEI7O0FGdG5CRDtFWGlvbkJOO0lhOWdtQmtCLGNBQWMsRUFBQSxFQUVyQjs7QWIrZ21CYjtFYTFnbUJRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osb0JEbHRCd0QsRUFBQTtFWjh0bkI5RDtJYTFnbUJVLFNBQVM7SUFJTCxnQlYxdUJPLEVBQUE7RUhtdm5CckI7SWFyZ21CVSxXQUFXO0lBRVgsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsZ0JWaHZCVztJVWl2QlgsZ0JKcHhCYSxFQUFBO0lUMHhuQnJCO01haGdtQlksbUJBQWU7VUFBZixlQUFlLEVBQUE7SWJrZ21CM0I7TWEvL2xCWSxjVC95QkM7TVNnekJELGdCVjd2Qk8sRUFBQTtNSDh2bkJqQjtRYTEvbEJjLGlCQUFpQixFQUFBO01iNC9sQi9CO1Fhei9sQmMsV0FBVztRQUVYLGtCQUFrQjtRQUNsQixpQkFBaUIsRUFBQTtRRm5xQjdCO1VYOHBuQkU7WWF6L2xCYywwQkFBa0I7WUFBbEIsdUJBQWtCO1lBQWxCLGtCQUFrQixFQUFBLEVBRXpCO0lieS9sQmI7TWF0L2xCWSxjWHZmcUQ7TVd3ZnJELGdCVmx4Qk8sRUFBQTtNUTRHZjtRWCtwbkJBO1Vhdi9sQlksaUJBQWlCLEVBQUEsRUFFeEI7SWJ1L2xCVDtNYW4vbEJvQixjVDcwQlA7TVNpMUJHLGdCSjVvQkk7TUk4b0JBLHlCSjVvQlUsRUFBQTtJVDZubkI5QjtNYXQrbEJnQixjVDkxQkg7TVMrMUJHLGdCVnh5QkM7TVV5eUJELG9CRDN4QjRDO01DNnhCeEMseUJKanFCTTtNSW9xQk4sNkJBQTZCLEVBQUE7SWJxK2xCakQ7TWF0OGxCd0IsZUFBZTtNQUNmLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBQTs7QWJ5OGxCN0M7RWFoOGxCWSxvQkQxMEJvRCxFQUFBOztBWjZ3bkJoRTtFYS83bEJnQix1RFYxNUI2QyxFQUFBOztBSDQxbkI3RDtFYTE3bEJRLFNKazdFUSxFQUFBO0VUMGdoQmQ7SWF4N2xCVSxtQkQxMUJvRCxFQUFBOztBWnF4bkJoRTtFYXY3bEJRLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsY1ZqNUJXO0VVazVCWCxrQkRsMkJ3RDtFQ20yQnhELGdCVmwzQm1CO0VVbTNCbkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBOztBYjA3bEIzQjtFYXR1a0JRLGdCQUFnQixFQUFBOztBYnl1a0J4QjtFYXR1a0JRLFNBQVMsRUFBQTs7QWJ5dWtCakI7RWF0dWtCUSxxQkFBcUIsRUFBQTs7QWJ5dWtCN0I7RWFwdWtCWSxlQUFlO0VBQ2YsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixrQkFBa0IsRUFBQTtFYnN1a0I1QjtJYXB1a0JjLGFBQWEsRUFBQTtFYnN1a0IzQjtJYW51a0JjLFdBQVcsRUFBQTs7QWJzdWtCM0I7RWFqdWtCUSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VibXVrQnpCO0lhanVrQlUsYUFBYSxFQUFBOztBRjEvQ2pCO0UwQmhJUjtJQU13QixXQUFXO0lBQ1gsVTVCdXdFVjtJNEJ0d0VVLFc1QnV3RVQ7STRCdHdFUyx5QmxDbkJMO0lrQ29CSyxj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LEVBQUE7STFCcldWO00wQndWUjtRQWVZLFc1Qm9pRHFCO1E0Qm5pRHJCLFk1Qm1pRHFCLEVBQUEsRTRCbmdENUI7SUFoREw7TUFtQlksV0FBVztNQUNYLFlBQVk7TUFDWixjQUFjO01BQ2QseUJqQ2hoQks7TWlDaWhCTCxtQmpDcFJ3QjtNaUNxUnhCLHlCakN0Z0JxQjtNaUN1Z0JyQixZbEMrQkc7TWtDM0JILGdFakN0UlU7TWlDc1JWLHdEakN0UlUsRUFBQTtNaUN5UHRCO1FBK0JnQix5QmxDN2ZHO1FrQzhmSCxxQmxDOWZHO1FrQytmSCx1RGpDM1JNO1FpQzJSTiwrQ2pDM1JNLEVBQUE7TWlDMFB0QjtRQW9DZ0IseUJqQzloQkM7UWlDK2hCRCxxQmpDL2hCQyxFQUFBO01pQzBmakI7UUF5Q2dCLHlCakNuaUJDO1FpQ29pQkQscUJqQ3BpQkM7UWlDcWlCRCxVbENlSDtRa0NkRyxtQkFBbUI7UUFDbkIsZ0NqQ3ZTTTtRaUN1U04sd0JqQ3ZTTSxFQUFBOztBa0N0UnRCOzs7Ozs7Q3RDd3ZvQkM7QXNDaHZvQkQ7RUFDSSxZN0I0ekRxQjtFNkIzekRyQixrQkFBa0I7RUFDbEIsMENsQ1dhO0VrQ1ZiLDZCN0JnMERvQjtFNkIvekRwQixrQmxDcVFlO0VrQ3BRZiw0RGxDeVFrQjtFa0N6UWxCLG9EbEN5UWtCLEVBQUE7RWtDL1F0QjtJQVFRLHlCbENNUztJa0NMVCx5QjdCNHpEYztJNkIzekRkLDREbENvUWM7SWtDcFFkLG9EbENvUWMsRUFBQTtJa0M5UXRCO01BWVkseUJwQ2tWeUQ7TW9DalZ6RCx5Q2xDaVFVO01rQ2pRVixpQ2xDaVFVLEVBQUE7RWtDOVF0QjtJQWlCUSx5QmxDSFM7SWtDSVQseUI3Qm96RGUsRUFBQTtJNkJ0MER2QjtNQW9CWSx5Qm5DdUJLLEVBQUE7RW1DM0NqQjtJQTJCZ0IseUJsQzBHRixFQUFBO0VrQ3JJZDtJQWdDZ0IseUJsQ3FHRixFQUFBOztBa0M1RmQ7RUFDSSxXN0JxeUQyQjtFNkJweUQzQixZN0JveUQyQjtFNkJueUQzQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtF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c3hFUixvQkR6ekV3RDtRQzB6RXhELGdCVjU0REc7UVU2NERILGtCSi81Qk07UUltNkJOLGNWOTJFUztRVSsyRVQsZ0JKbjNFaUI7UUl3M0ViLHlCVjN5RUssRUFBQTtRVTZ5RVQ7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFJSSxTVmx6RXlCO1FVb3pFckIsZVZyN0RFO1FVdTdETixpQkR0MUV3RDtRQ3UxRXhELGdCVng2REc7UVV5NkRILGtCSjM3Qk07UUkrN0JOLGNWMzRFUztRVTQ0RVQsZ0JKaDVFaUIsRUFBQTtRSW81RWpCO1VBQ0ksYUFBYSxFQUFBO1FBRWpCO1VBQ0ksU0FBUyxFQUFBO01BR2pCO1FBQ0ksU1Z6MEV5QjtRVTIwRXJCLGVWMzhERTtRVTY4RE4saUJENzJFd0Q7UUM4MkV4RCxnQlY5N0RHO1FVKzdESCxrQkpqOUJNO1FJcTlCTixjVmw2RVM7UVVtNkVULGdCSnY2RWlCLEVBQUE7UUkyNkVqQjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUdqQjtRQUNJLFNWaDJFeUI7UVVvMkV6QixpQkRwNEV3RDtRQ3E0RXhELGdCVnA5REc7UVVxOURILGtCSnYrQk07UUkyK0JOLGNULzhFUztRU2c5RVQsZ0JKOTdFaUIsRUFBQTtRSWs4RWpCO1VBQ0ksYUFBYSxFQUFBO1FBRWpCO1VBQ0ksU0FBUyxFQUFBO01BR2pCO1FBQ0ksU1Z2M0V5QjtRVTIzRXpCLGlCRDM1RXdEO1FDNDVFeEQsZ0JWMStERztRVTIrREgsa0JKNy9CTTtRSWlnQ04sY1R0K0VTO1FTdStFVCxnQkpyOUVpQixFQUFBO1FJeTlFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFLakI7UUFDSSwrQkFBbUQ7UUFDbkQsbUJEajdFd0Q7UUNrN0V4RCxnQlZuN0V1QjtRVW83RXZCLGdCSnQrRWlCO1FJdStFakIsY1R6L0VTLEVBQUE7UVM0L0VUO1VBQ0ksd0JBQXdCLEVBQUE7UUFHNUI7VUFDSSx3QkFBd0IsRUFBQTtRQUU1QjtVQUNJLGNBQWMsRUFBQTtRQUVsQjtVQUNJLGFWbDZFcUI7VVVtNkVyQixnQlZuNkVxQixFQUFBO01VZzdFN0I7UUFFSSxnQkFBZ0IsRUFBQTtNQUVwQjtRQUNJLFlKdi9CYztRSXcvQmQsVUFBVTtRQUNWLGdCSjFnRmlCO1FJNGlDckIsZ0JBQWdCO1FBQ2hCLGlCQUFpQixFQUFBO1FBKzlDYjtVQUVJLGNBQWM7VUFDZCxpQkFBaUI7VUFDakIsa0JKNy9CYSxFQUFBO1FJcmVyQjtVQUNJLGtCQUFrQjtVQUNsQixtQkFBbUIsRUFBQTtVQUNuQjtZQUNJLFdBQVc7WUFDWCxVSng1Qks7WUl5NUJMLFdKejVCSztZSTA1Qkwsa0JBQWtCO1lBQ2xCLFNBQVM7WUFFVCxPQUFPO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCx5QlZ2akNLO1lVd2pDTCxrQlRyMUJPLEVBQUE7TVNvekVmO1FBQ0ksWUozZ0NjO1FJNGdDZCxlSjFnQ2lCO1FJMmdDakIsZ0JKOWhGaUIsRUFBQTtRSStoRmpCO1VBQ0ksU0FBUztVQUNULGNBQWM7VUFDZCxpQkFBaUI7VUFDakIsNEJBQTRCLEVBQUE7VUFDNUI7WUFDSSw0QkFBNEIsRUFBQTtZQUM1QjtjQUNJLDRCQUE0QixFQUFBO2NBQzVCO2dCQUNJLDRCQUE0QixFQUFBO01BTWhEO1FBQ0ksY1Rsa0ZTO1FTbWtGVCxtQkQ5L0V3RDtRQysvRXhELGdCVmhnRnVCO1FVaWdGdkIsZ0JKbmpGaUIsRUFBQTtNSXlqRnJCO1FBQ0ksZ0JWcitFUSxFQUFBO01VdStFWjtRQUNJLGdCVnYrRVEsRUFBQTtNVXkrRVo7UUFDSSxhVjcrRXlCLEVBQUE7TVUrK0U3QjtRQUNJLGFWaC9FeUIsRUFBQTtNVWsvRTdCO1FBQ0ksYVZuL0V5QixFQUFBO01VcS9FN0I7UUFDSSxhVnQvRXlCLEVBQUE7TVV3L0U3QjtRQUNJLGdCQUFnQixFQUFBO01BemNwQjtRQUNJLGNKL21CeUIsRUFBQTtNSWtuQjdCO1FBQ0ksMkNBQXNCO1FBZXRCLGVBQWU7UUFDZixnQkFBZ0IsRUFBQTtRQWRaO1VBRUksNkJUcHFFSyxFQUFBO1VTcXFFTDtZQUNJLG1EQUFtRCxFQUFBO1VBRXZEO1lBR0ksZ0JKMW5CWSxFQUFBO1FJZ29CeEI7VUFDSSxjQUFjLEVBQUE7VUY3Z0VsQjtZRTRnRUE7Y0FHUSxjQUFjLEVBQUEsRUFnQnJCO1VBYk87WUFDSSxhQUFhLEVBQUE7WUZuaEV6QjtjRWtoRVE7Z0JBR1Esd0JBQXdCLEVBQUEsRUFFL0I7VUFFTDtZQUNJLGNBQWMsRUFBQTtZRjFoRXRCO2NFeWhFSTtnQkFHUSx3QkFBd0IsRUFBQSxFQUUvQjtRQUVMO1VBQ0ksdUJKeHBCb0MsRUFBQTtRRXo0Q3hDO1VFbWlFQTtZQUdRLGFKNXBCZSxFQUFBLEVJOHBCdEI7UUFvRUw7VUFDSSxXQUFXO1VBQ1gsb0JBQWE7VUFBYixvQkFBYTtVQUFiLGFBQWEsRUFBQTtVRjltRWI7WUU0bUVKO2NBSVEsWUozM0JPLEVBQUEsRUk2M0JkO1FBckVHO1VBQ0ksNkJUbnRFUyxFQUFBO1VTb3RFVDtZQUNJLDZCVHJ0RUssRUFBQTtVU3l0RUQ7WUFDSSxvQ1QxdEVILEVBQUE7VU9xS2I7WUV5akVJO2NBRVEsa0JBQWtCLEVBQUEsRUFRekI7UUFFTDtVQUNJLGNWaHRFTyxFQUFBO1FRcUlYO1VFK2tFUTtZQUVRLG9CQUFhO1lBQWIsb0JBQWE7WUFBYixhQUFhO1lBQ2IsNEJBQXNCO1lBQXRCLDZCQUFzQjtnQkFBdEIsMEJBQXNCO29CQUF0QixzQkFBc0IsRUFBQSxFQVM3QjtRRjNsRVQ7VUVvbEVZO1lBRVEsbUJKLzBCRztZSWcxQkgsb0JKaDFCRztZSWkxQkgsZ0NUL3VFWCxFQUFBLEVTaXZFSTtRQUliO1VBQ0ksY0FBYztVQUNkLG1CQUFtQjtVQUNuQixnQkFBZ0IsRUFBQTtRQUtSO1VBQ0ksY1Y1dUVMO1VVNnVFSyxnQkp2dEJRLEVBQUE7RWtDbHhDaEM7SUF1R1EsV0FBVztJQUNYLGNBQWM7SUFDZCxtQmxDNmxETztJa0M1bERQLGN2Q25ZUztJdUNvWVQsZ0JsQ3lsRHlDO0lrQ3hsRHpDLDhCdkN2SWM7SXVDdUlkLHNCdkN2SWMsRUFBQTtJTy9GZDtNZ0MwSFI7UUE4R1ksZ0JBQWdCLEVBQUEsRUFXdkI7SUF6SEw7TUFpSFksY3hDaFhLO013Q2lYTCwwQkFBMEI7TUFDMUIsOEJ2Qy9JVTtNdUMrSVYsc0J2Qy9JVSxFQUFBO0l1QzRCdEI7TUFzSFksY3hDelhLO013QzBYTCwwQkFBMEIsRUFBQTtFQXZIdEM7SUEySFEseUJ2Q3ZXMkMsRUFBQTtFdUM0T25EO0lBOEhRLDBDdkM5WXlCLEVBQUE7O0F3Q2xDakM7Ozs7Ozs7Ozs7Ozs7O0M1QzJtdEJDO0E0QzFsdEJEO0VBRVEsYUFBYSxFQUFBOztBQUdyQjtFQUVRLGFBQWEsRUFBQTs7QUFHckI7RUFFUSxhQUFhLEVBQUE7O0FBTXJCO0VBRVEsMkJuQ28zR3VCLEVBQUE7O0FtQnZxRy9CO0VnQnRNUSwyQm5DNjJHdUIsRUFBQTs7QW1DeDJHL0I7RUFDSSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw2Q0FBNkM7RUFDN0MsZ0JBQWdCLEVBQUE7RUFMcEI7SUFPUSx5QnhDbENTLEVBQUE7RXdDMkJqQjtJQVdZLFVBQVU7SUFDVixnQ3hDeU5VO0l3Q3pOVix3QnhDeU5VLEVBQUE7RXdDck90QjtJQWdCUSxlQUFlO0lBQ2YsZ0JBQWdCO0lBRWhCLHNCQUFtQjtPQUFuQixtQkFBbUIsRUFBQTtJQW5CM0I7TUFzQlksV0FBVyxFQUFBO0VBdEJ2QjtJQTJCUSxXQUFXO0lBRVgsa0JBQWtCLEVBQUE7RUE3QjFCO0lBZ0NRLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBRVAsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsZ0N4QzZMYztJd0M3TGQsd0J4QzZMYyxFQUFBO0l3Q3RPdEI7TUEyQ1ksNEVBQXlFLEVBQUE7SUEzQ3JGO01BK0NZLDZFQUEwRSxFQUFBO0lBL0N0RjtNQW1EWSwrRUFBNEUsRUFBQTtJQW5EeEY7TUF1RFksOEVBQTBFLEVBQUE7SUF2RHRGO01BMkRZLCtFQUE0RSxFQUFBO0lBM0R4RjtNQStEWSxpRkFBOEUsRUFBQTtJQS9EMUY7TUFtRVksdUZBQW1GLEVBQUE7SUFuRS9GO01BdUVZLGdGQUE0RSxFQUFBOztBNUNranRCeEY7RTZDdHF0QkksYUFBYTtFQUNiLGdCQUFnQixFQUFBOztBQUlwQjtFQUVRLHFCQUFxQjtFQUNyQixTQUFTO0VBQ1QsVUFBVSxFQUFBO0VBSmxCO0lBTVksWXBDb2I0QjtJb0NuYjVCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsaUN6Q3dLMkI7SXlDdkszQixlQUFlO0lBQ2YsYzFDMkJLLEVBQUE7O0EwQ3RDakI7RUFnQlEsZUFBZTtFQUNmLGdCcENxbUsyQjtFb0NwbUszQixjMUNvQlM7RTBDbkJULDhCekMwUGM7RXlDMVBkLHNCekMwUGMsRUFBQTtFeUM3UXRCO0lBcUJZLGNBQWMsRUFBQTs7QUFyQjFCO0VBMEJZLGN6QzBHRTtFeUN6R0YsOEJ6Q21QVTtFeUNuUFYsc0J6Q21QVSxFQUFBOztBeUM5UXRCO0VBZ0NZLGMxQ1VLO0UwQ1RMLDhCekM2T1U7RXlDN09WLHNCekM2T1UsRUFBQTs7QXlDOVF0QjtFQXVDUSxhQUFhO0VBQ2IsbUN6Q3FPYztFeUNyT2QsMkJ6Q3FPYyxFQUFBOztBeUM3UXRCO0VBMkNRLGtCQUFrQjtFQUNsQixpQ0FBeUI7RUFBekIseUJBQXlCLEVBQUE7O0FDcERqQzs7Ozs7QzlDc3R0QkM7QStDdnR0QkQ7Ozs7Qy9DNHR0QkM7QStDbnR0QkQ7RUFDSSxnQkFBZ0IsRUFBQTtFQURwQjtJQUlRLGVBQWU7SUFDZixXQUFXO0lBR1gsbUJBQW9EO0lBQ3BELGFBQWE7SUFDYixtRHRDOG9JOEQ7SXNDN29JOUQsOEQzQ21RYztJMkNuUWQsc0QzQ21RYztJMkNuUWQsOEMzQ21RYztJMkNuUWQsdUUzQ21RYyxFQUFBO0kyQzlRdEI7TUFhWSw0RDVDb0N5QztjNENwQ3pDLG9ENUNvQ3lDO000Q25DekMscUI1Q3FCTztNNENwQlAsaUQzQzhQVTtNMkM5UFYseUMzQzhQVTtNMkM5UFYsaUMzQzhQVTtNMkM5UFYsMEQzQzhQVSxFQUFBO0lPOUZkO01vQy9LUjtRQWtCWSwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQjtRQUVsQixnQkFBZ0IsRUFBQSxFQVd2QjtJQS9CTDtNQXVCWSxXQUFXO01BQ1gsU0FBUyxFQUFBO0lBeEJyQjtNQTZCWSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQixFQUFBO0VBN0I5QjtJQW9DUSxnQnRDOG1JMkI7SXNDN21JM0IsaUJBQXlDO0lBQ3pDLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUI1Q0xXO0k0Q01YLGdCQUFnQjtJQUNoQiw4RDNDb09jO0kyQ3BPZCxzRDNDb09jO0kyQ3BPZCw4QzNDb09jO0kyQ3BPZCx1RTNDb09jLEVBQUE7STJDOVF0QjtNQTRDWSxxQjNDekJLO00yQzBCTCx5RDNDd09zQztjMkN4T3RDLGlEM0N3T3NDO00yQ3ZPdEMsOEQzQytOVTtNMkMvTlYsc0QzQytOVTtNMkMvTlYsOEMzQytOVTtNMkMvTlYsdUUzQytOVSxFQUFBO0kyQzdRdEI7TUFpRFksV0FBVztNQUNYLGF0Q3dtSU07TXNDdG1JTixjQUFjLEVBQUE7TUFwRDFCO1FBc0RnQixhdENxbUlBO1FzQ3BtSUEsaUJBQWlCLEVBQUE7RUF2RGpDO0lBNkRRLGVBQWUsRUFBQTtJQTdEdkI7TUErRFksWUFBWTtNQUNaLGFBQWEsRUFBQTtJQWhFekI7TUFtRVksWUFBWTtNQUNaLGFBQWEsRUFBQTtJQXBFekI7TUF1RVksWUFBWTtNQUNaLGFBQWEsRUFBQTtJQXhFekI7TUEyRVksWUFBWTtNQUNaLGFBQWEsRUFBQTtJQTVFekI7TUFnRlksV0FBVztNQUNYLFlBQVksRUFBQTs7QUFPeEI7RUFDSSxnQkFBZ0IsRUFBQTs7QUFHcEI7RUFDSSxrQkFBa0I7RUFDbEIsbUJBQW1CLEVBQUE7RUFGdkI7SUFPZ0IsYUFBYSxFQUFBO0VBUDdCO0lBV1ksV0FBVztJQUNYLG9GQUF5RCxFQUFBO0VBWnJFO0lBZVksWUFBWTtJQUNaLDhFQUFtRCxFQUFBO0VBaEIvRDtJQXNCZ0IsbUJBQXlFLEVBQUE7RUF0QnpGO0lBeUJnQixZQUFZO0lBQ1osWUFBWTtJQUNaLGtGQUF1RCxFQUFBO0VBM0J2RTtJQStCWSxXQUFXO0lBQ1gsaUZBQXNELEVBQUE7RUFoQ2xFO0lBbUNZLFNBQVM7SUFDVCxrQnRDOGhJUSxFQUFBO0VzQ2xrSXBCO0lBd0NnQixtQ0FBd0I7SUFDeEIsMkJBQXNCO0lBQ3RCLDZCQUF3QixFQUFBO0VBMUN4QztJQTZDZ0IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUE3Q25DO0lBZ0RnQiwwQkFBa0I7SUFBbEIsdUJBQWtCO0lBQWxCLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLFNBQUs7SUFDTCxjQUFjLEVBQUE7SXBDZ0N0QjtNb0NuRlI7UUFxRG9CLFNBQVMsRUFBQSxFQUVoQjtFQXZEYjtJQTBEZ0IsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCwwQkFBMEIsRUFBQTtJQTVEMUM7TUErRHdCLGlCQUFpQixFQUFBO0lBL0R6QztNQW1Fb0IseUNBQXlDO01BQ3pDLHFDQUFxQztNQUNyQyx5Q0FBeUMsRUFBQTtFQXJFN0Q7SUEwRVksV0FBVztJQUNYLGVBeks0QixFQUFBO0lBOEZ4QztNQThFZ0IsZ0JBNUt3QixFQUFBO0lwQ2lMaEM7TW9DbkZSO1FBaUZnQix5QkFBeUUsRUFBQSxFQUVoRjtFQW5GVDtJQXFGWSxTQUFTLEVBQUE7RUFyRnJCO0lBeUZRLGdCQUFnQixFQUFBOztBQUl4QjtFQUNJLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FDbk1mOzs7Ozs7Ozs7Ozs7Ozs7RWhEeTJ0QkU7QWdEdjF0QkY7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLGM3Q3lCYSxFQUFBOztBNkN0QmpCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTtFQUYxQjtJQUtRLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsY3ZDdWdLNEIsRUFBQTtJRS8ySjVCO01xQy9KUjtRQVNZLFl2Q29nS3NCLEVBQUEsRXVDbGdLN0I7RUFYTDtJQWFRLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixRQUFRLEVBQUE7RUFkaEI7SUFvQlEsZ0I3Q2tvQlc7STZDam9CWCxpQjdDcW9CVztJNkNwb0JYLHVCdkMwaEtnQztRdUMxaEtoQyxvQnZDMGhLZ0M7WXVDMWhLaEMsMkJ2QzBoS2dDLEVBQUE7SUVqNUpoQztNcUMvSlI7UUEyQlksUzdDNG5CQTtRNkMzbkJBLFU3QytuQkEsRUFBQSxFNkN2akJQO0lBcEdMO01Ba0NnQixnQnZDcS9KeUI7TXVDcC9KekIsYzVDdENDO000Q3VDRCxlcENpQ2dEO01vQ2hDaEQsZ0I3QzhsQmU7TTZDN2xCZix5QjdDOGxCd0I7TTZDN2xCeEIsY0FBYyxFQUFBO01yQ3dIdEI7UXFDL0pSO1VBeUNvQixnQjdDd2xCUyxFQUFBLEU2Q25sQmhCO0lBOUNiO01BeUZnQixXQUFzQztNQUN0QyxZQUF1QyxFQUFBO01BMUZ2RDtRQTRGb0IsZUFBbUMsRUFBQTtJQTVGdkQ7TUFpR1ksV0FBVztNQUNYLHVCdkM4OEo0QjtVdUM5OEo1QixvQnZDODhKNEI7Y3VDOThKNUIsMkJ2Qzg4SjRCLEVBQUE7RXVDaGpLeEM7SUErR1EsV3ZDcTRKc0I7SXVDcDRKdEIsWXZDbzRKc0I7SXVDbjRKdEIsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHlCNUN4SFM7STRDeUhULGlCdkMrM0p1QjtJdUM5M0p2QixtQkFBbUI7SUFDbkIscUI1QzNIUztJNEM0SFQsbUI1Q2lJNEI7STRDaEk1QixvRDVDb0ljO0k0Q3BJZCw0QzVDb0ljLEVBQUE7STRDOVB0QjtNQTRIWSxldkMyNEpZO011QzE0Slosa0M1Q21DNkI7TTRDbEM3QixjN0N4R0s7TTZDeUdMLDhCNUMrSFU7TTRDL0hWLHNCNUMrSFUsRUFBQTtJNEM5UHRCO01Ba0lZLHlCNUNySUs7TTRDc0lMLHFCNUN0SUs7TTRDd0lELFV2Q2szSmM7TXVDaDNKbEIsb0U1Q3NIVTtNNEN0SFYsNEQ1Q3NIVSxFQUFBO000QzdQdEI7UUF5SWdCLGM1Q3pJQztRNEMwSUQsOEI1Q21ITTtRNENuSE4sc0I1Q21ITSxFQUFBO0k0QzdQdEI7TUE4SVkseUI1Q2pKSztNNENrSkwscUI3Q3pISyxFQUFBO002Q3RCakI7UUFpSmdCLGM1Q2pKQyxFQUFBO0k0Q0FqQjtNQW1LZ0IsWXZDaURGLEVBQU87SXVDcE5yQjtNQXVMZ0IsWXZDOEJILEVBQU87SXVDck5wQjtNQTJNZ0IsWXZDWUYsRUFBTztJdUN2TnJCO01BNk9nQixZdkN2QkQ7TXVDd0JDLFlBQVksRUFBQTtJQTlPNUI7TUFxUWdCLFl2QzdDSCxFQUFPO0l1Q3hOcEI7TUF5UmdCLFl2Qy9EQyxFQUFPO0l1QzFOeEI7TUFpU2dCLFl2Q3hFTDtNdUN5RUssaUM1Q2pJdUIsRUFBQTtFNENqS3ZDO0lBdVNRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsUUFBUSxFQUFBOztBQUloQjtFQUNJLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VBSnZCO0lBTVEsWUFBWTtJQUNaLFNBQVM7SUFDVCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHFCQUFpQjtRQUFqQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtDNUN6RGM7STRDeURkLDBCNUN6RGMsRUFBQTtJNEM4Q3RCO01BY2dCLGdCQUFnQjtNQUNoQixZQUFZO01BQ1osa0M1Qy9ETTtNNEMrRE4sMEI1Qy9ETSxFQUFBO000QytDdEI7UUFrQm9CLGlCQUFpQixFQUFBO0lBbEJyQztNQXVCWSxrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87TUFDUCw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsUUFBUTtNQUVSLHlCNUM1VUssRUFBQTtNNEMrU2pCO1FBK0JnQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGtDNUNoRk07UTRDZ0ZOLDBCNUNoRk07UTRDaUZOLFlBQVk7UUFDWix5QjdDelRDO1E2QzBURCxhQUFhLEVBQUE7UUFwQzdCO1VBc0NvQixjQUFjLEVBQUE7TUF0Q2xDO1FBMENnQixrQkFBa0I7UUFDbEIsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsa0JBQWtCLEVBQUE7UUE3Q2xDO1VBK0NvQixXQUFXO1VBQ1gsVUFBVTtVQUNWLFdBQVc7VUFDWCxjQUFjO1VBQ2Qsa0JBQWtCO1VBQ2xCLE1BQU07VUFDTixPQUFPO1VBQ1AsU0FBUztVQUNULFlBQVk7VUFDWixtQjdDalZELEVBQUE7TTZDeVJuQjtRQTREZ0Isa0JBQWtCO1FuQzZPOUIsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CLEVBQUE7UUFDbkI7VUFDSSxZSjlSVTtVSStSVixpQ1R6YitCO1VTMGIvQixlbUNsUGlDO1VuQ29QN0IsY1Q3bEJLO1VTaW1CVCxzRFRuV2M7VVNtV2QsOENUbldjO1VTbVdkLHNDVG5XYztVU21XZCw4RFRuV2MsRUFBQTtRU3NXZDtVQUdRLGNWamxCQztVVXFsQkwsZ0NBQXdCO2tCQUF4Qix3QkFBd0I7VUFDeEIsc0RUL1dVO1VTK1dWLDhDVC9XVTtVUytXVixzQ1QvV1U7VVMrV1YsOERUL1dVLEVBQUE7UVNtWGQ7VUFDSSxjVnZsQks7VVV3bEJMLDhDVHJYVTtVU3FYVixzQ1RyWFUsRUFBQTs7QTRDbUh0QjtFQUVRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsMkJBQXFCO01BQXJCLHdCQUFxQjtVQUFyQixxQkFBcUI7RUFDckIsU0FBUztFQUNULG1CcENoVHdEO0VvQ2lUeEQsYzVDMVd5QjtFNEMyV3pCLDhCNUN6SGM7RTRDeUhkLHNCNUN6SGMsRUFBQTtFNENrSHRCO0lBU1ksWXZDOUpEO0l1QytKQyxxQkFBcUI7SUFDckIsaUM1QzFOMkI7STRDMk4zQixjN0N0V0s7STZDdVdMLGVBQWU7SUFDZiw4QjVDaElVO0k0Q2dJVixzQjVDaElVLEVBQUE7RTRDa0h0QjtJQWlCWSxjN0N2V0s7STZDd1dMLDhCNUNySVU7STRDcUlWLHNCNUNySVUsRUFBQTtFNENtSHRCO0lBcUJZLGM3Qy9XSyxFQUFBOztBOEMvQ2pCOzs7O0NqRHVpdUJDO0FpRGppdUJEO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsbUJBQWU7TUFBZixlQUFlO0VBRVgsbUI5Q29DUztFOENuQ1QsOEdBQWtMO0VBQWxMLDBEQUFrTCxFQUFBO0V0QzRLbEw7SXNDbExSO01BY1EsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGtCQUFrQixFQUFBLEVBRXpCOztBQUVEO0VBQ0ksMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixtQnJDZ0U0RDtFcUMvRDVELGtCeEMwbUswQztFd0N6bUsxQyxnQnhDMG1Ld0M7RXdDem1LeEMsYzdDWGEsRUFBQTtFT2tLVDtJc0MvSlI7TUFVUSxVQUFVO01BQ1YsZ0JBQWdCLEVBQUEsRUFTdkI7RUFwQkQ7SUFjUSxXQUFXLEVBQUE7SXRDaUpYO01zQy9KUjtRQWdCWSxXQUFXO1FBQ1gsa0JBQWtCLEVBQUEsRUFFekI7O0FBR0w7RUFDSSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTztFQUNQLHVCQUF1QixFQUFBO0V0Q3FJbkI7SXNDeklSO01BTVEsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFVBQVUsRUFBQSxFQXlCakI7RUFoQ0Q7SUFVUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0VBWjNCO0lBZ0JRLFdBQVc7SUFDWCxhQUFhLEVBQUE7SXRDd0hiO01zQ3pJUjtRQW1CWSxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFZO1lBQVosb0JBQVk7Z0JBQVosWUFBWTtRQUNaLGNBQWMsRUFBQSxFQUVyQjtFQXhCTDtJQTBCUSxnQnhDd2tCb0I7SXdDdmtCcEIsZ0JBQWdCLEVBQUE7SXRDOEdoQjtNc0N6SVI7UUE2Qlksa0JBQWtCLEVBQUEsRUFFekI7O0FBSUw7RUFDSSxnQkFBaUIsRUFBQTtFdENxR2I7SXNDdEdSO01BR1EsZ0JBQWdCLEVBQUEsRUE4QnZCO0VBakNEO0lBT1EseUJBQTRHLEVBQUE7RUFQcEg7SUFVUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQixFQUFBO0lBZnhCO01BaUJZLDZCQUFnQjtVQUFoQixnQkFBZ0I7TUFDaEIsU0FBUztNQUNULGVBQWdELEVBQUE7TXRDOEVwRDtRc0NqR1I7VUFxQmdCLDRCQUFlO2NBQWYsZUFBZSxFQUFBLEVBS3RCO010QzRFRDtRc0N0R1I7VUF3QmdCLDRCQUFlO2NBQWYsZUFBZSxFQUFBLEVBRXRCO0lBMUJUO01BNkJnQiwwQkFBMEIsRUFBQTs7QUMvRzFDOzs7Q2xEa291QkM7QWtEN251QkQ7RUFHSSxjQUFjO0VBQ2QsaUJ6QzBwS2U7RXlDeHBLWCxtQi9Db0NTO0UrQ25DVCw4R0FBa0w7RUFBbEwsMERBQWtMO0VBS2xMLG1CL0NzRGlCLEVBQUE7RVFpSGpCO0l1Q25MUjtNQWVRLGlCekNncEtXLEVBQUEsRXlDOW9LbEI7O0FBR0Q7RUFDSSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGM5Q05hLEVBQUE7RThDR2pCO0lBS1EsZ0JBQWdCO0lBQ2hCLG9CdEMrRHdEO0lzQzlEeEQsZ0J6QzBtS29DO0l5Q3ptS3BDLGtCekN3bUtzQztJeUN2bUt0QyxjOUNaUyxFQUFBO0k4Q0dqQjtNQVdZLHlCOUNkSyxFQUFBO0U4Q0dqQjtJQWVRLG1CdENzRHdEO0lzQ3JEeEQsYzlDbkJTLEVBQUE7RThDR2pCO0lBbUJRLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0J0Q2dEd0Q7SXNDL0N4RCxjOUN6QlMsRUFBQTtJOENHakI7TUF3QlksYy9DRUssRUFBQTtFK0MxQmpCO0lBNEJRLGVBQWU7SUFDZixTQUFTO0lBQ1QsbUJ0Q3VDd0QsRUFBQTtFc0NyRWhFO0lBaUNRLG1CQUFtQjtJQUNuQixrQnpDaW1LWTtJeUNobUtaLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFLdkIsZ0M5QzVDSyxFQUFBO0lPa0tUO011Qy9KUjtRQXNDWSxrQnpDOGxLUSxFQUFBLEV5Q3psS2Y7O0FBSUw7RUFDSSxlQUFlLEVBQUE7RXZDK0dYO0l1Q2hIUjtNQUdRLGdCekNqQ21CO015Q2tDbkIsV0FBVztNQUNYLFlBQVksRUFBQSxFQStHbkI7RUFwSEQ7SUFRUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWU7SUFDZix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQixlQUFlLEVBQUE7SXZDbUdmO011Q2hIUjtRQWVZLDhCQUFtQjtRQUFuQiw2QkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixtQkFBbUIsRUFBQSxFQUUxQjtFdkMrRkc7SXVDaEhSO01Bb0JZLGtCQUFrQixFQUFBLEVBT3pCO0VBM0JMO0lBdUJZLHlCQUFxQjtJQUNyQixtQi9DekJhO0krQzBCYiw2Q0FBNkMsRUFBQTtFQXpCekQ7SUE2QlEsV0FBVztJQUNYLGM5Q2hGUztJOENpRlQsbUJ0Q1R3RDtJc0NVeEQsZ0J6Q2trS3lDLEVBQUE7SUVsL0p6QztNdUNoSFI7UUFrQ1ksV0FBVztRQUNYLG1CQUFPO1lBQVAsV0FBTztnQkFBUCxPQUFPLEVBQUEsRUFFZDtFQXJDTDtJQXVDUSxtQkFBTztRQUFQLFdBQU87WUFBUCxPQUFPO0lBQ1AsY3pDNmpLUyxFQUFBO0lFci9KVDtNdUNoSFI7UUEwQ1ksZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBVTtZQUFWLGNBQVU7Z0JBQVYsVUFBVTtRQUNWLGN6Q3lqS0ssRUFBQSxFeUN2aktaO0V2Q2lFRztJdUNoSFI7TUFtRGdCLGFBQWEsRUFBQSxFQUVwQjtFQXJEVDtJQXdEUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixxQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsYzlDOUdTO0k4QytHVCxnQnpDcWlLeUMsRUFBQTtJRWwvSnpDO011Q2hIUjtRQStEWSxtQkFBbUIsRUFBQSxFQW9EMUI7SUFuSEw7TUFrRVksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixxQkFBeUI7VUFBekIsa0JBQXlCO2NBQXpCLHlCQUF5QjtNQUN6Qix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBO0lBcEUvQjtNQXVFWSxnQkFBZ0IsRUFBQTtNQXZFNUI7UUF5RWdCLGMvQzlGQztRK0MrRkQsY3pDMmhLQyxFQUFBO1FFci9KVDtVdUNoSFI7WUE0RW9CLGN6QzBoS0gsRUFBQSxFeUN4aEtKO01BOUViO1FBZ0ZnQixXekM4bkRxQjtReUM3bkRyQixZekNzbkRZO1F5Q3JuRFosMkJBQW9CO1FBQXBCLDJCQUFvQjtRQUFwQixvQkFBb0I7UUFDcEIseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUV2QixjekMybkR3RDtReUMxbkR4RCxldENqRWdEO1FzQ2tFaEQsZ0JBQWdCO1FBQ2hCLGM5QzNJQztROEM0SUQscUIvQ3RIRztRK0N1SEgseUIvQ2hIQyxFQUFBO0krQ3FCakI7TUFnR2dCLFVBQVU7TUFDVixnQzlDOEdNO004QzlHTix3QjlDOEdNO004Q3pHTixldENoRmdELEVBQUE7TXNDdEJoRTtRQW1Hb0IsVUFBVTtRQUNWLGdDOUMwR0U7UThDMUdGLHdCOUMwR0UsRUFBQTtJOEM5TXRCO01BeUdnQixpQkFBaUI7TUFDakIsbUJ0Q3BGZ0Q7TXNDcUZoRCxjL0NoSUMsRUFBQTtJUXFJVDtNdUNoSFI7UUFnSGdCLGlCQUFpQixFQUFBLEVBRXhCOztBQUdUO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTtFdkNQbEI7SXVDS1I7TUFJUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQSxFQWdCMUI7RUFwQkQ7SUFPUSxXQUFXLEVBQUE7SXZDakJYO011Q1VSO1FBV2dCLGVBQWU7UUFDZixjQUFjLEVBQUEsRUFFckI7SXZDbkJEO011Q0tSO1FBZ0JZLDhCQUFzQjtRQUF0QiwyQkFBc0I7UUFBdEIsc0JBQXNCO1FBQ3RCLGlCQUFpQixFQUFBLEVBRXhCOztBQUdMO0VBQ0kseUQ5QzBFOEM7VThDMUU5QyxpRDlDMEU4QztFOEN6RTlDLHFCL0NoS1U7RStDaUtWLGlCQUFpQjtFQUNqQixtQzlDK0RrQjtFOEMvRGxCLDJCOUMrRGtCLEVBQUE7O0E4QzNEdEI7RUFDSSxnQi9DK1BXLEVBQUE7RVF4U1A7SXVDd0NSO01BR1EsZ0J6QzQ3RlEsRUFBQSxFeUN2N0ZmO0V2QzNDTztJdUNtQ1I7TUFNUSxnQi9DMlBPLEVBQUEsRStDelBkOztBdkMzQ087RXVDOENSO0lBSWdCLFV6Q3EzR1c7SXlDcDNHWCxrQkFBa0IsRUFBQSxFQUV6Qjs7QUFNVDtFQUNJLGFBQWE7RUFDYixtQkFBbUIsRUFBQTtFQUZ2QjtJQUlRLG1CdEN6SndELEVBQUE7O0F1QzlGaEU7Ozs7OztDbkRnMHVCQztBbUR2enVCRDtFQUNJLGVBQWUsRUFBQTs7QUNSbkI7RUFDSSxhQUFhLEVBQUE7RUFEakI7SUFHUSxjQUFjLEVBQUE7RUFIdEI7SUFNUSxtQkFBbUIsRUFBQTs7QUNSM0I7OztDckQ4MHVCQztBcUR6MHVCRDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RTFDaUxsQjtJMENuTFI7TUFJUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQSxFQWtJMUI7RUF0SUQ7SUFPUSxpQmxEdURhO0lrRHJEYixZQUFZLEVBQUE7RUFUcEI7SUFZUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0lBWnJCO01BY1ksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsY0FBYyxFQUFBO01BaEIxQjtRQWtCZ0IsbUJBQXFELEVBQUE7UUFsQnJFO1VBb0JvQiw4QkFBNkIsRUFBQTtRQXBCakQ7VUF1Qm9CLDZCQUE2QixFQUFBO0VBdkJqRDtJQTZCUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLG1CQUFZO1FBQVosb0JBQVk7WUFBWixZQUFZLEVBQUE7RTFDb0paO0kwQ25MUjtNQW1DWSxpQkFBaUIsRUFBQSxFQUV4QjtFQXJDTDtJQWdEUSxTQUFTO0lBQ1QsVUFBVSxFQUFBO0kxQ2tJVjtNMENuTFI7UUF1RG9CLGdCbkR2Q0gsRUFBQSxFbUQrQ1I7SUEvRFQ7TUE0RG9CLDZCakQ5Q0MsRUFBQTtJaURkckI7TUFpRVksZ0JBQWdCLEVBQUE7TTFDa0hwQjtRMENuTFI7VUF1RTRCLGVBQWUsRUFBQSxFQUV0QjtNMUMwR2I7UTBDbkxSO1VBOEU0QixnQkFBZ0IsRUFBQSxFQUV2QjtNQWhGckI7UUFvRmdCLDZCakR0RUssRUFBQTtRaURkckI7VUFzRm9CLGNqRHJFSCxFQUFBO01pRGpCakI7UUEwRmdCLDZCakQ1RUssRUFBQTtRaURkckI7VUE0Rm9CLGNsRGxESCxFQUFBO01rRDFDakI7UUFtR2dCLGNqRGxGQztRaURtRkQsdURsRHZGNkM7UWtEMkY3QyxtQnpDZmdEO1F5Q2dCaEQsZ0I1QzIxRWM7UTRDMTFFZCxxQkFBcUI7UUFDckIsb0I1QysyRWtCO1E0QzkyRWxCLG1CNUMyM0VpQjtRNEMxM0VqQiw4QmpEcUtNO1FpRHJLTixzQmpEcUtNLEVBQUE7UWlEbFJ0QjtVQStHb0IsOEJqRGtLRTtVaURsS0Ysc0JqRGtLRSxFQUFBO01pRGpSdEI7UUFzSHdCLGNqRHJHUCxFQUFBO01pRGpCakI7UUEwSDRCLGNqRHpHWCxFQUFBO01pRGpCakI7UUErSDRCLGNqRDlHWCxFQUFBOztBaUR1SGpCO0VBSVEseUJsRC9GVztFa0R1R2YsVUFBVSxFQUFBO0UxQytCTjtJMEMzQ1I7TUFjUSxlQUFlLEVBQUEsRUFLdEI7RTFDd0JPO0kwQzNDUjtNQWlCUSxVQUFVLEVBQUEsRUFFakI7O0FDbEpEO0VBQ0ksbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQix5QmxEV2EsRUFBQTtFTzRKVDtJMkMxS1I7TUFNUSxxQkFBcUIsRUFBQSxFQUU1Qjs7QUFFRDtFQUNJLHFCQUFxQixFQUFBO0UzQytKakI7STJDaEtSO01BSVEscUJBQXFCLEVBQUEsRUFFNUI7O0FBRUQ7RUFDSSxrQkFBa0I7RUFDbEIseUJBQXlCLEVBQUE7RUFGN0I7SUFLUSxjQUFjLEVBQUE7O0FBSXRCO0VBQ0ksY0FBYyxFQUFBOztBQUdsQjtFQUNJLGlCQUFpQjtFQUNqQix5QkFBeUIsRUFBQTtFQUY3QjtJQUtRLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUIxQzBDd0QsRUFBQTs7QTBDdENoRTtFQUNJLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLHlCbkRuQmUsRUFBQTs7QW1Ec0JuQjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZTtFQUNmLHlCQUE2QjtNQUE3Qiw2QkFBNkI7RUFDN0IsVUFBVTtFQUNWLFNBQVM7RUFDVCxnQkFBZ0IsRUFBQTtFQVBwQjtJQVNRLGVBQWUsRUFBQTs7QUFJdkI7O0VBRUksZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYix5QmxEeERhO0VrRHlEYixjbkR2Q2UsRUFBQTtFbURrQ25COztJQVFRLGFBQWEsRUFBQTtFQVJyQjs7OztJQWFRLG1CMUNDd0QsRUFBQTtFMENkaEU7O0lBaUJRLFNBQVM7SUFDVCxtQkFBbUIsRUFBQTtFQWxCM0I7O0lBc0JRLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7O0FBSXhCO0VBQ0kseUJsRGpGYSxFQUFBOztBa0RvRmpCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYix5QmxEekZhLEVBQUE7O0FrRDRGakI7RUFFUSxlQUFlLEVBQUE7RUFGdkI7SUFLWSxnQ2xEakdLLEVBQUE7O0FrRHNHakI7RUFFSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZix5QkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtFQUM5QixhQUE4QjtFQUM5QixvQkFBb0I7RUFDcEIsY25ENUZlO0VtRDZGZix5QkFBeUI7RUFDekIseUJuRGhHZTtFbURpR2Ysa0JBQWtCO0VBQ2xCLHlEbERpSjhDO1VrRGpKOUMsaURsRGlKOEMsRUFBQTtFa0Q3SmxEO0lBZVksVUFBVTtJQUNWLGdDbERvSVU7SWtEcElWLHdCbERvSVUsRUFBQTtFa0RwSnRCO0lBb0JRLGtCQUFrQjtJQUNsQixRQXBCcUI7SUFxQnJCLFNBckJxQjtJQXNCckIsYUFBYTtJQUNiLHlCbERwSVM7SWtEcUlULG1CMUM3RHdEO0kwQzhEeEQsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsZ0NsRHdIYztJa0R4SGQsd0JsRHdIYyxFQUFBO0VrRHJKdEI7SUFpQ1EsY0FBYztJQUNkLFdBQVc7SUFDWCxhQUFhO0lBQ2IseUJBQXlCLEVBQUE7RUFwQ2pDO0lBd0NRLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQXpDeEI7SUE2Q1EsNkJsRDVKYSxFQUFBO0VrRCtHckI7SUFpRFEseUJsRDdKUyxFQUFBO0VrRDRHakI7SUFxRFEseUJsRDlKUyxFQUFBO0VrRHlHakI7SUF5RFEseUJsRC9KUyxFQUFBO0VrRHNHakI7SUE2RFEseUJuRG5KVyxFQUFBO0VtRHNGbkI7SUFpRVEseUJsRGpLeUIsRUFBQTtFa0RnR2pDO0lBcUVRLHlCbERsS3lCLEVBQUE7RWtENkZqQztJQXlFUSx5QmxEbkt5QixFQUFBO0VrRDBGakM7SUE2RVEseUJuRGxLVyxFQUFBO0VtRHFGbkI7SUFpRlEseUJuRHJLVyxFQUFBO0VtRG9GbkI7SUFxRlEseUJsRHRLeUIsRUFBQTtFa0RpRmpDO0lBeUZRLHlCbkQ1S1MsRUFBQTtFbURtRmpCO0lBNkZRLHlCbEQvSjJDLEVBQUE7RWtEa0VuRDtJQWlHUSx5Qm5EcExTLEVBQUE7RW1EbUZqQjtJQXFHUSx5QmxEaksyQyxFQUFBO0VrRDREbkQ7SUF5R1EsMkJuRDFMYSxFQUFBO0VtRGlGckI7SUE2R1EseUJsRG5LMkMsRUFBQTtFa0RzRG5EO0lBaUhRLHlCbkRqTVcsRUFBQTtFbURnRm5CO0lBcUhRLHlCbERyS3dELEVBQUE7RWtEZ0RoRTtJQXlIUSx5Qm5EeE1TLEVBQUE7RW1EK0VqQjtJQTZIUSx5QmxEbksyRCxFQUFBO0VrRHNDbkU7SUFpSVEseUJsRHBLMEMsRUFBQTtFa0R2RjFDO0lBQ0kseUJsRGdHRSxFQUFBO0VrRGpHTjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCbERzR0UsRUFBQTtFa0R2R047SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBEbVcrRSxFQUFBO0VvRHBXbkY7SUFDSSx5Qm5ENENFLEVBQUE7RW1EN0NOO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5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QUEsRWdENW9EZjtFQXZMTDtJQXlMUSxrQmhEeW9EWSxFQUFBO0lFcnNEWjtNOEM3SFI7UUEyTFksa0JoRHdvRFEsRUFBQSxFZ0R0b0RmO0VBN0xMO0lBK0xRLG1CQUFPO1FBQVAsV0FBTztZQUFQLE9BQU8sRUFBQTtFQS9MZjtJQXVNb0IsMkJBQTJCLEVBQUE7RUF2TS9DOztJQW1Od0IsZ0N0RGxPTCxFQUFBO0VzRGVuQjs7SUF1Tm9CLG1CN0NwTDRDLEVBQUE7RTZDbkNoRTs7SUErTlksZ0JBQWdCLEVBQUE7O0E1QzRsRXhCO0VBQ0ksZ0JWdnZFUTtFVTJ2RVIsb0JEN3hFd0Q7RUM4eEV4RCxnQlZqM0RHO0VVazNESCxrQkpwNEJNO0VJdzRCTixjVmwxRVM7RVVtMUVULGdCSnYxRWlCO0VJdzFFakIsNkJBQTZCO0VBS3pCLHlCVmp4RUssRUFBQTtFVW14RVQ7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksZ0JWbHhFUTtFVXN4RVIsb0JEenpFd0Q7RUMwekV4RCxnQlY1NERHO0VVNjRESCxrQkovNUJNO0VJbTZCTixjVjkyRVM7RVUrMkVULGdCSm4zRWlCO0VJdzNFYix5QlYzeUVLLEVBQUE7RVU2eUVUO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUlJLFNWbHpFeUI7RVVvekVyQixlVnI3REU7RVV1N0ROLGlCRHQxRXdEO0VDdTFFeEQsZ0JWeDZERztFVXk2REgsa0JKMzdCTTtFSSs3Qk4sY1YzNEVTO0VVNDRFVCxnQkpoNUVpQixFQUFBO0VJbzVFakI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBQ0ksU1Z6MEV5QjtFVTIwRXJCLGVWMzhERTtFVTY4RE4saUJENzJFd0Q7RUM4MkV4RCxnQlY5N0RHO0VVKzdESCxrQkpqOUJNO0VJcTlCTixjVmw2RVM7RVVtNkVULGdCSnY2RWlCLEVBQUE7RUkyNkVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFD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K0I7SXFEc2QvQixjckQvakJvRDtJcURna0JwRCxrQkFBa0I7SUFDbEIsZWhEM1pVLEVBQUE7O0FnRGlYdEI7RUErQ1ksWWhEclpFO0VnRHNaRixtQ3JEOWQrQjtFcUQrZC9CLDRCdEQzbUJLLEVBQUE7O0FzRDBqQmpCO0VBc0RZLFloRDNaSTtFZ0Q0WkosaUNyRHRlMkI7RXFEdWUzQiw0QnREbG5CSyxFQUFBOztBc0QwakJqQjtFQTZEWSxZaERqYU87RWdEa2FQLGlDckQ3ZTJCO0VxRDhlM0IsNEJ0RHpuQkssRUFBQTs7QXNEMGpCakI7RUFvRVksWWhEdmFGO0VnRHdhRSxpQ3JEcGYyQjtFcURxZjNCLGNyRGhrQkUsRUFBQTs7QXFEMGZkO0VBMkVZLFloRDdhSTtFZ0Q4YUosaUNyRDNmMkI7RXFENGYzQixjckQxbEJ1RCxFQUFBOztBcUQ2Z0JuRTtFQWtGWSxZaERuYkQ7RWdEb2JDLGlDckRsZ0IyQjtFcURtZ0IzQixjdEQ5b0JLLEVBQUE7O0FzRDBqQmpCO0VBeUZZLFloRHpiSDtFZ0QwYkcsbUNyRHhnQitCO0VxRHlnQi9CLGN2RDlWeUQsRUFBQTs7QXVEbVFyRTtFQWdHWSxZaEQvYkg7RWdEZ2NHLGlDckRoaEIyQjtFcURpaEIzQiw0QnRENXBCSyxFQUFBOztBc0QwakJqQjtFQXVHWSxZaERyY0Q7RWdEc2NDLGlDckR2aEIyQjtFcUR3aEIzQixjckQ3cUJxQixFQUFBOztBcURva0JqQztFQThHWSxZaEQzY0Q7RWdENGNDLGlDckQ5aEIyQjtFcUQraEIzQixjdEQzcUJPLEVBQUE7O0FzRDJqQm5CO0VBcUhZLFloRGhkSDtFZ0RpZEcsaUNyRHJpQjJCO0VxRHNpQjNCLGN0RDdxQkssRUFBQTs7QXVEbkRqQjs7Ozs7QzFEaXJ4QkM7QTBEeHF4QkQ7RUFDSSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBO0VBRmpCO0lBSVEsZUFBZSxFQUFBO0VBSnZCO0lBT1Esa0JBQWtCLEVBQUE7RUFQMUI7SUFVUSxtQ3REbVFjO0lz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QjtFSTljNUIsa0JEalY0RDtFQ2tWNUQsZ0JWekllO0VVMElmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVmpKZ0M7RVVvSmhDLHNCVi9JNEM7RVVnSjVDLGlCSjhid0I7RUkzYnhCLHFCVmhaVztFVW9aZixxQkFBcUI7RUFDckIsY0owYnlCO0VJdmJyQiw4QkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCVGhMa0I7RVNnTGxCLG9CVGhMa0IsRUFBQTtFT3BHZDtJdURsQlI7TXJEeVNZLDZDQUFvRSxFQUFBLEVxRHZTL0U7RXZEcUJPO0l1RHZCUjtNckQ2U1EsMEJxRDVTK0w7TXJENFMvTCx1QnFENVMrTDtNckQ0Uy9MLGtCcUQ1UytMO01yRDZTL0wsNENBQWtFLEVBQUEsRXFENVN6RTtFckRpVEc7SUFDSTtNQUNJLGNUaGNLO01TaWNMLHlCVnhhSztNVTBhRCxxQlR6Wm1DO01TNlp2QyxxQkFBcUI7TUFDckIsNEJUeE1VO01Td01WLG9CVHhNVSxFQUFBO01TZ05WO1FBQ0kseUJUamRDO1FTa2RELHlDVGxOTTtRU2tOTixpQ1RsTk0sRUFBQSxFU21OVDtFQUdUO0lBQ0ksY1R2ZFM7SVN3ZFQseUJWM2JTO0lVNmJMLHFCVjdiSztJVWljVCw0QlQ5TmM7SVM4TmQsb0JUOU5jLEVBQUE7RVNxT2xCO0lBRVEsY1h2SnlEO0lXNEp6RCx5QlQ1ZUs7SVNpZkwsc0NWM2RPO0lVK2RYLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NWeGVPLEVBQUE7RVU4ZWY7SUFDSSxhQUFhO0lBQ2IsNERWbGU2QztZVWtlN0Msb0RWbGU2QyxFQUFBO0VVb2dCakQ7SUFDSSx5Q1R4U2M7SVN3U2QsaUNUeFNjLEVBQUE7O0E4RGpIdEI7RUFDSSxpQkFBaUI7RUFDakIsY0FBYyxFQUFBO0VBRmxCO0lBSVEsWXpEK05NO0l5RDlOTixpQzlEZStCO0k4RGQvQixlQUFlO0lBQ2YsYzlEdkcyQztJOER3RzNDLDhCOUR5R2M7SThEekdkLHNCOUR5R2MsRUFBQTtFOERqSHRCO0lBWVksYy9EL0hLO0krRGdJTCw4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RXZPZCxtRnJFdU9jLEVBQUE7SXFFbFJ0QjtNQTZDWSxjdEVDSztNc0VBTCx5QnJFaENTO01xRWlDVCx5RHJFME9zQztjcUUxT3RDLGlEckUwT3NDO01xRXpPdEMsMEVyRWlPVTtNcUVqT1Ysa0VyRWlPVTtNcUVqT1YsMERyRWlPVTtNcUVqT1YsbUZyRWlPVSxFQUFBO0lxRWpSdEI7TUFtRFksY3RFVk8sRUFBQTtJc0V6Q25CO01Bc0RZLGNBQWMsRUFBQTtJQXREMUI7TUF5RFksZUFBZSxFQUFBO0lBekQzQjtNQTZEZ0IsWWhFMlVBO01nRTFVQSxpQkFBaUI7TUFDakIsaUNyRXNIdUI7TXFFckh2QixlQUFlO01BQ2YsY3RFdkJDO01zRXdCRCw4QnJFZ05NO01xRWhOTixzQnJFZ05NLEVBQUE7SXFFbFJ0QjtNQXFFZ0IsY3RFdkJDO01zRXdCRCw4QnJFMk1NO01xRTNNTixzQnJFMk1NLEVBQUE7SXFFalJ0QjtNQXlFZ0IsY3RFaENHLEVBQUE7O0F1RTlDbkI7OztDMUVvNTFCQztBMEUvNDFCRDtFQUdZLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsY0FBYztFQUVkLFdBQVcsRUFBQTs7QUNmdkI7Ozs7O0MzRW02MUJDO0E0RW42MUJEOzs7OztDNUV5NjFCQztBNEVsNjFCRDtFQUdZLHlCekVxQ0s7RXlFcENMLGFuRTRySUc7RW1FMXJJQyxtQnpFMERTLEVBQUE7RVE0R2pCO0lpRTVLUjtNQVNnQixnQm5Fd3JJRyxFQUFBLEVtRW5ySVY7RWpFbUtEO0lpRWpMUjtNQVlnQixtQm5Fc3JJSyxFQUFBLEVtRXBySVo7O0FqRW1LRDtFaUVqTFI7SUFpQmdCLGdCQUFnQixFQUFBLEVBRXZCOztBakU4SkQ7RWlFakxSO0lBc0JnQixnQkFBZ0I7SUFDaEIsV0FBVyxFQUFBLEVBRWxCOztBQXpCVDtFQTJCWSxXQUFXLEVBQUE7RWpFaUpmO0lpRTVLUjtNQTZCZ0IsVUFBVSxFQUFBLEVBTWpCO0VqRThJRDtJaUVqTFI7TUFnQ2dCLGdCQUFnQjtNQUNoQixXQUFXLEVBQUEs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Q2hCLG1CbkZqSXFCLEVBQUE7O0FtRnFJdkI7RUFDRSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxtQm5GeElxQixFQUFBOztBbUY2SXZCOzs7Ozs7RUFLSSwwQkFBMEIsRUFBQTs7QUFLOUI7RUFFRSxVQUFVO0VBQ1Ysd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULG1CbkY1SnFCO0VtRjZKckIsdUJBQXVCO0VBQ3ZCLGNBQWM7RUFDZCxlckVoSTBCLEVBQUE7RWpCdXAvQjVCO0l1Rm5qL0JFLFVBQVUsRUFBQTs7QUYxSlo7RUMyTEUsY0FBYztFQUNkLGlDQUFpQyxFQUFBOztBRDdHbkM7Ozs7O0VDc0hFLG9CQUFvQixFQUFBOztBQUl0QjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjtFQUNFLHdCQUF3QixFQUFBOztBdEZtaC9CNUI7O0V3RjFyL0JFLGNBQWM7RUFDZCw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxpQkFMc0o7RUFNdEosZ0I1RUc4RDtFNEVGOUQsZXZFMlgrQjtFdUV6WC9CLHlCckZsRGlCO0VxRm1EakIsbUJyRnhCdUI7RXFGeUJ2Qix5QnBGMUVlO0VvRjJFZixxQnZFdVhjO1V1RXZYZCxhdkV1WGM7RXVFclhkLHVEckZqRjJEO0VxRmtGM0QsbUI1RU44RDtFNEVPOUQsbUJ2RVAyQjtFdUVRM0IsZ0IvRTNEdUI7RStFNER2QixjckZ6RGlCO0VxRjREZiw4RHBGNktrQjtFb0Y3S2xCLHNEcEY2S2tCO0VvRjdLbEIsOENwRjZLa0I7RW9GN0tsQix1RXBGNktrQjtFb0Z4SmxCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXhGcXEvQmxCOztJd0Zyci9CRSxhQUFhO0lBQ2IseUJyRnBFZTtJcUZxRWYseUJwRjNGYTtJb0Y0RmIsNERyRnhEaUQ7WXFGd0RqRCxvRHJGeERpRDtJcUYyRC9DLDhEcEZrS2dCO0lvRmxLaEIsc0RwRmtLZ0I7SW9GbEtoQiw4Q3BGa0tnQjtJb0ZsS2hCLHVF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QjtFMkZmakIsbUIzRjBDdUI7RTJGekN2Qix5QjFGUmU7RTBGVWYsdUQzRmQyRDtFMkZlM0QsbUJsRjZEOEQ7RWtGNUQ5RCxtQjdFNEQyQjtFNkUzRDNCLGdCckZRdUI7RXFGUHZCLGMzRlVpQjtFb0Z3R2pCLHdPQUF5TjtFTzlHdk4sOEJBQThCO0VBQzlCLHVDQUEwRDtFQUMxRCw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBRXhCLHFCQUF1RDtFQUl2RCw4RDFGc09rQjtFMEZ0T2xCLHNEMUZzT2tCO0UwRnRPbEIsOEMxRnNPa0I7RTBGdE9sQix1RTFGc09rQixFQUFBO0VtRi9IcEI7SURvREE7TUNqREksdVdBQXVXLEVBQUEsRU9uRTFXO0VBbkNEO0lBQ0UsYUFBYTtJQUNiLHlCM0ZYZTtJMkZZZix5QjFGbENhO0kwRm1DYiw0RDNGQ2lEO1kyRkRqRCxvRDNGQ2lEO0kyRkUvQyw4RDFGMk5nQjtJMEYzTmhCLHNEMUYyTmdCO0kwRjNOaEIsOEMxRjJOZ0I7STBGM05oQix1RTFGMk5nQixFQUFBO0UwRnROcEI7SUFDRSxtRHJGNm9CMkM7SXFGNW9CM0MsbUI3RXVaK0IsRUFBQTtFNkVuWmpDO0lBQ0UsYUFBYSxFQUFBO0VBR2Y7SUFDRSxZQUFZO0lBQ1osc0JBQXNCLEVBQUE7RUFFeEI7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7O0FDckNuQjtFQUNFLHFCM0ZnR1U7RTJGL0ZWLHlCQUErRCxFQUFBO0VBRS9EO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7O0FZKy9CZ0M7RStFaGtDeEMsYzNGaUVRLEVBQUE7O0EyRjVEWjtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CbkZvQzhEO0VtRmxDOUQsbUJuRmtDOEQ7RW1GakM5RCxnQnRGa2dCMkI7RXNGamdCM0IsYzNGK0VZLEVBQUE7RTJGNURaO0lBSUksY0FBYyxFQUFBOztBekM0WXBCO0U1QnhiTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0VzRXZCakUsaUI3RmlEbUI7RTZGaERuQixpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7RUNSbEI7SXZFNkJJLHVCQUE2RDtJQUE3RCxzQkFBNkQ7SXNFdkJqRSxlQ0ZtQztJREduQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7RUNSbEI7SXZFNkJJLGdCQUE2RDtJQUE3RCxlQUE2RDtJc0V2QmpFLGVDRW1DO0lERG5DLGlCQUFpQjtJQUNqQixrQkFBa0IsRUFBQTs7QUNLbEI7RURTQSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUhxQjtFQUdyQiw2QkFIcUI7TUFHckIsdUJBSHFCO1VBR3JCLG1CQUhxQixFQUFBOztBQ0hyQjtFcEVxR0EsbUJBQU07TUFBTixrQkFBTTtVQUFOLGNBQU07RUFJSixhQUFhO0VBQ2IsWUFBWTtFQXNDWixXQS9FaUMsRUFBQTtFb0VqRW5DO0lwRXFHQSxtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTSxFQUFBO0VvRXJHTjtJcEVxR0EsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTs7QW9FekZOO0VwRW9JRSxXQTNGWSxFQUFBOztBb0V6Q2Q7RXBFb0lFLFdBM0ZZLEVBQUE7O0FvRXpCWjtFQU1JLDZCQUFnQjtNQUFoQixnQkFBZ0IsRUFBQTs7QXRGb0hoQjtFc0YxSEo7SUFNSSw2QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7O0F0RndIQztFc0YvSEo7SUFNSSw2QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7O0F0RndIQztFc0YvSEo7SUFNSSw2QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7O0FBWUg7RXBFc0RGLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNLEVBQUE7O0FvRXZDRjtFcEVrRkYsZXFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsVXFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixVcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsV3FFNUJnRSxFQUFBOztBdkZrQzVEO0VzRjVHRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0F0RjBGQztFc0ZqSEY7SXBFMkRKLG1CQUFNO1FBQU4saUJBQU07WUFBTixXQUFNO0lBMkNKLFdBM0ZZLEVBQUE7RW9FTlo7SXBFc0RGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RW9FaERGO0lwRTJGRixXQTNGWSxFQUFBO0VvRVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QUFLTDtFQUNFLFdBQVcsRUFBQTs7QUFJYjtFQUNFLFlBQVksRUFBQTs7QUE4QmQ7RXZFdkdNLHVCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFZm1KN0Q7SXNGNUNOO012RXZHTSxzQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFc0lsRTtFQS9CRDtJcEVzQ0UsNEJBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBO0VmMEkzRDtJc0Y1Q047TXBFc0NFLDJCQXREMEU7TUg5RXhFLHFCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUyRzFEO0VBckNQO0lwRThERSxXQTNGWSxFQUFBO0VvRWlDZDtJcEUwREUsV0EzRlksRUFBQTtFb0V5Q1o7SXBFa0RBLGdDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDJCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDJCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDJCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDRCQXREMEUsRUFBQTtFbEI0RHRFO0lzRnBFTjtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FUjVFO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7RXRGMkRHO0lzRnpFTjtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTs7QUE4Q0g7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUVnSmhFOztBQUlEO0V2RXBKSSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRkNKO012RXBKSSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFc0poRTs7QUFYSDtFdkUzSU0sd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZSTjtNdkUzSU0sdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RTJKaEU7O0FFM0pIO0V0RTZJRSxXcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsVXFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLGdCcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsVXFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLGdCcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsWXFFNUJnRSxFQUFBOztBdkZrQzVEO0V3Rm5KTjtJdEU2SUUsV3FFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsVXFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsWXFFNUJnRSxFQUFBLEVDL0dqRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsV3FFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsVXFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsWXFFNUJnRSxFQUFBLEVDL0dqRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsV3FFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsVXFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsWXFFNUJnRSxFQUFBLEVDL0dqRTs7QUFGRDtFdEU2SUUsNEJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSwyQkF0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSwyQkF0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsaUNBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSw2QkF0RDBFLEVBQUE7O0FsQjREdEU7RXdGbkpOO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBeEZzSks7RXdGeEpOO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0FGcU1HO0VHOU1FLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBc0J4QjtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQTtFdkZrQzVEO0l5Ri9ISTtNdkV5SFIsZXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7RXpGa0lMO0l5RnBJSTtNdkV5SFIsZXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7RXpGa0lMO0l5RnBJSTtNdkV5SFIsZXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0FIdUxQO0VHN0tFLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEIsRUFBQTs7QXpGOEc5QjtFc0ZvREY7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6Rm1KQztFeUZ4SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekZzSUw7RXlGL0hJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGa0lMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekY2SEw7RXNGMERGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGa0lMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBekZpSEM7RXNGK0NGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZ3SkM7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGa0lMO0VzRnFERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FIb0xEO0VJbk1GLGVBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRixvQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLHFCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsMENBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsZ0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRixxQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLHNCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsMkNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsZ0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRixxQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLHNCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsMkNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsZ0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRixxQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLHNCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsMkNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBMUYySHpCO0VzRndFRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUEsRUp5TTFCOztBdEZ6RUM7RXNGbUVGO0lJbk1GLGVBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG1DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixxQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYseUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQSxFSnlNMUI7O0F0RnpFQztFc0ZtRUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QUF6SlM7RUR0RWQsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFINkI7RUFHN0IsNkJBSDZCO01BRzdCLDRCQUg2QjtVQUc3Qix3QkFINkIsRUFBQTtFQ2lQN0I7SXBFaklBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VvRWdJM0I7SXBFcEdFLFlBM0ZZLEVBQUE7RW9FK0xkO0lwRXBHRSxZQTNGWSxFQUFBO0VvRStMZDtJQTJCTSw2QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUE7RXRGekhoQjtJc0Y4Rk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0V0RnJIQztJc0Z5Rk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0V0RnJIQztJc0Z5Rk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lwRS9JQSxtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRStJTjtJcEVwR0UsZ0JxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxXcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLFdxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsV3FFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxZcUU1QmdFLEVBQUE7RXZGa0M1RDtJc0Y4Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDtFdEZsSkQ7SXNGeUZOO01wRS9JQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sV0FBTTtNQTJDSixZQTNGWSxFQUFBO0lvRStMZDtNcEUvSUEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJb0UrSU47TXBFcEdFLFlBM0ZZLEVBQUE7SW9FK0xkO01wRXBHRSxnQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEOztBQU9MO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXFUOUQ7O0FBSkg7RXZFalRJLHNCQUE2RDtFQUE3RCx5QkFBNkQsRUFBQTtFZm1KN0Q7SXNGOEpKO012RWpUSSxxQkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRXVFMFQ5RDs7QUFuTkw7RXZFdkdNLHNCQUE2RDtFQUE3RCx5QkFBNkQsRUFBQTtFZm1KN0Q7SXNGNUNOO012RXZHTSxxQkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRXVFc0lsRTtFQS9CRDtJcEVzQ0UsNkJBdEQwRTtJSDlFeEUscUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBO0VmMEkzRDtJc0Y1Q047TXBFc0NFLDRCQXREMEU7TUg5RXhFLG9CQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFdUUyRzFEO0VBckNQO0lwRThERSxZQTNGWSxFQUFBO0VvRWlDZDtJcEUwREUsWUEzRlksRUFBQTtFb0V5Q1o7SXBFa0RBLGlDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDRCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDRCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDRCQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLGtDQXREMEUsRUFBQTtFb0VJMUU7SXBFa0RBLDZCQXREMEUsRUFBQTtFbEI0RHRFO0lzRnBFTjtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUE7SW9FUjVFO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7RXRGMkRHO0lzRnpFTjtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9F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QUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUE7SW9FUjVFO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7RXRGMkRHO0lzRnpFTjtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTs7QUFrVEQ7RUt0WUksOEJBQW1DLEVBQUE7RTNGMEluQztJc0Y0UEo7TUt0WUksNkJBQW1DLEVBQUEsRUx3WXRDO0V0RnpQRztJc0Z1UEo7TUt0WUksNkJBQW1DLEVBQUEsRUx3WXRDO0V0RnpQRztJc0Z1UEo7TUt0WUksNkJBQW1DLEVBQUEsRUx3WXRDOztBdEY5UEc7RXNGZ1FGO0lLMVlFLDZCQUFtQyxFQUFBLEVMNFlwQzs7QXRGN1BDO0VzRjJQRjtJSzFZRSw2QkFBbUMsRUFBQSxFTDRZcEM7O0F0RjdQQztFc0YyUEY7SUsxWUUsNkJBQW1DLEVBQUEsRUw0WXBDOztBdER6WE07RTREbUNYLGtCQUFrQjtFQUNsQixXdEYrUXNCO0VzRjlRdEIsY25HNUQrQjtFbUc2RC9CLGVBQWUsRUFBQTtFdkcrd2pDZjtJdUZ2cWpDRSxVQUFVLEVBQUE7RWdCdEdaO0lBRUUsY25HN0VhLEVBQUE7RW1Ha0ZmO0lBeEJBLGN0RitSYztJc0Y5UmQsV3RGa1NhO0lzRmpTYixnQnRGcVNZO0lzRnBTWixjdEZ1U3dCLEVBQUE7RXNGbFJ4QjtJQXhCQSxXdEZnU1k7SXNGL1JaLFN0Rm1TWTtJc0ZsU1osY3RGc1NXO0lzRnJTWCxjdEZ1U3dCLEVBQUE7O0F1RnJLeEI7RUFsSkEsa0JBQWtCO0VBQ2xCLG1CdkZvQmtCO0V1Rm5CbEIsVUFBVTtFQUdWLG1CNUZtQjhEO0U0RmxCOUQsaUJBQWlCO0VBQ2pCLGNwR3ZEZTtFb0d5RGYseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0VBMklmLFl2RitqQmdCLEVBQUE7O0F1RjNqQmxCO0VBMUlBLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBOztBQTZJVjtFQW5JQSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLFdBUGlDO0VBUWpDLFl2RnNyQmtCO0V1RnByQmxCLG1Cckc5QnVCO0VxRytCdkIsbUJyR25EZTtFcUdvRGYsc0N2RjJyQjJDO0V1RjNyQjNDLDhCdkYyckIyQztFdUZ4ckIzQyxvQkFBb0I7RUFDcEIsY0FBYztFQUVkLGVBQWUsRUFBQTtFQUdmO0lBQ0UsU0FBUyxFQUFBO0VBSVg7SUFDRSxrQkFBa0I7SUFDbEIsWXZGeXFCMEI7SXVGeHFCMUIsYXZGd3FCMEI7SXVGdHFCMUIsY0FBYztJQUNkLGNBOUJ5RDtJQStCekQsZUFoQzBEO0lBa0MxRCx1Q0FBK0I7WUFBL0IsK0JBQStCO0lBQy9CLG1Cckd4RHFCO0lxR3lEckIsbUJwRzFHYTtJb0cyR2Isc0N2RmlxQnlDO0l1RmpxQnpDLDhCdkZpcUJ5QztJdUZocUJ6QyxXQUFXLEVBQUE7RUFJYjtJQUNFLG1Cckd4RmEsRUFBQTtJcUd1RmY7TUFJSSxhQTVDd0UsRUFBQTtFQWlENUU7SUFDRSxtQnZGb3BCZ0M7SXVGbnBCaEMsWXZGa3BCd0IsRUFBQTtFakI0b2lDMUI7SXVGcnVqQ0UsVUFBVSxFQUFBOztBaUI4Qlo7RUE3RUEsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FBZ0YzQjtFQTNFQSxRQUFtQjtFQUNuQixhQUFhLEVBQUE7RUFFYjtJQUNFLGNBQWMsRUFBQTs7QUE2RWhCO0VBdkVBLFVBQXFCLEVBQUE7RUFFckI7SUFDRSxhQUFhLEVBQUE7O0FBMEVmO0VBdkRBLGN2RndsQnlCLEVBQUE7RXVGdGxCekI7SUFDRSxXQVIrQjtJQVMvQixjdkZvbEJ1QjtJdUZubEJ2QixtQjVGekc0RCxFQUFBO0U0RjRHOUQ7SUFDRSxZdkZxbEIwQjtJdUZwbEIxQixhdkZvbEIwQjtJdUZubEIxQixjQWZrRDtJQWdCbEQsZUFmbUQsRUFBQTtFQWtCckQ7SUFDRSxhQWxCbUUsRUFBQTs7QUE2RHJFO0VBM0RBLGV2RnlsQjJCLEVBQUE7RXVGdmxCM0I7SUFDRSxhQVIrQjtJQVMvQixldkZxbEJ5QjtJdUZwbEJ6QixrQjVGekc0RCxFQUFBO0U0RjRHOUQ7SUFDRSxZdkZxbEIwQjtJdUZwbEIxQixhdkZvbEIwQjtJdUZubEIxQixjQWZrRDtJQWdCbEQsZUFmbUQsRUFBQTtFQWtCckQ7SUFDRSxhQWxCbUUsRUFBQTs7QUFpRXJFO0VBL0RBLGN2RjBsQjBCLEVBQUE7RXVGeGxCMUI7SUFDRSxXQVIrQjtJQVMvQixjdkZzbEJ3QjtJdUZybEJ4QixlNUZ6RzRELEVBQUE7RTRGNEc5RDtJQUNFLFl2RnFsQjBCO0l1RnBsQjFCLGF2Rm9sQjBCO0l1Rm5sQjFCLGNBZmtEO0lBZ0JsRCxlQWZtRCxFQUFBO0VBa0JyRDtJQUNFLGFBbEJtRSxFQUFBOztBekY3S3ZFO0UwRitLRSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLG1CeEZ6R2tCO0V3RjBHbEIsbUJ0RzlIdUIsRUFBQTtFc0dzQ3ZCOzs7SUFHRSxTeEYyckJZO0l3RjFyQlosNkJyRzlGaUIsRUFBQTtFcUdrR25CO0lBQ0UsVXhGc3JCYTtJd0ZyckJiLGlCeEZ4QnFCLEVBQUE7RXdGNEJ2QjtJQUNFLDRCQ3ZCNkM7SUR3QjdDLHdDaEcweEN3QyxFQUFBO0VnR3R4QzFDO0lBQ0UsK0JDN0I2QztJRDhCN0MsY3JHMUdhLEVBQUE7RXFHOEdmOztJQUlJLHVCQUF1QixFQUFBO0VBSjNCOzs7O0lBVUksVXhGMnBCVztJd0YxcEJYLGlCeEZuRG1CO0l3Rm9EbkIsZ0JBQVksRUFBQTtFQUtoQjs7SUFHSSxVeEZpcEJXLEVBQUE7RXdGdHNCZjtJQUNFLGdCeEZvc0JZO0l3Rm5zQlosNkJyR3JGaUIsRUFBQTtFcUcyRWY7SUFDRSx5QnRHbERXLEVBQUE7O0FRc0lYO0U4RndHSjtJQUNFLGFBQWEsRUFBQTtFQUlqQjtJQUNFLGFBQWEsRUFBQTtFQUdmOzs7SUFHRSxjQUFjLEVBQUE7RUFHaEI7SUFDRSxhQUFhLEVBQUEsRUFDZDs7QUFjRDtFQXZHQSxjQUFjO0VBQ2QsV0FBVztFQUNYLGdCQUFnQixFQUFBOztBQU9kO0VBQ0UsNkJyRzFNZSxFQUFBOztBcUdnTmpCO0VBQ0Usa0N4RmtsQm1FLEVBQUE7O0F3RjVrQnJFO0VBQ0UseUJyR3JOVyxFQUFBOztBcUdtUFg7RUFDRSx5QnJHcFBTLEVBQUE7O0FxRzRTZjtFQUNFLGdCQUFnQixFQUFBOztBckYrMkVWO0V1RmpuRlIsU2xHbytGb0I7RWtHbitGcEIsZ0JBQWdCLEVBQUE7RXBCdUdoQjtJQUVFLGNBQWM7SUFDZCxZQUFZO0lBR1YsMEJBQWE7UUFBYixhQUFhO0lBQ2IsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtFQUlaO0lBQ0UsV0FBVyxFQUFBO0VuRWlqRmY7SXVGaHFGSSxXQUFPO0lBRVAsb0IvRnNCNEQ7SStGckI1RCxjeEcxQmE7SXdHMkJiLGVBQWUsRUFBQTtJQVdYO01BQ0Usa0JBQWtCO01BQ2xCLGlCQXpEdUI7TUEwRHZCLFVBQVU7TUFDVixZeEduREM7TXdHb0RELGN2R3JEdUIsRUFBQTtFZ0Jpc0ZqQztJdUZqb0ZJLGN2R2hFNkIsRUFBQTtJdUdrRTdCO01BQ0UsMEJBQTBCLEVBQUE7RUFNOUI7SUFJSSxjeEduRVc7SXdHb0VYLG1CQUFtQixFQUFBOztBQ3ZCdkI7RUExQ0Esa0JBQWtCO0VBQ2xCLGtCM0ZpU3lCO0UyRmhTekIsYTNGbVNhO0UyRmpTYiw2QnhHbkNtQjtFd0dvQ25CLGdCM0ZxU2dCO0UyRnBSaEIsdUJBRnNFO0VBR3RFLGN4R2hEZSxFQUFBO0V3R2lDZjtJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsZ0JBQWdCLEVBQUE7RUE2QmxCO0lBcEJBLHlCQUZzRTtJQUd0RSxjeEduRGUsRUFBQTtFd0dzRWY7SUFwQkEseUJBRnNFO0lBR3RFLGN4R2hEZSxFQUFBO0V3R21FZjtJQXBCQSx5QkFGc0U7SUFHdEUsY3hHbkRlLEVBQUE7RXdHc0VmO0lBcEJBLHlCQUZzRTtJQUd0RSxjeEdoRGUsRUFBQTtFd0dtRWY7SUFwQkEseUJBRnNFO0lBR3RFLGN4R25EZSxFQUFBO0V3R3NFZjtJQWZBLG1CM0Z5UWE7STJGeFFiLHFCM0Z3UWE7STJGdlFiLHNCM0Z1UWE7STJGdFFiLG9CM0ZzUWEsRUFBQTtFMkYxUGI7SUFmQSxpQjNGMlFXO0kyRjFRWCxtQjNGMFFXO0kyRnpRWCxvQjNGeVFXO0kyRnhRWCxrQjNGd1FXLEVBQUE7O0E0RmxSWDtFQTVCQSxrQkFBa0I7RUFDbEIsV0FBVztFQUVYLGFBQWE7RUFFYixZNUZzV29CO0U0RnJXcEIsYTVGaVdxQjtFNEYvVnJCLGtCQUFrQjtFQUNsQix5QnpHakIrQjtFeUdrQi9CLG1CMUdtQnVCO0UwR2xCdkIseUJ6Ry9CZTtFeUdpQ2YsZTVGNlZ1QixFQUFBO0U0RnpWdkI7SUFDRSxjQUFjLEVBQUE7RUFHaEI7SUFDRSxjQUFjO0lBQ2QsbUJBQW1CLEVBQUE7O0FBVW5CO0VBRUksWTVGMlVLLEVBQUE7O0E0RjdVVDtFQUVJLFk1RjRVTSxFQUFBOztBNEY5VVY7RUFFSSxZNUY2VU0sRUFBQTs7QXdDTGQ7RXFEelZFLGNBQWdDO0VBQ2hDLHVCMUcxQ21CO0UwRzJDbkIscUJBQXFCLEVBQUE7RUFHbkI7SUFDRSxtQkFBbUIsRUFBQTs7QUFPdkI7RUFDRSw0QkFBZ0QsRUFBQTs7QUFHbEQ7RUFDRSw0QjNHUHFCLEVBQUE7O0EyR3FGdkI7RUFsRUEsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxxQjdGNkptQztFNkYzSm5DLHlCM0dsRGlCO0UyR21EakIsZ0JBQWdCO0VBRWhCLG9CbEdIOEQ7RWtHSTlELGNBQWM7RUFDZCx3Q3JHd3lENEMsRUFBQTtFcUd0eUQ1QztJQUNFLGdDM0cxRGU7STJHMkRmLDRCM0doQ3FCLEVBQUE7RTJHbUN2QjtJQUVFLHlCMUd0RmEsRUFBQTs7QXFEZ2tCakI7RXFEamRFLGFBQWE7RUFDYixVN0Z1SDJCO0U2RnJIM0IseUIzRzVGaUI7RTJHNkZqQixnQkFBZ0I7RUFDaEIsNkIxR3ZIbUI7RTBHeUhuQixjMUduSGUsRUFBQTtFMEdxSGY7SUFDRSxnQzNHbkdlLEVBQUE7O0E0RzhEakI7RUFwRkEsb0JBQWlDO0VBQWpDLG9CQUFpQztFQUFqQyxhQUFpQztFQUNqQyxtQjlGb0VrQjtFOEZqRWhCLHFCQUFpQjtNQUFqQixpQkFBaUIsRUFBQTtFQUduQjtJQUNFLGVBQWUsRUFBQTtFcEdxSlg7SW9HakpKO01BRUksbUJBQWU7VUFBZixlQUFlLEVBQUEsRUFFbEI7O0FBd0VIO0VBaEVFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7RUFPaEI7SUFDRSxtQjlGc0NpQixFQUFBO0U4Rm5DbkI7SUFDRSxrQjlGa0NpQixFQUFBO0U4Ri9CbkI7SUFDRSxnQkFBZ0IsRUFBQTtFcEdxSFo7SW9HbEhOO01Bd0JBLFVBQVU7TUFDVixvQjlGRW1CO004RkNqQiw2QkFBZ0I7VUFBaEIsZ0JBQWdCO01BQ2hCLGVBQWUsRUFBQTtNQTdCakI7UUFvQ0UsVzlGMllrQyxFQUFBLEU4RjFZbkM7RUE5QkM7SUFDRSxtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYSxFQUFBOztBQzdCakI7O0VBbkJBLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsbUJwR21FOEQ7RW9HbEU5RCxtQmQwQzZCO0VjekM3QixnQkFBZ0IsRUFBQTtFQUVoQjs7Ozs7Ozs7SUFJRSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZLEVBQUE7RUFLZDs7SUFRTSxzQmRrQnVCLEVBQUE7O0F6QzBRL0I7RXdEbFJFLFNoR2l3Qlk7RWdHaHdCWiw2QjdHNUNtQjtFNkc2Q25CLGdCaEdnd0JtQjtFZ0cvdkJuQixxQkFBcUIsRUFBQTtFMUJ3R3JCO0lBRUUsY0FBYztJQUNkLFlBQVk7SUFHViwwQkFBYTtRQUFiLGFBQWE7SUFDYiw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBSVo7SUFDRSxXQUFXLEVBQUE7O0EwQi9HYjtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsV0FBVyxFQUFBOztBQWdGYjtFQUVJLFVBQVUsRUFBQTtFQUZkO0lBS00sdUJBQXVCLEVBQUE7O0FBTTdCO0VBQ0UsbUI5R3RIYSxFQUFBO0U4R3FIZjtJQUlJLGM3R2xKVyxFQUFBO0k2RzhJZjtNQVFNLG1CUHZFeUMsRUFBQTs7QU80RS9DO0VBM0ZBLFdBQU8sRUFBQTtFQUVQO0lBRUUsY0FBYztJQUNkLFVoRzJ1QmdCO0lnRzF1QmhCLG9CckdFNEQ7SXFHRDVELGNBQWM7SUFDZCxjN0d6RDZCLEVBQUE7SUoydWtDN0I7TXVGdGtrQ0EsVUFBVSxFQUFBO0kwQjFHVjtNQUNFLHVCN0c5RWU7TTZHK0VmLFdBQTRDLEVBQUE7SUFHOUM7TUFFRSxnQmhHMnRCc0I7TWdHMXRCdEIsd0N4Rzh3RHVDLEVBQUE7O0F3R2pzRDNDO0VBbEVBLDZCN0doR21CO0U2R2lHbkIsYUFBYTtFQUNiLGdCaEdrdEIyQjtFZ0dqdEIzQixjN0c3RmU7RTZHOEZmLGlDQUF5QjtFQUF6Qix5QkFBeUIsRUFBQTs7QUFrRXpCO0VBM0RBLDZCN0czR21CO0U2RzRHbkIsY0FBZ0MsRUFBQTs7QUE4RGhDO0VBdkRBLGFBQWE7RUFDYixhaEdtc0J3QixFQUFBO0VnR2pzQnhCO0lBQ0UsY0FBYyxFQUFBOztBQ3lQaEI7RUExVUEsVUFBVTtFQUNWLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBR2hCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlLEVBQUE7RWxIaXZrQ2pCO0l1RnZta0NFLFVBQVUsRUFBQTtFMkJuSVo7O0lBRUUsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QsNkIvR2dPMkMsRUFBQTtFK0c1TjdDOzs7O0lBSUUsZ0JBQWdCLEVBQUE7RUFHbEI7SUFDRSxxQkFBcUIsRUFBQTtFQTJTdkI7SUEvTUksbUJBQWU7UUFBZixlQUFlO0lBQ2YsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUE4TXZCO0lBcE1JLHFCQUFpQjtRQUFqQixpQkFBaUI7SUFDakIsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCLEVBQUE7SUEyRXBCOzs7OztNQUlJLGdCQUFnQixFQUFBO0VBaEx4QjtJQUNFLG1CQUFhO1FBQWIsaUJBQWE7WUFBYixhQUFhLEVBQUE7RUEyS1g7Ozs7O0lBSUksZ0JBQWdCLEVBQUE7RUFvSDFCO0lBakxFLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFHckI7TUFDRSxpQmpHa1NxQixFQUFBO0lpRy9SdkI7TUFDRSxVQUFVLEVBQUE7RXZHdkNOO0l1R2dOTjtNQS9NSSxtQkFBZTtVQUFmLGVBQWU7TUFDZiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtJQThNdkI7TUFwTUkscUJBQWlCO1VBQWpCLGlCQUFpQjtNQUNqQiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0IsRUFBQTtJQWpHeEI7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBO0lBRGY7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBLEVBQ2Q7RXZHdUZHO0l1RzJNTjtNQS9NSSxtQkFBZTtVQUFmLGVBQWU7TUFDZiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtJQThNdkI7TUFwTUkscUJBQWlCO1VBQWpCLGlCQUFpQjtNQUNqQiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0IsRUFBQTtJQWpHeEI7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBO0lBRGY7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBLEVBQ2Q7RXZHdUZHO0l1RzJNTjtNQS9NSSxtQkFBZTtVQUFmLGVBQWU7TUFDZiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtJQThNdkI7TUFwTUkscUJBQWlCO1VBQWpCLGlCQUFpQjtNQUNqQiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0IsRUFBQTtJQWpHeEI7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBO0lBRGY7TUFDRSxtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBLEVBQ2Q7RUFrU0g7SUF6SkUsZUFBaUM7SUFDakMsaUJqR3pJNEIsRUFBQTtFaUdpSjVCO0lBQ0Usb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtFQThDZjtJQUVJLDhCQUFxQjtJQUFyQiw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQixFQUFBO0lBR3ZCOzs7OztNQUdFLHFCakdtTm1CLEVBQUE7RWlHMU12QjtJQUVJLDhCQUFxQjtJQUFyQiw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQixFQUFBO0lBR3ZCOzs7OztNQUdFLG9CakdrTW1CLEVBQUE7RWlHekx2QjtJQUVJLDRCQUF3QjtJQUF4Qiw2QkFBd0I7UUFBeEIsNEJBQXdCO1lBQXhCLHdCQUF3QixFQUFBO0lBTTFCOzs7OztNQVFJLDRCQUFtQjtVQUFuQixtQkFBbUI7TUFDbkIsc0JqR3dLaUI7TWlHdktqQixrQkFBa0IsRUFBQTtFQU14QjtJQUVJLDRCQUF3QjtJQUF4Qiw2QkFBd0I7UUFBeEIsNEJBQXdCO1lBQXhCLHdCQUF3QixFQUFBO0lBTTFCOzs7OztNQVFJLDRCQUFtQjtVQUFuQixtQkFBbUI7TUFDbkIsc0JqR2dKaUI7TWlHL0lqQixrQkFBa0IsRUFBQTtFQXFCMUI7SUFMQSx1QmpHOEh1QztJaUc3SHZDLGM5R3pXZSxFQUFBO0U4RzZXZjtJQWpSSSx1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQixFQUFBO0VBUTNCO0lBQ0Usb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixxQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0lBRXpCO01BQ0UsdUJBQTJCO1VBQTNCLG9CQUEyQjtjQUEzQiwyQkFBMkIsRUFBQTtFQUkvQjtJQUNFLGNBQWM7SUFDZCxpQjVCTm9ELEVBQUE7STRCUXBEO01BQ0UsaUI1QlRrRCxFQUFBO0U0QjRJcEQ7Ozs7O0lBUUksaUJBQWlCLEVBQUE7RUFnSDNCO0lBN0pFLGtCakdwSTRCO0lpR3FJNUIsY0FBZ0MsRUFBQTtFQTNFOUI7SUFDRSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7SUFFdkI7TUFDRSx1QkFBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQixFQUFBO0VBa09uQztJQWJBLDZCL0cxRTZDO0krRzRFN0MsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxjQUFjLEVBQUE7O0FBb0pkO0VBQ0UsYUFBYSxFQUFBOztBQzlnQmY7RTVCd0dBLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLFdBekJZO0VBMEJaLFlBekJhO0VBMEJiLGVBQWUsRUFBQTtFQUdmO0lBQ0Usa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBRVAsY0FBYztJQUNkLFdBQVc7SUFDWCxXQW5DVTtJQXFDVixtQm5GcEdhO0ltRnFHYixxRG5GckdhO1ltRnFHYiw2Q25GckdhO0ltRnVHYixXQUFXLEVBQUE7RUFXWDtJQUNFLG1CbkZ2RzJCO0ltRndHM0IscURuRnhHMkI7WW1Gd0czQiw2Q25GeEcyQixFQUFBOztBK0c3Qi9CO0U1Qm9HQSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixXQXpCWTtFQTBCWixZQXpCYTtFQTBCYixlQUFlLEVBQUE7RUFHZjtJQUNFLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUVQLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FuQ1U7SUFxQ1YsbUJuRmpHYTtJbUZrR2IscURuRmxHYTtZbUZrR2IsNkNuRmxHYTtJbUZvR2IsV0FBVyxFQUFBO0VBV1g7SUFDRSxtQm5GcEcyQjtJbUZxRzNCLHFEbkZyRzJCO1ltRnFHM0IsNkNuRnJHMkIsRUFBQTs7QWdId0MvQjtFQVdJLFdBQVcsRUFBQTs7QUFYZjtFQWtCSSw2QmpINk15QyxFQUFBOztBaUgvTjdDO0VBc0JJLDZCakh5TXlDLEVBQUE7O0FpSC9ON0M7RUY2SkUsZUFBaUM7RUFDakMsaUJqR3pJNEIsRUFBQTs7QW1HckI5QjtFRnlKRSxrQmpHcEk0QjtFaUdxSTVCLGNBQWdDLEVBQUE7O0E5RnUyRGY7RWdHNThEakIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usa0JuR3FJcUMsRUFBQTs7QW1Hakl2QztFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBbUI7RUFFbkIsV25HNEhxQztFbUczSHJDLFluRzJIcUM7RW1HekhyQyxlQUFlLEVBQUE7RUFSakI7STdCN0ZBLGNBQWM7SUFDZCxRQUFRO0lBQ1IsU0FBUztJQUVULG1CQUFtQjtJQUNuQixpQnRFMk40QjtJc0V6TjVCLFdBQVc7SUFHVCxzQkFBc0I7SUFDdEIsNkNBQXFEO0k2QnNHbkQsTUFBTTtJQUNOLFNBQVM7SUFDVCxZQUFZLEVBQUE7O0FBS2hCO0VBQ0UsNkJBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQixpQ0FBeUI7VUFBekIseUJBQXlCLEVBQUE7O0FBRzNCO0U3QjhDQSw2QkFBZ0M7RUFDaEMscUJBQXdCO0VBQ3hCLHNCQUF5QjtFQUN6QixxQkFBd0I7RUFDeEIsMkJBQThCO0VBQzlCLGlDQUFvQztFQUNwQyw4QkFBaUM7RUFDakMsb0JBQXVCLEVBQUE7O0E4QnRKdkI7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7RUFGbEI7SUFLSSxjQUFjLEVBQUE7RUFMbEI7SUFTSSwrQkFBdUI7SUFBdkIsdUJBQXVCLEVBQUE7O0FBSzNCO0VBRUksNkJsSG1OeUM7RWtIbE56QyxtQmpIcEVXLEVBQUE7O0FpSGlFZjtFQVFJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sVUFBcUI7RUFDckIsV0FBVztFQUVYLFdBQVc7RUFDWCxtQmpIL0VXO0VpSGdGWCxrRHBHOFJ1QztFb0c5UnZDLDBDcEc4UnVDO0VvRzlSdkMsa0NwRzhSdUM7RW9HOVJ2QyxrRXBHOFJ1QyxFQUFBO0VvRzdTM0M7SUFrQk0sVUFBVTtJQUNWLGNBQWM7SUFDZCxvQ0FBcUU7WUFBckUsNEJBQXFFLEVBQUE7RUFwQjNFO0lBd0JNLG1DQUFxRTtZQUFyRSwyQkFBcUUsRUFBQTtFQXhCM0U7SUE2Qk0sNkJsSHdMdUMsRUFBQTs7QWtIck43QztFSG1KRSxlQUFpQztFQUNqQyxjakc0SnVCLEVBQUE7O0FvR2hUekI7RUFzQ0ksZ0JBQWdCLEVBQUE7O0FBaEZwQjtFQUNFLGtCQUFrQixFQUFBO0VBRWxCO0k5QkhGLGNBQWM7SUFDZCxRQUFRO0lBQ1IsU0FBUztJQUVULG1CQUFtQjtJQUNuQixpQnRFMFZ3QjtJc0V4VnhCLFdBQVc7SUFXVCxxQkFBcUI7SUFDckIseURwRmpCYTtJa0hHWCxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLGdCQUFzQztJQUN0QyxXQUFzQixFQUFBOztBQUkxQjtFOUJaQSxjQUFjO0VBQ2QsUUFBUTtFQUNSLFNBQVM7RUFFVCxtQkFBbUI7RUFDbkIsaUJ0RWlYMkI7RXNFL1czQixXQUFXO0VBV1QscUJBQXFCO0VBQ3JCLHlEcEZqQmE7RWtIWWIsV0FBVztFQUNYLFVBQVUsRUFBQTs7QUFHWjtFOUJsQkEsY0FBYztFQUNkLFFBQVE7RUFDUixTQUFTO0VBRVQsbUJBQW1CO0VBQ25CLGlCdEVpWDJCO0VzRS9XM0IsV0FBVztFQWVULG9CQUFvQjtFQUNwQix5REFBaUU7RThCSGpFLFdBQVc7RUFDWCxVQUFVLEVBQUE7O0FBcUJaO0U5QjFDQSxjQUFjO0VBQ2QsUUFBUTtFQUNSLFNBQVM7RUFFVCxtQkFBbUI7RUFDbkIsaUJ0RTBWd0I7RXNFeFZ4QixXQUFXO0VBZVQsb0JBQW9CO0VBQ3BCLHlEQUFpRTtFOEJpRTdELHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIscUJBQXVDLEVBQUE7O0FDbkR6QztFQUNFLFNBQVM7RUFDVCxRQUFRO0VBQ1IsVUFBVSxFQUFBOztBQUtaO0VBQ0UsU0FBUztFQUNULFdBQVc7RUFDWCxPQUFPLEVBQUE7O0F0SGlqbENmO0V1RnQ4a0NJLFVBQVUsRUFBQTs7QStCekRaO0VBVUksNkJuSGlKeUMsRUFBQTs7QW1IM0o3QztFQWVJLHVCQWpHNEM7RUFrRzVDLGNuSGxIVyxFQUFBOztBbUhxSGI7RUFDRSxhQUFhLEVBQUE7O0FBcEJqQjtFSnlGRSxlQUFpQztFQUNqQyxjakc4TDBCLEVBQUE7O0FxR3RUeEI7RUFDRSxNQUFNLEVBQUE7O0FBSU47RUFDRSxNQUFNO0VBQ04sV0FBVztFQUNYLFVBQVUsRUFBQTs7QUFLWjtFQUNFLFdBQVc7RUFDWCxVQUFVLEVBQUE7O0EzR2lEWjtFMkcvRkY7SUFDRSxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVUsRUFBQTtFQUtaO0lBQ0UsU0FBUztJQUNULFdBQVc7SUFDWCxPQUFPLEVBQUE7RUFvQlQ7SUFDRSxNQUFNLEVBQUE7RUFJTjtJQUNFLE1BQU07SUFDTixXQUFXO0lBQ1gsVUFBVSxFQUFBO0VBS1o7SUFDRSxXQUFXO0lBQ1gsVUFBVSxFQUFBLEVBQ1g7O0EzR3FERDtFMkdwR0Y7SUFDRSxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVUsRUFBQTtFQUtaO0lBQ0UsU0FBUztJQUNULFdBQVc7SUFDWCxPQUFPLEVBQUE7RUFvQlQ7SUFDRSxNQUFNLEVBQUE7RUFJTjtJQUNFLE1BQU07SUFDTixXQUFXO0lBQ1gsVUFBVSxFQUFBO0VBS1o7SUFDRSxXQUFXO0lBQ1gsVUFBVSxFQUFBLEVBQ1g7O0EzR3FERDtFMkdwR0Y7SUFDRSxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVUsRUFBQTtFQUtaO0lBQ0UsU0FBUztJQUNULFdBQVc7SUFDWCxPQUFPLEVBQUE7RUFvQlQ7SUFDRSxNQUFNLEVBQUE7RUFJTjtJQUNFLE1BQU07SUFDTixXQUFXO0lBQ1gsVUFBVSxFQUFBO0VBS1o7SUFDRSxXQUFXO0lBQ1gsVUFBVSxFQUFBLEVBQ1g7O0FBY1A7RUErQ00sU0FBUztFQUNULFFBQVE7RUFDUixVQUFVLEVBQUE7O0FBS2hCO0VBQ0UsWUFBWSxFQUFBO0VBRGQ7SUFJSSxZQUFZLEVBQUE7O0FBSWhCO0VBQ0Usa0JBQWtCLEVBQUE7RUFEcEI7SUFJSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFVBQXFCO0lBQ3JCLFVBQXFCO0lBQ3JCLGdCQUF5QyxFQUFBO0VBUjdDO0lBYUksU0FBUztJQUtQLFVBQVUsRUFBQTtFQWxCaEI7SUF1QkksV0FBVztJQUNYLFVBQVUsRUFBQTtFQXhCZDtJQTRCSSxXQUFXO0lBQ1gsVUFBVSxFQUFBOztBQUlkO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixVQUFxQjtFQUNyQixVQUFVO0VBRVYsYUFBYTtFQUNiLGdCckc4SzBCO0VxRzVLMUIseUJsSHZONkI7RWtId043QixtQmxIcE9hLEVBQUE7RWtIc09iO0lBQ0UsNkJuSCtDeUMsRUFBQTtFbUg1RDdDO0lBd0JNLGdCckdtS2lCLEVBQUE7RXFHM0x2QjtJQTZCSSxXQUFXLEVBQUE7RUE3QmY7SUFtQ0ksY0FBYyxFQUFBOztBQ3hMbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFJbEI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxXdEdzYnlCO0VzR3BiekIsV0FBVztFQUNYLFlBQVk7RUFFWiwyRHRHc2I4QjtFc0d0YjlCLG1EdEdzYjhCO0VzR3BiOUIscUNuSHJGYTtFbUh1RmIsVUFBVTtFQUNWLGtCQUFrQjtFQUVsQixnQkFBZ0IsRUFBQTtFQWhCbEI7SUFtQkksVUFBVTtJQUNWLG1CQUFtQixFQUFBO0VBcEJ2QjtJQXdCSSxlQUFlLEVBQUE7RUF4Qm5CO0lBNEJJLGtCQUFrQixFQUFBO0VBNUJ0QjtJQWdDSSxlQUFlLEVBQUE7O0FBa1VuQjtFQTNUQSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7O0FBK1RoQjtFQW5URSxlQUFlO0VBT2pCLFd0R2dZd0I7RXNHelh4QiwrQ3RHNlhnQztFc0c3WGhDLHVDdEc2WGdDO0VzRzdYaEMsK0J0RzZYZ0M7RXNHN1hoQyw0RHRHNlhnQztFc0c1WGhDLG1DQUEyQjtVQUEzQiwyQkFBMkI7RUFFM0IsbUJuSC9JZSxFQUFBO0VKaXlsQ2Y7SXVGN21sQ0UsVUFBVSxFQUFBO0VnQzVDWjtJQUNFLFd0RzRYc0IsRUFBQTtFc0duWHhCO0lBQ0Usa0JBQWtCLEVBQUE7RUFJcEI7SUFDRSxhdEc4VzJCLEVBQUE7SXNHNVczQjtNQUNFLHFCdEdzV2M7Y3NHdFdkLGF0R3NXYyxFQUFBO0VzR2pXbEI7SUFDRSxrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUE7O0FBMlI1QjtFQTNURSxrQkFBa0I7RUFJcEIsV3RHZ1l3QjtFc0d6WHhCLCtDdEc2WGdDO0VzRzdYaEMsdUN0RzZYZ0M7RXNHN1hoQywrQnRHNlhnQztFc0c3WGhDLDREdEc2WGdDO0VzRzVYaEMsbUNBQTJCO1VBQTNCLDJCQUEyQjtFQUUzQixtQm5IL0llLEVBQUE7RUpvemxDZjtJdUZob2xDRSxVQUFVLEVBQUE7RWdDNUNaO0lBQ0UsV3RHNFhzQixFQUFBO0VzR25YeEI7SUFDRSxrQkFBa0IsRUFBQTtFQUlwQjtJQUNFLGF0RzhXMkIsRUFBQTtJc0c1VzNCO01BQ0UscUJ0R3NXYztjc0d0V2QsYXRHc1djLEVBQUE7RXNHaldsQjtJQUNFLGtDQUEwQjtZQUExQiwwQkFBMEIsRUFBQTs7QUFnUzVCO0VBclJFLE1BQU07RUFDTixPQUFPO0VBQ1AsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixpQ0FBaUM7RUFJN0IsWXRHc1VNO0VzR3JVTixxQ0FBNkI7VUFBN0IsNkJBQTZCLEVBQUE7RTVHbkI3QjtJNEcrUk47TUE3UU0sWXRHdVVNO01zR3RVTixxQ0FBNkI7Y0FBN0IsNkJBQTZCLEVBQUEsRUE0UXFDO0VBdlE5RDtJQUlGLHFDQUE2QjtZQUE3Qiw2QkFBNkIsRUFBQTtJNUc1Qi9CO000R3dCSTtRQUlGLHFDQUE2QjtnQkFBN0IsNkJBQTZCLEVBQUEsRUFNbEM7SUFWTztNQVFKLGtDQUEwQjtjQUExQiwwQkFBMEIsRUFBQTtFQUt0QjtJQUlBLG9DQUE0QjtZQUE1Qiw0QkFBNEIsRUFBQTtJNUd6Q2hDO000R3FDSTtRQUlBLG9DQUE0QjtnQkFBNUIsNEJBQTRCLEVBQUEsRUFHakM7RUF1SEg7SWhDOVRBLHFEbkZKYTtZbUZJYiw2Q25GSmEsRUFBQTs7QW1IK2JmO0VBaFBFLE1BQU07RUFDTixRQUFRO0VBQ1IsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixpQ0FBaUM7RUFJN0IsWXRHZ1NNO0VzRy9STixvQ0FBNEI7VUFBNUIsNEJBQTRCLEVBQUE7RTVHekQ1QjtJNEdnU047TUF4T00sWXRHaVNNO01zR2hTTixvQ0FBNEI7Y0FBNUIsNEJBQTRCLEVBQUEsRUF1T3NDO0VBbE85RDtJQUlGLG9DQUE0QjtZQUE1Qiw0QkFBNEIsRUFBQTtJNUdsRTlCO000RzhESTtRQUlGLG9DQUE0QjtnQkFBNUIsNEJBQTRCLEVBQUEsRUFNakM7SUFWTztNQVFKLGtDQUEwQjtjQUExQiwwQkFBMEIsRUFBQTtFQUt0QjtJQUlBLHFDQUE2QjtZQUE3Qiw2QkFBNkIsRUFBQTtJNUcvRWpDO000RzJFSTtRQUlBLHFDQUE2QjtnQkFBN0IsNkJBQTZCLEVBQUEsRUFHbEM7RUFpRkg7SWhDaFVBLHFEbkZGYTtZbUZFYiw2Q25GRmEsRUFBQTs7QW1IZ2NmO0VBM01FLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQ0FBaUM7RUFJN0IsYXRHOFBNO0VzRzdQTixxQ0FBNkI7VUFBN0IsNkJBQTZCLEVBQUE7RUFLekI7SUFHRixxQ0FBNkI7WUFBN0IsNkJBQTZCLEVBQUE7SUFIM0I7TUFPSixrQ0FBMEI7Y0FBMUIsMEJBQTBCLEVBQUE7RUFLdEI7SUFJQSxvQ0FBNEI7WUFBNUIsNEJBQTRCLEVBQUE7RUErQ3BDO0loQzVUQSxxRG5GTmE7WW1GTWIsNkNuRk5hLEVBQUE7O0FtSGljZjtFQXZLRSxTQUFTO0VBQ1QsT0FBTztFQUNQLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUNBQWlDO0VBSTdCLGF0R3lOTTtFc0d4Tk4sb0NBQTRCO1VBQTVCLDRCQUE0QixFQUFBO0VBS3hCO0lBR0Ysb0NBQTRCO1lBQTVCLDRCQUE0QixFQUFBO0lBSDFCO01BT0osa0NBQTBCO2NBQTFCLDBCQUEwQixFQUFBO0VBS3RCO0lBSUEscUNBQTZCO1lBQTdCLDZCQUE2QixFQUFBO0VBVXJDO0loQ2xVQSxxRG5GQWE7WW1GQWIsNkNuRkFhLEVBQUE7O0FtSG1jZjtFQTdHQSx1QkFBZTtVQUFmLGVBQWU7RUFDZixtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7RUFHM0I7SUFFRSwrQ3RHMEs4QjtJc0cxSzlCLHVDdEcwSzhCO0lzRzFLOUIsK0J0RzBLOEI7SXNHMUs5Qiw0RHRHMEs4QixFQUFBO0VzR3RLaEM7SUFDRSxrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUE7RUFJNUI7SUFDRSxrQ0FBMEI7WUFBMUIsMEJBQTBCLEVBQUE7O0E1RzVNdEI7RTRHaVRBO0lBMUZOLHVCQUFlO1lBQWYsZUFBZTtJQUNmLFd0R2tKMEI7SXNHakoxQix3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFBO0lBTW5CO01BQ0UsYUFBYSxFQUFBO0lBSWY7TUFDRSx1QkFBZTtjQUFmLGVBQWUsRUFBQTtJQUdUO01BQ04sa0J0R21IVSxFQUFBO0lzRy9HWjtNQUNFLGtCdEc4R1UsRUFBQTtFc0d4Q047SUE5Rk4sdUJBQWU7WUFBZixlQUFlO0lBQ2YsV3RHa0owQjtJc0dqSjFCLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7SUFNbkI7TUFDRSxhQUFhLEVBQUE7SUFJZjtNQUNFLHVCQUFlO2NBQWYsZUFBZSxFQUFBO0lBR1Q7TUFDTixtQnRHbUhVLEVBQUE7SXNHL0daO01BQ0UsbUJ0RzhHVSxFQUFBO0VzR3BDTjtJQWxHTix1QkFBZTtZQUFmLGVBQWU7SUFDZixXdEdrSjBCO0lzR2pKMUIsd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQTtJQU1uQjtNQUNFLGFBQWEsRUFBQTtJQUlmO01BQ0UsdUJBQWU7Y0FBZixlQUFlLEVBQUE7SUFHVDtNQUNOLGlCdEdtSFUsRUFBQTtJc0cvR1o7TUFDRSxpQnRHOEdVLEVBQUE7RXNHaENOO0lBdEdOLHVCQUFlO1lBQWYsZUFBZTtJQUNmLFd0R2tKMEI7SXNHakoxQix3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFBO0lBTW5CO01BQ0UsYUFBYSxFQUFBO0lBSWY7TUFDRSx1QkFBZTtjQUFmLGVBQWUsRUFBQTtJQUdUO01BQ04sb0J0R21IVSxFQUFBO0lzRy9HWjtNQUNFLG9CdEc4R1UsRUFBQSxFc0c3R1g7O0E1RzNPSztFNEc0U0E7SUExRk4sdUJBQWU7WUFBZixlQUFlO0lBQ2YsV3RHa0owQjtJc0dqSjFCLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7SUFNbkI7TUFDRSxhQUFhLEVBQUE7SUFJZjtNQUNFLHVCQUFlO2NBQWYsZUFBZSxFQUFBO0lBR1Q7TUFDTixrQnRHb0hVLEVBQUE7SXNHaEhaO01BQ0Usa0J0RytHVSxFQUFBO0VzR3pDTjtJQTlGTix1QkFBZTtZQUFmLGVBQWU7SUFDZixXdEdrSjBCO0lzR2pKMUIsd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQTtJQU1uQjtNQUNFLGFBQWEsRUFBQTtJQUlmO01BQ0UsdUJBQWU7Y0FBZixlQUFlLEVBQUE7SUFHVDtNQUNOLG1CdEdvSFUsRUFBQTtJc0doSFo7TUFDRSxtQnRHK0dVLEVBQUE7RXNHckNOO0lBbEdOLHVCQUFlO1lBQWYsZUFBZTtJQUNmLFd0R2tKMEI7SXNHakoxQix3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFBO0lBTW5CO01BQ0UsYUFBYSxFQUFBO0lBSWY7TUFDRSx1QkFBZTtjQUFmLGVBQWUsRUFBQTtJQUdUO01BQ04saUJ0R29IVSxFQUFBO0lzR2hIWjtNQUNFLGlCdEcrR1UsRUFBQTtFc0dqQ047SUF0R04sdUJBQWU7WUFBZixlQUFlO0lBQ2YsV3RHa0owQjtJc0dqSjFCLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7SUFNbkI7TUFDRSxhQUFhLEVBQUE7SUFJZjtNQUNFLHVCQUFlO2NBQWYsZUFBZSxFQUFBO0lBR1Q7TUFDTixvQnRHb0hVLEVBQUE7SXNHaEhaO01BQ0Usb0J0RytHVSxFQUFBLEVzRzlHWDs7QTVHM09LO0U0RzRTQTtJQTFGTix1QkFBZTtZQUFmLGVBQWU7SUFDZixXdEdrSjBCO0lzR2pKMUIsd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQTtJQU1uQjtNQUNFLGFBQWEsRUFBQTtJQUlmO01BQ0UsdUJBQWU7Y0FBZixlQUFlLEVBQUE7SUFHVDtNQUNOLGtCdEdvSFUsRUFBQTtJc0doSFo7TUFDRSxrQnRHK0dVLEVBQUE7RXNHekNOO0lBOUZOLHVCQUFlO1lBQWYsZUFBZTtJQUNmLFd0R2tKMEI7SXNHakoxQix3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFBO0lBTW5CO01BQ0UsYUFBYSxFQUFBO0lBSWY7TUFDRSx1QkFBZTtjQUFmLGVBQWUsRUFBQTtJQUdUO01BQ04sbUJ0R29IVSxFQUFBO0lzR2hIWjtNQUNFLG1CdEcrR1UsRUFBQTtFc0dyQ047SUFsR04sdUJBQWU7WUFBZixlQUFlO0lBQ2YsV3RHa0owQjtJc0dqSjFCLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7SUFNbkI7TUFDRSxhQUFhLEVBQUE7SUFJZjtNQUNFLHVCQUFlO2NBQWYsZUFBZSxFQUFBO0lBR1Q7TUFDTixpQnRHb0hVLEVBQUE7SXNHaEhaO01BQ0UsaUJ0RytHVSxFQUFBO0VzR2pDTjtJQXRHTix1QkFBZTtZQUFmLGVBQWU7SUFDZixXdEdrSjBCO0lzR2pKMUIsd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQTtJQU1uQjtNQUNFLGFBQWEsRUFBQTtJQUlmO01BQ0UsdUJBQWU7Y0FBZixlQUFlLEVBQUE7SUFHVDtNQUNOLG9CdEdvSFUsRUFBQTtJc0doSFo7TUFDRSxvQnRHK0dVLEVBQUEsRXNHOUdYOztBNUdoUEs7RTRHd1VBO0lBbkZOLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLHdCQUFnQjtJQUFoQixnQkFBZ0IsRUFBQTtJQUdoQjtNQUlFLHdCQUFnQjtjQUFoQixnQkFBZ0I7TUFDaEIsdUJBQWU7Y0FBZixlQUFlLEVBQUE7SUFHakI7TUFDRSxhQUFhLEVBQUEsRUFDZDs7QTVHblFLO0U0R21VQTtJQW5GTixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQix3QkFBZ0I7SUFBaEIsZ0JBQWdCLEVBQUE7SUFHaEI7TUFJRSx3QkFBZ0I7Y0FBaEIsZ0JBQWdCO01BQ2hCLHVCQUFlO2NBQWYsZUFBZSxFQUFBO0lBR2pCO01BQ0UsYUFBYSxFQUFBLEVBQ2Q7O0E1R25RSztFNEdtVUE7SUFuRk4sbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsd0JBQWdCO0lBQWhCLGdCQUFnQixFQUFBO0lBR2hCO01BSUUsd0JBQWdCO2NBQWhCLGdCQUFnQjtNQUNoQix1QkFBZTtjQUFmLGVBQWUsRUFBQTtJQUdqQjtNQUNFLGFBQWEsRUFBQSxFQUNkOztBQ3RaRDtFQUNFLGV2R3F6QnFCO0V1R3B6QnJCLG1CcEhkYTtFb0hlYixjcEhsQmE7RW9IcUJYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsdUJBQTJCO01BQTNCLG9CQUEyQjtVQUEzQiwyQkFBMkI7RUFDM0IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQVJ2QjtJQWVJLG9CdkcyeUJ5QjtJdUcxeUJ6QixxQnZHMHlCeUIsRUFBQTs7QXVHcnlCM0I7O0VBRUUsbUJBQWE7TUFBYixpQkFBYTtVQUFiLGFBQWEsRUFBQTs7QUFHZjtFQUNFLGlCQUFpQixFQUFBOztBQWNyQjtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsaUJ2RzJ3QjRCLEVBQUE7O0F3R2x4QjVCO0VDbkJGLHVCQXJEeUQ7TUFxRHpELG9CQXJEeUQ7VUFxRHpELDJCQXJEeUQsRUFBQTs7QUR3RXZEO0VDbkJGLHFCQXBEMEQ7TUFvRDFELGtCQXBEMEQ7VUFvRDFELHlCQXBEMEQsRUFBQTs7QTFHd3VCckQ7RTBHcHJCTCx3QkFuRGtCO01BbURsQixxQkFuRGtCO1VBbURsQix1QkFuRGtCLEVBQUE7O0FEc0VoQjtFQ25CRix5QkFsRDBCO01Ba0QxQixzQkFsRDBCO1VBa0QxQiw4QkFsRDBCLEVBQUE7O0FEcUV4QjtFQ25CRix5QkFqRHdCO01BaUR4Qiw2QkFqRHdCLEVBQUE7O0FEMkV0QjtFQzFCRix1QkFyRHlEO01BcUR6RCxvQkFyRHlEO1VBcUR6RCwyQkFyRHlELEVBQUE7O0FEK0V2RDtFQzFCRixxQkFwRDBEO01Bb0QxRCxrQkFwRDBEO1VBb0QxRCx5QkFwRDBELEVBQUE7O0FEOEV4RDtFQzFCRix3QkFuRGtCO01BbURsQixxQkFuRGtCO1VBbURsQix1QkFuRGtCLEVBQUE7O0FEd0ZoQjtFQ3BDRix3QkExQ2lCO01BMENqQixxQkExQ2lCO1VBMENqQix1QkExQ2lCLEVBQUE7O0FEa0ZmO0VDeEJGLDBCQTFEaUI7TUEwRGpCLHNCQTFEaUIsRUFBQTs7QUQ4RWY7RUNwQ0Ysc0JBekNrQjtNQXlDbEIsbUJBekNrQjtVQXlDbEIscUJBekNrQixFQUFBOztBRGlGaEI7RUN4QkYsd0JBekRrQjtNQXlEbEIsb0JBekRrQixFQUFBOztBRDZFaEI7RUNwQ0YseUJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQixFQUFBOztBRGdGZDtFQ3hCRiwyQkF4RGdCO01Bd0RoQixrQkF4RGdCLEVBQUE7O0FENEVkO0VDcENGLDBCQXZDa0I7TUF1Q2xCLHVCQXZDa0I7VUF1Q2xCLG9CQXZDa0IsRUFBQTs7QUQrRWhCO0VDeEJGLDRCQXZEa0I7TUF1RGxCLG1CQXZEa0IsRUFBQTs7QURxRmxCO0VDL0NBLHdCQW5Ea0I7TUFtRGxCLHFCQW5Ea0I7VUFtRGxCLHVCQW5Ea0I7RUFvRGxCLHlCQXhDZ0I7TUF3Q2hCLHNCQXhDZ0I7VUF3Q2hCLG1CQXhDZ0I7RUR3RmQsMEJBQXFCO01BQXJCLHFCQUFxQixFQUFBOztBQU1uQjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QTlHc0VWO0U4R3JFRjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QTlHd0VDO0U4RzFFRjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QTlHd0VDO0U4RzFFRjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QUEvRkw7RUNZQSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBOztBRFJiO0VBQ0UsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FBSWQ7RUNzREYsOEJBbkVVO0VBbUVWLDZCQW5FVTtNQW1FVix1QkFuRVU7VUFtRVYsbUJBbkVVLEVBQUE7O0FEYVI7RUNzREYsOEJBbEUwQjtFQWtFMUIsOEJB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O1FBbVBnQix5QnpIMVhDO1F5SDRYRyw0RDFIeFZpQztnQjBId1ZqQyxvRDFIeFZpQztRMEgwVnJDLDJDekg5SE07UXlIOEhOLG1Dekg5SE07UXlIOEhOLDJCekg5SE07UXlIOEhOLG9Eekg5SE0sRUFBQTtNeUh6SHRCO1FBZ1FnQiwwQkFBc0I7WUFBdEIsc0JBQXNCO1FBQ3RCLHFCQUFxQixFQUFBO1FsSHRPN0I7VWtIM0JSO1lBbVFvQixZcEg5WUk7WW9IaVpKLFlwSHNvR0wsRUFBQSxFb0hub0dGO01BelFiO1FBMlFnQix5QkFBcUI7UUFXckIseUIxSHZZRztRMEh5WUMsbUIxSDlXSztRMEhnWFQseUJ6SGphQztReUhrYUQsNEJ6SGpLTTtReUhpS04sb0J6SGpLTSxFQUFBO1FPcEdkO1VrSHRCUjtZQTZSb0IsNEJwSDRvR1E7Z0JvSDVvR1IsaUJwSDRvR1E7b0JvSDVvR1IsUXBING9HUSxFQUFBLEVvSDFuR2Y7UWxIcFJMO1VrSDNCUjtZQWlTb0Isb0JBQWE7WUFBYixvQkFBYTtZQUFiLGFBQWE7WUFDYixnQkFBZ0IsRUFBQSxFQWF2QjtRQS9TYjtVQXlTb0IsWUFBWTtVQUVSLG1CMUhqWUMsRUFBQTtNVTRsQnJCO1FnSHBOWSxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIsU3BIcWxHNkI7UW9IcGxHN0IsU3BIc2xHSixFQUFBO1FFcjNHSjtVRWdmSjtZZ0gvTWdCLDRCcEhtbkdjO2dCb0hubkdkLGlCcEhtbkdjO29Cb0hubkdkLFFwSG1uR2MsRUFBQSxFb0g5bEdyQjtRbEhqVEw7VUUyZUo7WWdIMU1nQixtQkFBTztnQkFBUCxXQUFPO29CQUFQLE9BQU87WUFDUCxjcEgra0dILEVBQUEsRW9IaGtHSjtRQTVVYjtVQWdVb0IsZ0JBQWdCO1VBQ2hCLGVqSGhZNEMsRUFBQTtRQzJsRDVEO1VBQ0ksY1Yzb0RTO1VVNG9EVCxlRDdsRHdEO1VDOGxEeEQsZ0JKdWlCc0M7VUl0aUJ0QyxnQkpscERpQixFQUFBO1VJbXBEakI7WUFDSSxjVjVvREs7WVU2b0RMLDBCQUEwQixFQUFBO1VBRTlCO1lBQ0ksZ0JWbHBEUyxFQUFBO1EwSDRHckI7VUFxVW9CLG1CakhwWTRDO1VpSHFZNUMsZ0JwSHlrRzZCO1VvSHhrRzdCLGN6SDNjSCxFQUFBO1V5SG9JakI7WUF5VXdCLFNBQVMsRUFBQTtNaEhnTTdCO1FnSHhMWSxlakhoWmdELEVBQUE7UURxRnhEO1VFbWZKO1lnSHRMZ0IsNEJwSHdsR087Z0JvSHhsR1AsaUJwSHdsR087b0JvSHhsR1AsUXBId2xHTyxFQUFBLEVvSC9rR2Q7UWxIalVMO1VFOGVKO1lnSG5MZ0IsVXBIMGtHTjtZb0h6a0dNLG1CQUFZO2dCQUFaLG9CQUFZO29CQUFaLFlBQVk7WUFDWixTQUFTO1lBQ1QsZXBIMGtHSDtZb0h6a0dHLGdCQUFnQixFQUFBLEVBRXZCO01oSGdMVDtRZ0g5S1ksZ0JBQWdCO1FBR2hCLGVqSGhhZ0Q7UWlIaWFoRCxnQkFBZ0I7UUFDaEIsYzFIamRDLEVBQUE7UVFvSVQ7VUVzZko7WWdIdktnQiw0QnBIdWtHUTtnQm9IdmtHUixpQnBIdWtHUTtvQm9IdmtHUixRcEh1a0dRLEVBQUEsRW9IMWpHZjtRbEh2Vkw7VUVpZko7WWdIcEtnQixlQUFlO1lBQ2YsVXBIb2pHTjtZb0huakdNLGVwSGdqR0gsRUFBQSxFb0h4aUdKO01BbFhiO1FBb1hnQixXQUFXLEVBQUE7UWxIOVZuQjtVa0h0QlI7WUF3WG9CLDRCcEhzakdnQjtnQm9IdGpHaEIsaUJwSHNqR2dCO29Cb0h0akdoQixRcEhzakdnQixFQUFBLEVvSDlpR3ZCO1FsSHJXTDtVa0gzQlI7WUEyWG9CLGNwSHVrR08sRUFBQSxFb0hsa0dkO01sSHJXTDtRRXFmSjtVZ0g3SWdCLHdCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QixFQUFBLEVBRTlCO01BclliO1FBdVlnQixpQkFBaUIsRUFBQTtNQXZZakM7UUEwWWdCLFdBQVcsRUFBQTtRbEgvV25CO1VrSDNCUjtZQTRZb0IsY3BIc2pHTyxFQUFBLEVvSC9pR2Q7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LDJCMUgyRmtCLEVBQUE7RTBIL0Z0QjtJQU1RLGlCQUFpQjtJQUNqQixtQzFIdUZjO0kwSHZGZCwyQjFIdUZjLEVBQUE7O0F5RS9RdEI7RWhFNjBHUSxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx3Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtF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eTNFViw2QlR6M0VVLEVBQUE7RTJIdUd0QjtJbEhxeEVZLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLHVCQUF1QjtJQUN2QixtQkFBbUIsRUFBQTtFa0h4eEUvQjtJbEgyeEVZLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sWUFBWTtJQUNaLGNBQWM7SUFDZCx5QlR2bkZxQjtJU3duRnJCLHFFVHQ0RVU7SVNzNEVWLDZEVHQ0RVUsRUFBQTtJMkhzR3RCO01sSGt5RWdCLFlKaHZFSTtNSWl2RUosbUNUcitFMkI7TVNzK0UzQixlQUFlO01BQ2YsY1Q1b0ZDO01TNm9GRCw4Q1Q1NEVNO01TNDRFTixzQ1Q1NEVNLEVBQUE7STJIc0d0QjtNbEh5eUVnQix5QlZ2bkZDO01Vd25GRCx5Q1RqNUVNO01TaTVFTixpQ1RqNUVNLEVBQUE7STJIdUd0QjtNbEg2eUVnQix5QlYzbkZDLEVBQUE7TTRIOFVqQjtRbEgreUVvQixpQ1RsL0VtQixFQUFBO0kySG1NdkM7TWxIbXpFZ0IsYUFBYTtNQUNiLFdBQVc7TUFDWCw4Q1Q1NUVNO01TNDVFTixzQ1Q1NUVNLEVBQUE7TTJIdUd0QjtRbEh1ekVvQixlQUFlO1FBQ2Ysa0NULzVFRTtRUys1RUYsMEJULzVFRSxFQUFBIiwiZmlsZSI6IndpbnRlcnN0b2tlL2FwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcclxuXHJcblRoaXMgaXMgdGhlIGJhc2Ugb2YgdGhlIGFwcC5jc3MgZmlsZSwgdG8gbW9kaWZ5IHRoZSBjb25maWd1cmF0aW9uIG90IGEgc2l0ZSBsZXZlbCBnbyB0byAvYnJhbmRpbmcuc2NzcyBpZiB5b3UgbmVlZCBtb2RpZnkgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9mIGFsbCBzaXRlcyBnbyB0byAvZ2xvYmFsL3ZhcmlhYmxlcy5zY3NzLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIE5vIEJFU1BPS0UgQ1NTIFJVTEUnUyBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgb3IgaW4gYnJhbmRpbmcuc2NzcywgaWYgeW91IG5lZWQgdG8gbW9kaWZ5IHRoZSBjc3MgZG8gaXQgaW4gZWl0aGVyIC9nbG9iYWwgb3IgaW4gL2NvbXBvbmFudHMgb3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgdGVhcnMsIElGIHlvdSByZWFsbHkgaGF2ZSB0byB0byBpdCBpbiB0aGUgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5zY3NzIHVuZGVyIGFsbCBvZiB0aGUgU0FTUyBvdmVycmlkZXMuXHJcblxyXG4qKi9cbi8qXHJcblxyXG52YWx1ZXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb3IgbWFwLlxyXG5cclxuQnJlYWtwb2ludCB2YWx1ZXM6XHJcblNtYWxsID0gMVxyXG5NZWRpdW0gPSAyXHJcbkxhcmdlID0gM1xyXG54TGFyZ2UgPSA0XHJcbnh4TGFyZ2UgPSA1XHJcblxyXG4qL1xuLyoqXHJcblxyXG5TaXRlIHNwZWNpZmljIGJyYW5kaW5nICggY29sb3VycyAmIGZvbnRzICkgYW55IHNhc3Mgb3ZlcnJpZGVzIGdldCBkZWZpbmVkIGhlcmUgYXMgd2VsbC5cclxuXHJcblsgSU1QT1JUQU5UIF0gLSBZb3UgbWF5YmUgY29tcGVsbGVkIHRvIHdyaXRlIGJlc3Bva2UgY3NzIHJ1bGVzIGF0IHRoZSBib3R0b20gb2YgdGhlIGZpbGUganVzdCB0byBtYWtlIGEgXCIgcXVpY2sgXCIgc2l0ZSBzcGVjaWZpYyBjaGFuZ2UgYnV0IHRoaXMgV0lMTCBjb25mbGljdCB3aXRoIHRoZSBjc3MgYmVpbmcgZGVmaW5lZCBpbiAvZ2xvYmFsIGFuZCAvY29tcG9uZW50IGVpdGhlciBmcm9tIGEgY29uZmlndXJhdGlvbiBzdGFuY2Ugb3IgcmVzcG9uc2l2ZSBwb2ludCBvZiB2aWV3LCBzbyBwbGVhc2UgY29uc3VsdC9tb2RpZnkgdGhvc2UgMiBkaXJlY3RvcmllcyBhcyBuZWVkZWQsIHRoaXMgZmlsZSB3YXMgb25seSB0byBkZXNpZ25lZCBmb3IgU0FTUyB2YXJpYWJsZXMuXHJcblxyXG4qKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1HZW9sb2dpY2E6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXBcIik7XG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYWIsXG4uZmEtYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjsgfVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjsgfVxuXG4uZmEtc2hvcHdhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOFwiOyB9XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjsgfVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7IH1cblxuLmZhLWNsb3VkZmxhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjsgfVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7IH1cblxuLmZhLXBpeGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjQwXCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uZmEtZHlhbG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk5XCI7IH1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uZmEtc3RhY2twYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQyXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiOyB9XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdlXCI7IH1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5cbi5mYS1zcXVhcmUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtanMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5mYS1vcmNpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkMlwiOyB9XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7IH1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7IH1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjsgfVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7IH1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjsgfVxuXG4uZmEtdW50YXBwZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiOyB9XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjsgfVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uZmEtc3F1YXJlLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmZhLXZpbWVvLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmZhLXNxdWFyZS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWRcIjsgfVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5mYS1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzY1wiOyB9XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmZhLXNxdWFyZS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1iYXR0bGUtbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7IH1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiOyB9XG5cbi5mYS1zcXVhcmUtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjsgfVxuXG4uZmEtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOFwiOyB9XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7IH1cblxuLmZhLXNxdWFyZS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7IH1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7IH1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjsgfVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjsgfVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7IH1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjsgfVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWZcIjsgfVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5cbi5mYS1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YlwiOyB9XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmZhLW5pbWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhOFwiOyB9XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7IH1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7IH1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjsgfVxuXG4uZmEtYWR2ZXJzYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiOyB9XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MFwiOyB9XG5cbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjsgfVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiOyB9XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7IH1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiOyB9XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7IH1cblxuLmZhLXNxdWFyZS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiOyB9XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjsgfVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7IH1cblxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7IH1cblxuLmZhLW9wZW5zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJiXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmZhLXNxdWFyZS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjsgfVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiOyB9XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG5cbi5mYS1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZVwiOyB9XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5mYS1zcXVhcmUtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjsgfVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjsgfVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjsgfVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjsgfVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjsgfVxuXG4uZmEtZ29sYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDBmXCI7IH1cblxuLmZhLWtpY2tzdGFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JiXCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjsgfVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uZmEtdW5jaGFydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uZmEtc3F1YXJlLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjsgfVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS1yZW5kYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiOyB9XG5cbi5mYS1uZmMtZGlyZWN0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzBcIjsgfVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjsgfVxuXG4uZmEtam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjsgfVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7IH1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmZhLW1ldGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OWJcIjsgfVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiOyB9XG5cbi5mYS1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjsgfVxuXG4uZmEtc3F1YXJlLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmVcIjsgfVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiOyB9XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7IH1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjsgfVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzBcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhkXCI7IH1cblxuLmZhLXNob2VsYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBjXCI7IH1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjYVwiOyB9XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjsgfVxuXG4uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcwXCI7IH1cblxuLmZhLXVuc3BsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdjXCI7IH1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjsgfVxuXG4uZmEtc3F1YXJlLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5mYS01MDBweDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5cbi5mYS1zcXVhcmUtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiOyB9XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTZcIjsgfVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNVwiOyB9XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTVcIjsgfVxuXG4uZmEtcGFkbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNGEwXCI7IH1cblxuLmZhLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7IH1cblxuLmZhLWZlZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7IH1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMlwiOyB9XG5cbi5mYS1zcXVhcmUtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOVwiOyB9XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7IH1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiOyB9XG5cbi5mYS1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiOyB9XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIwXCI7IH1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjNcIjsgfVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG5cbi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5cbi5mYS1nb29nbGUtc2Nob2xhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzYlwiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFlXCI7IH1cblxuLmZhLWdpdGxhYi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWVcIjsgfVxuXG4uZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7IH1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYThcIjsgfVxuXG4uZmEtc3F1YXJlLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjsgfVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiOyB9XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjsgfVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjsgfVxuXG4uZmEtaGFzaG5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OTlcIjsgfVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjsgfVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7IH1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7IH1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uZmEta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cblxuLmZhLW9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2FcIjsgfVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiOyB9XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGRcIjsgfVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7IH1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjsgfVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7IH1cblxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cblxuLmZhLWRobDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiOyB9XG5cbi5mYS1zcXVhcmUtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5cbi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdiXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjsgfVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7IH1cblxuLmZhLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjsgfVxuXG4uZmEtYmxvZ2dlci1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdkXCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cblxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjsgfVxuXG4uZmEtc2lnbmFsLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY2M1wiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjsgfVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG5cbi5mYS1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmZhLW5mYy1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzFcIjsgfVxuXG4uZmEtbWludGJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZlwiOyB9XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZVwiOyB9XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOVwiOyB9XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7IH1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjsgfVxuXG4uZmEtZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmMVwiOyB9XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjsgfVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cblxuLmZhLWJyYXZlLXJldmVyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2RcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS1zcXVhcmUtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7IH1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYVwiOyB9XG5cbi5mYS1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiOyB9XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiOyB9XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cblxuLmZhLW1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiOyB9XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uZmEtc3F1YXJlLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjsgfVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODVcIjsgfVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiOyB9XG5cbi5mYS1tZWdhcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiOyB9XG5cbi5mYS1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjsgfVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjsgfVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7IH1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiOyB9XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7IH1cblxuLmZhLWJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjsgfVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cblxuLmZhLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmRcIjsgfVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiOyB9XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiOyB9XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjsgfVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiOyB9XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiOyB9XG5cbi5mYS1iaWxpYmlsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTNkOVwiOyB9XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjsgfVxuXG4uZmEteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFiXCI7IH1cblxuLmZhLWNvdHRvbi1idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjsgfVxuXG4uZmEtNDItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtaW5ub3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjsgfVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmZhLXNxdWFyZS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjsgfVxuXG4uZmEtcGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cblxuLmZhLXRpa3RvazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YlwiOyB9XG5cbi5mYS1zcXVhcmUtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiOyB9XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cblxuLmZhLWRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjsgfVxuXG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiOyB9XG5cbi5mYS1taXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiOyB9XG5cbi5mYS1zcXVhcmUtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjsgfVxuXG4uZmEtbWVuZGVsZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjNcIjsgfVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjsgfVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiOyB9XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cblxuLmZhLWNtcGxpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTM2MFwiOyB9XG5cbi5mYS11cHdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NDFcIjsgfVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWNcIjsgfVxuXG4uZmEtamVkaS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZVwiOyB9XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cblxuLmZhLXVzc3VubmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA3XCI7IH1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjsgfVxuXG4uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiOyB9XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjsgfVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjsgfVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiOyB9XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5cbi5mYS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjsgfVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiOyB9XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjsgfVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7IH1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjsgfVxuXG4uZmEtamlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMVwiOyB9XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjsgfVxuXG4uZmEtc2NyZWVucGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTcwXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjsgfVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjsgfVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7IH1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjsgfVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7IH1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjsgfVxuXG4uZmEtc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiOyB9XG5cbi5mYS13aXJzaW5kaGFuZHdlcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyZDBcIjsgfVxuXG4uZmEtd3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMmQwXCI7IH1cblxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuXG4uZmEtc2FsZXNmb3JjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYlwiOyB9XG5cbi5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7IH1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiOyB9XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiOyB9XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjsgfVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiOyB9XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjsgfVxuXG4uZmEtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjsgfVxuXG4uZmEtcnVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YVwiOyB9XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjsgfVxuXG4uZmEtc3F1YXJlLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cblxuLmZhLXdlYmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NWNcIjsgfVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjsgfVxuXG4uZmEtY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiOyB9XG5cbi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cblxuLmZhLWthZ2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmYVwiOyB9XG5cbi5mYS1zcGFjZS1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFjXCI7IH1cblxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjsgfVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmZhLXNxdWFyZS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjsgfVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1zcXVhcmUtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7IH1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiOyB9XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cblxuLmZhLWJsYWNrLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiOyB9XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7IH1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmZhLWJvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzNDBcIjsgfVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjsgfVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjsgfVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjsgfVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiOyB9XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjsgfVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiOyB9XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjsgfVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7IH1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjsgfVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmZhLXJlcGx5ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNlwiOyB9XG5cbi5mYS1zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q2XCI7IH1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjsgfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7IH1cblxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiOyB9XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjsgfVxuXG4uZmEtbnBtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7IH1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MFwiOyB9XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjsgfVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7IH1cblxuLmZhLXN0dWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YzdcIjsgfVxuXG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7IH1cblxuLmZhLW9keXNlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVjNlwiOyB9XG5cbi5mYS1zcXVhcmUtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7IH1cblxuLmZhLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjsgfVxuXG4uZmEtZWRnZS1sZWdhY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjsgfVxuXG4uZmEtc2xhY2staGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1tZWRydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOFwiOyB9XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiOyB9XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiOyB9XG5cbi5mYS1zcXVhcmUteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFhXCI7IH1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVkXCI7IH1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjsgfVxuXG4uZmEtZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjOVwiOyB9XG5cbi5mYS1zaXRyb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0NGFcIjsgfVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG5cbi5mYS1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNlwiOyB9XG5cbi5mYS1haXJibmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzRcIjsgfVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiOyB9XG5cbi5mYS1idXktbi1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhhNlwiOyB9XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMVwiOyB9XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjsgfVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiOyB9XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjsgfVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjsgfVxuXG4uZmEtd29kdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiOyB9XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH1cblxuLmZhLWludGVyY29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FmXCI7IH1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7IH1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiOyB9XG5cbi5mYS1waXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0M2FcIjsgfVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhcixcbi5mYS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFzLFxuLmZhLXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgQnJhbmRzJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby5lb3RcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLXdpbnRlcnN0b2tlXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLXdpbnRlcnN0b2tlL2ZvbnRlbGxvLXdpbnRlcnN0b2tlLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLXdpbnRlcnN0b2tlL2ZvbnRlbGxvLXdpbnRlcnN0b2tlLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby13aW50ZXJzdG9rZS9mb250ZWxsby13aW50ZXJzdG9rZS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby13aW50ZXJzdG9rZS9mb250ZWxsby13aW50ZXJzdG9rZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby13aW50ZXJzdG9rZS9mb250ZWxsby13aW50ZXJzdG9rZS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuLnJvdy1iYWNrZ3JvdW5kW3N0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzhGOTVBNTtcIl0ge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5yb3ctYmFja2dyb3VuZFtzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICM4Rjk1QTU7XCJdIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbmRpdltkYXRhLW1vZHVsZS1pZD1cIndpbnRlcnN0b2tlLWN1c3RvbVwiXSAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICBwYWRkaW5nOiAzMHB4IDEwcHggIWltcG9ydGFudDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgZGl2W2RhdGEtbW9kdWxlLWlkPVwid2ludGVyc3Rva2UtY3VzdG9tXCJdIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMzVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICBkaXZbZGF0YS1tb2R1bGUtaWQ9XCJ3aW50ZXJzdG9rZS1jdXN0b21cIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBnYXA6IDIwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMS42JSAhaW1wb3J0YW50OyB9IH1cblxuZGl2W2RhdGEtbW9kdWxlLWlkPVwid2ludGVyc3Rva2UtY3VzdG9tXCJdIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuZGl2W2RhdGEtbW9kdWxlLWlkPVwid2ludGVyc3Rva2UtY3VzdG9tXCJdIC5tb2R1bGUtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyoqIFxyXG4gICAgLS0tLS0gRW1haWwgVGVtcGxhdGVzIC0tLS0tIFxyXG5cclxuICAgIFRISU5LIS4uLi4uLiBMSUtFIFJFQUxMWSBUSElOSyBPVVRMT09LIEJFRk9SRSBNQUtJTkcgQ0hBTkdFUywgdGhpbmdzIHRoYXQgdGhlc2UgdmFyaWFibGVzIHdpbGwgZWZmZWN0OiBcclxuICAgIC0gRnJhZ21lbnRzICggYXJlIGNvbG91cnMgZ2VuZXJpYyApIFxyXG4gICAgLSBPdXRsb29rIFxyXG4gICAgLSBEaXBsb21hdCBlbWFpbCBwYXJhbWV0ZXJzXHJcblxyXG4qKi9cbi5tb2JpbGUtYnJlYWsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2JpbGUtYnJlYWsge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvIDhweDsgfSB9XG5cbi5wYWdlLWhlYWRpbmctbW9kdWxlIGgxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5ib2R5IGgxIHtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuXG5oMSB7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICBoMS5wcmVzZXQxIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhmOTVhNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIGgxLnByZXNldDIge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmgyIHtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIGgyLnByZXNldDEge1xuICAgIHBhZGRpbmc6IDcuNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBoMi5wcmVzZXQyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7IH1cbiAgaDIucHJlc2V0MyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICBoMi5wcmVzZXQ0IHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwYjM7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgaDIucHJlc2V0NCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7IH0gfVxuXG5oMyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG4gIGgzLnByZXNldDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3LjVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDBiMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICBoMy5wcmVzZXQyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgaDMucHJlc2V0MjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG5cbmg0IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbmg1IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbmg2IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5jYWxsb3V0LmFsZXJ0IGg1LCAuY2FsbG91dC5hbGVydCBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtY29udGFpbmVyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzA3MWU4Myk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gIGEuc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICBhLnN1Y2Nlc3M6YmVmb3JlLCBhLnN1Y2Nlc3M6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgYS53YXJuaW5nIHtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIGEud2FybmluZzpiZWZvcmUsIGEud2FybmluZzphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICBhLmFsZXJ0IHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIGEuYWxlcnQ6YmVmb3JlLCBhLmFsZXJ0OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIGEuZWRpdCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBhLmVkaXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICBhLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICBhLm5ld3MtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLm5ld3MtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eqXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEubmV3cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5uZXdzLWJ1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5uZXdzLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIGEuYmxvZy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGEuYmxvZy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgoZcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ibG9nLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEuYmxvZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgYS5ldmVudHMtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLmV2ZW50cy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbNcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmV2ZW50cy1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhLmV4dGVybmFsLWxpbmstaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgo5cIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjZmI2ZjIxKTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTAsICMzMzMzMzMpOyB9XG4gIGEucGRmLWRvd25sb2FkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIGEucGRmLWRvd25sb2FkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HgVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLnBkZi1kb3dubG9hZDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbm9sIGxpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBoci5tb2JpbGUtc2VwZXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBhZGRyZXNzIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnNwYW5bY2xhc3MqPVwiLWljb25cIl0gLmljb24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSAuaWNvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAucHJpY2VzIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLnByaWNlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuaHIge1xuICBtYXJnaW46IDI1cHggMDsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy41XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTEge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIgaHIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG50YWJsZSB7XG4gIC0tYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xuICAtLWJvcmRlci1ob3Zlci1jb2xvdXI6ICNhZWFlYWU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICB0YWJsZS5zdHJpcGVkIHRyIHtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIHRhYmxlLnNob3ctYm9yZGVyLWJvdHRvbSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHI6bm90KDpsYXN0LWNoaWxkKTpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaG92ZXItY29sb3VyKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfSB9XG4gIHRhYmxlLnNob3ctYm9yZGVycyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICB0YWJsZS5zaG93LWJvcmRlcnMgdGgsIHRhYmxlLnNob3ctYm9yZGVycyB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmZpcnN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpsYXN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpmaXJzdC1jaGlsZCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpsYXN0LWNoaWxkLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG4gIHRhYmxlLmhpZ2hsaWdodC1maXJzdC1jb2x1bW4gdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIHRhYmxlLnByZXNldC0xIHtcbiAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0xIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRkLCB0YWJsZS5wcmVzZXQtMSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMS5yb3ctc3BhY2luZyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IC0xMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkLmltYWdlLWNvbCB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQuaW1hZ2UtY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTpob3ZlciBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoLnBkZi1kb3dubG9hZCkge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTIge1xuICAgICAgbWFyZ2luOiA0NXB4IDAgNDBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0yIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gIHRhYmxlLnByZXNldC0zIHRkLCB0YWJsZS5wcmVzZXQtMyB0aCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0ZCwgdGFibGUucHJlc2V0LTMgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0zLnJvdy1hZGRpdGlvbmFsLXBhZGRpbmcgdGQge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCwgdGFibGUucHJlc2V0LTMgdGJvZHkgdGgge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICB0YWJsZS5yb3ctc3BhY2luZyB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zcGFjaW5nOiAwIDEwcHg7IH1cbiAgICB0YWJsZS5yb3ctc3BhY2luZzpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICB0YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIHRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSB0ZC5uby1wZGYtZG93bmxvYWQgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0gfVxuICB0YWJsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMxMjgxMWY7IH1cbiAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7IH1cbiAgICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNWUwNTsgfVxuICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTsgfVxuICAgIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5lcnJvci1yb3csIHRhYmxlIHRyLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIHRyICsgdHIuZXJyb3Itcm93IHRkLCB0YWJsZSB0ciArIHRyLmVycm9yIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmOyB9IH1cbiAgdGFibGUgdHIuY2FyZC1leHBpcmVkLCB0YWJsZSB0ci5leHBpcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIsIHRhYmxlIHRyLmV4cGlyZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkIHRkLCB0YWJsZSB0ci5leHBpcmVkIHRkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCAucmVtb3ZlLWNvbCwgdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLnJlbW92ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLmV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGUge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHRkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICB0YWJsZSAuc3VjY2Vzcy1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICB0YWJsZSAuZmFpbGVkLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC5mYWlsZWQtaWNvbiwgdGFibGUgLnN1Y2Nlc3MtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIHRhYmxlIC5mYWlsZWQtaWNvbjpiZWZvcmUsIHRhYmxlIC5zdWNjZXNzLWljb246YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSAub3JkZXItdG90YWwtY29sLCB0YWJsZSB0aC5jc3YtaW1wb3J0LWNvbCB7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlIC5hZGRyZXNzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICB0YWJsZSAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgp1cIjtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgdGFibGUgLmV4cGlyZWQtdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZSAuZXhwaXJlZC10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA5cHg7IH0gfVxuXG50aGVhZC5wcmVzZXQtMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkLnByZXNldC0xIHRoIHtcbiAgICBwYWRkaW5nOiAwIDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICB0aGVhZC5wcmVzZXQtMSB0aCBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICB0aGVhZC5wcmVzZXQtMSB0aFtjbGFzcyQ9ZGVzY3JpcHRpb24tY29sXSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0aGVhZC5wcmVzZXQtMSArIHRib2R5IC5jb2wtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG50aGVhZC5wcmVzZXQtMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkLnByZXNldC0yIHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxudGhlYWQgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCBsaSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIC5jb21wYXJpc29uLXZhbHVlcyB0ZCArIHRkLCBbY29tcGFyaXNvbi10YWJsZV0gdGggKyB0aCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIC5jb21wYXJpc29uLXZhbHVlcyB0ZCArIHRkLCBbY29tcGFyaXNvbi10YWJsZV0gdGggKyB0aCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHRyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdGgge1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwOyB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxNSU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTsgfSB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZCB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgd2lkdGg6IDU4JTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDBkMGQwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IHRib2R5IHRkLmFjdGl2ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5bY29tcGFyaXNvbi10YWJsZV0uYWxpZ24tdmFsdWUtcmlnaHQgLmNvbXBhcmlzb24tc3VtbWFyeSB0ciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0uYWxpZ24tdmFsdWUtcmlnaHQgLmNvbXBhcmlzb24tc3VtbWFyeSAuY29tcGFyaXNvbi1jdXJyZW50bHktc2VsZWN0ZWQge1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbltjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkgLmNvbXBhcmlzb24tY29sdW1uLWhlYWRpbmcge1xuICAgIHdpZHRoOiA1OCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG5cbnRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQgLmNvbC1sYWJlbCB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIC5jb2wtbGFiZWwge1xuICAgICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkLmNvbHVtbi1lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQgLmNvbC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKTpoYXMoLmNvbC1sYWJlbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdHIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMWZyO1xuICAgIGdhcDogMCAxMHB4OyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKTpoYXMoLmNvbC1sYWJlbCkge1xuICAgICAgZGlzcGxheTogZ3JpZDsgfVxuICAgIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIC5jb250cm9sIHtcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtyZXNwb25zaXZlLXJldmVhbF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSArIHRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uc3VjY2VzcyB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxMjgxMWY7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLnN1Y2Nlc3MgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS53YXJuaW5nIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmNWUwNTsgfVxuICAgICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ud2FybmluZyAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFsZXJ0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2IyMGMwYzsgfVxuICAgICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWxlcnQgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmhlYWRlci1jb250YWluZXIgLmhlYWRlci1pdGVtIGEge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmhlYWRlci1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIZcIjsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFjdGl2ZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIG1hc2staW1hZ2U6IG5vbmU7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmhlYWRlci1jb250YWluZXI6aGFzKC51bnJlYWQtY29sKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmhlYWRlci1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJ5cIjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogMCAxOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29udGVudC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAudG9vbHRpcC1jb250YWluZXIuc3RhdGUtaW5kaWNhdG9yIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cblxuLnRhYmxlLXNvcnQtY29sLmFzY2VuZCBidXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIu6ghlwiOyB9XG5cbi50YWJsZS1zb3J0LWNvbC5kZXNjZW5kIGJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuLnRhYmxlLXNvcnQtY29sIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjNGQ2MGIyOyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM0ZDYwYjI7IH1cblxudGQubm90aWZpY2F0aW9uLWNvbDpob3ZlciAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xuICB3aWR0aDogNnB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzOyB9XG5cbnRkLm5vdGlmaWNhdGlvbi1jb2w6aG92ZXIgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGxlZnQ6IDZweDtcbiAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgMC4xOCk7XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzLCBib3JkZXItd2lkdGggMC42cywgbGVmdCAwLjZzOyB9XG5cbi51bnJlYWQtY29sIHtcbiAgd2lkdGg6IDQ4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAudW5yZWFkLWNvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVucmVhZC1jb2wge1xuICAgICAgd2lkdGg6IDIwcHg7IH0gfVxuXG4udGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIGN1cnNvcjogdGV4dDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44cywgbGVmdCAwLjhzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHAge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUucGF5bWVudCAucmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZSAuZXhwaXJlLWRhdGUtY29sIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxudGFibGUucmV1c2FibGUtY2FyZC10YWJsZSB0aC5zZWxlY3QtY29sLCB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIHRkLnNlbGVjdC1jb2wge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDApO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICAgIHdpZHRoOiA4NTBweDsgfSB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGJvZHkgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAudXBkYXRlZC1jb2wsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLnVwZGF0ZWQtYnktY29sIHtcbiAgICB3aWR0aDogMTklOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC5hY2Nlc3MtbGV2ZWwtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cnkge1xuICBtYXJnaW46IDA7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRkIHtcbiAgICBwYWRkaW5nOiAyLjVweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5yZXZpc2lvbi1jb2wge1xuICAgICAgd2lkdGg6IDUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC51cGRhdGVkLWJ5LWNvbCB7XG4gICAgICB3aWR0aDogMTclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC51cGRhdGVkLWNvbCB7XG4gICAgICB3aWR0aDogMTElOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5wdWJsaXNoZWQtY29sLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAuYWNjZXNzLWxldmVsLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuXG50YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB7XG4gIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGg6IDJweDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTsgfVxuICAgIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCArIC5uZXN0ZWQtdGFibGUtcm93IHtcbiAgICAgIGJvcmRlci13aWR0aDogMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCArIC5uZXN0ZWQtdGFibGUtcm93ID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAyNXB4OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHRoZWFkIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHRib2R5IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvbGRlci1maWx0ZXJzLXRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5mb2xkZXItZmlsdGVycy10YWJsZSB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYmxlLWNvbnRhaW5lci50YWJsZS1zY3JvbGwtZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLnRhYmxlLWNvbnRhaW5lci50YWJsZS1zY3JvbGwtZW5hYmxlZCB0YWJsZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSB0aGVhZDphZnRlciwgLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtYXQtYm90dG9tIHRoZWFkOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSwgLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtYXQtdG9wIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyksIGluc2V0IDAgLTEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5hdWRpdC10cmFpbC1lbnRyaWVzIHtcbiAgbWF4LWhlaWdodDogNDAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1jb250YWluZXIuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MDBweDsgfSB9XG5cbi50YWJsZS1jb250YWluZXIgdGFibGUge1xuICBtYXJnaW46IDA7IH1cblxuLnRhYmxlLWNvbnRhaW5lciB0aGVhZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgei1pbmRleDogMTsgfVxuICAudGFibGUtY29udGFpbmVyIHRoZWFkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuLypcclxuLS0tLSBJbnB1dHMgLS0tLSBcclxuLSBTdHlsaW5nIGZvciBmb3JtIGlucHV0cyAoIHNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIClcclxuLSBRdWFudGl0eSBzZWxlY3RvcnNcclxuLSBGb3Jtc1xyXG4gIC0gRmllbGRzZXRzXHJcbiAgLSBGaWVsZHNcclxuLSBWYWxpZGF0aW9uXHJcbiAgLSBGb3JtIGVycm9ycyBmcm9tIHRoZSBzZXJ2ZXJcclxuICAtIEFkdmFuY2VkIHZhbGlkYXRpb24gKCBzZXR0aW5nIHBhc3N3b3JkIClcclxuLSBQcmltYXJ5LCBTZWNvbmRhcnksIEV0YyBidXR0b25zIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cclxuLSBVSSBibG9jayBwYW5lLlxyXG4qL1xuZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbmZvcm0uaXMtaW52YWxpZCBidXR0b25bdHlwZT1zdWJtaXRdLCBmb3JtLmlzLWludmFsaWQgLmZvcm0tc3VibWl0LWJ1dHRvbiB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDsgfVxuICBmb3JtLmlzLWludmFsaWQgYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlciwgZm9ybS5pcy1pbnZhbGlkIC5mb3JtLXN1Ym1pdC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGMgIWltcG9ydGFudDsgfVxuXG5mb3JtLmlzLWludmFsaWQgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC40OyB9XG5cbmJ1dHRvbjpkaXNhYmxlZCwgYnV0dG9uLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbnNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY29udHJvbC50ZXh0IGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jb250cm9sLnRleHQucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDM2MHB4IC0gNDVweCk7IH0gfVxuXG4uZmllbGQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQge1xuICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5maWVsZC5hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZpZWxkLmFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZmllbGQgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHggLSAgMjAwcHgpO1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgLnBhc3N3b3JkLXJldmVhbCB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgIC5maWVsZCBsYWJlbCAubGFiZWwgKyB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmllbGQgbGFiZWwgLmxhYmVsIC5hZHZpc29yeS10ZXh0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkIGxhYmVsLnRleHQsIC5maWVsZCBsYWJlbC5lbWFpbCwgLmZpZWxkIGxhYmVsLnRlbCwgLmZpZWxkIGxhYmVsLm51bWJlciwgLmZpZWxkIGxhYmVsLnRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQ6aGFzKGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLnByaW1hcnktYnV0dG9uKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5maWVsZCArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZmllbGQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSkge1xuICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5sYWJlbCArIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5maWVsZCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmZpZWxkIHRleHRhcmVhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5lcnJvci1ibG9jayB7XG4gICAgICBtYXgtd2lkdGg6IDU4MS44MTgxOHB4OyB9IH1cbiAgLmZpZWxkOm5vdCgubWVkaXVtKTpub3QoLmxhcmdlKTpub3QoLmxhcmdlLTEpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZpZWxkLnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLmZpZWxkLnNtYWxsIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLnNtYWxsIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gIC5maWVsZC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLm1lZGl1bSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5tZWRpdW0gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4OyB9IH1cbiAgLmZpZWxkLmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC5sYXJnZSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubGFyZ2UgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDQ0MHB4OyB9IH1cbiAgLmZpZWxkLmZ1bGwtd2lkdGggLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQubGlzdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5maWVsZC5saXN0IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLmxpc3QgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4OyB9IH1cbiAgLmZpZWxkIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5maWVsZCAubGFiZWwgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuZmllbGQgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IDA7IH1cbiAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSBsYWJlbCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gbGFiZWwsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmZpZWxkLnNtYWxsLTEsIC5maWVsZC5tZWRpdW0tMSwgLmZpZWxkLmxhcmdlLTEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZC5zbWFsbC0xLCAuZmllbGQubWVkaXVtLTEsIC5maWVsZC5sYXJnZS0xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDM2MHB4OyB9IH1cbiAgLmZpZWxkLnNtYWxsLTIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZpZWxkLnNtYWxsLTMge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgdWwge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDEsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDMsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDQsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDYsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGltZyB7XG4gICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mby5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxvb2t1cC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBmb250LXNpemU6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBmb250LWZhbWlseTogY2FwdGlvbjtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuOHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyICsgYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdICsgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwOyB9XG5cbi5wYXNzd29yZC1yZXZlYWwge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5wYXNzd29yZC1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BrlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc3R5bGU6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC43KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFzc3dvcmQtcmV2ZWFsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAucGFzc3dvcmQtcmV2ZWFsLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnBhc3N3b3JkLXJldmVhbC5pbnB1dC1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY3Rpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciwgLmFjdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWN0aW9uLWJ1dHRvbjphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjdGlvbi1idXR0b246ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC5hY3Rpb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuYWN0aW9uLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICAgIGNvbG9yOiAjMTI4MTFmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5ob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWwuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWw6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkZWY5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDJkZWY5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpmb2N1cy12aXNpYmxlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzNXB4KTtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpob3ZlciwgLmFjdGlvbi1idXR0b24ud2FybmluZy5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjVlMDU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24ud2FybmluZy5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkZWY5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDJkZWY5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzVjNWM1YztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzVweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpob3ZlciwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgICBib3JkZXItY29sb3I6ICNkMmRlZjk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uYWxlcnRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnV0dG9uMSwgLnByaW1hcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5idXR0b24xOmhvdmVyLCAuYnV0dG9uMS5ob3ZlciwgLnByaW1hcnktYnV0dG9uOmhvdmVyLCAucHJpbWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5idXR0b24xOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5idXR0b24xLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbWFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5idXR0b24xOmFjdGl2ZSwgLmJ1dHRvbjEuYWN0aXZlLCAucHJpbWFyeS1idXR0b246YWN0aXZlLCAucHJpbWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZCwgLmJ1dHRvbjEuZGlzYWJsZWQsIC5idXR0b24xW2Rpc2FibGVkXSwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQsIC5wcmltYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZDpob3ZlciwgLmJ1dHRvbjEuZGlzYWJsZWQ6aG92ZXIsIC5wcmltYXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnByaW1hcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAuYnV0dG9uMTpmb2N1cy12aXNpYmxlLCAucHJpbWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC5idXR0b24xIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzVweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5zZWNvbmRhcnktYnV0dG9uOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnNlY29uZGFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnNlY29uZGFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmFjdGl2ZSwgLnNlY29uZGFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnNlY29uZGFyeS1idXR0b24uZGlzYWJsZWQsIC5zZWNvbmRhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM1YzVjNWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLnNlY29uZGFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGVydGlhcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbjphY3RpdmUsIC50ZXJ0aWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAudGVydGlhcnktYnV0dG9uOmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uLmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM1YzVjNWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMy41cHggMTZweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVhdGVybmFyeS1idXR0b246aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1YXRlcm5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWF0ZXJuYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAucXVhdGVybmFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAucXVhdGVybmFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWluYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzNXB4KTtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpbmFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5xdWluYXJ5LWJ1dHRvbjpob3ZlciwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMGIzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5xdWluYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucXVpbmFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5xdWluYXJ5LWJ1dHRvbjphY3RpdmUsIC5xdWluYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnF1aW5hcnktYnV0dG9uLmRpc2FibGVkLCAucXVpbmFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnF1aW5hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucXVpbmFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLnF1aW5hcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtYnV0dG9uOmhvdmVyLCAuY21zLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG9yKChkZWZhdWx0OiB0cmFuc3BhcmVudCwgaG92ZXI6ICMwNzFlODMsIGFjdGl2ZTogI2ZiNmYyMSwgZGlzYWJsZWQ6ICNmZmZmZmYpKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY21zLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY21zLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1idXR0b246YWN0aXZlLCAuY21zLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjMTgzYWQzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkLCAuY21zLWJ1dHRvbi5kaXNhYmxlZCwgLmNtcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmNtcy1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jbXMtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAuY21zLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmNtcy1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtcHJvY2VlZC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoIFcIjtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBzaXplOiAxNXB4OyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24gLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuOSk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ubG9jYXRpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgOS41cHggMTJweCA5LjVweCAyMXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb2NhdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIsIC5sb2NhdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXI6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uaG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmxvY2F0aW9uLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAubG9jYXRpb24tYnV0dG9uOmFjdGl2ZSwgLmxvY2F0aW9uLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQsIC5sb2NhdGlvbi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzVjNWM1YzsgfVxuICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAubG9jYXRpb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAubG9jYXRpb24tYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAubG9jYXRpb24tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM4Zjk1YTU7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSAucmVmZXJlbmNlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzhmOTVhNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgYm9yZGVyOiAxcHggc29saWQgIzhmOTVhNTsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MzsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzhmOTVhNTsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNXB4IDAgMDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhmOTVhNTtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzVweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpob3ZlciwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXI6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uaG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbnQtZWxlbWVudC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjphY3RpdmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmFjdGl2ZTpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpkaXNhYmxlZCwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmRpc2FibGVkLCAucHJpbnQtZWxlbWVudC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b25bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVjNWM1YzsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ar1wiO1xuICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5wcmludC1lbGVtZW50LWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK9cIjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4jcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCA1cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjNDM5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciwgLnBheXBhbC1idXR0b246aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgI3BheXBhbC1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI3BheXBhbC1jaGVja291dC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI3BheXBhbC1jaGVja291dC1idXR0b24uYWN0aXZlLCAucGF5cGFsLWJ1dHRvbjphY3RpdmUsIC5wYXlwYWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0sIC5wYXlwYWwtYnV0dG9uOmRpc2FibGVkLCAucGF5cGFsLWJ1dHRvbi5kaXNhYmxlZCwgLnBheXBhbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAucGF5cGFsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmZvY3VzLXZpc2libGUsIC5wYXlwYWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucGF5cGFsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246YWZ0ZXIsIC5wYXlwYWwtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9wYXlwYWwuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmluY3JlbWVudC1yb3ctYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5pbmNyZW1lbnQtcm93LWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5pbmNyZW1lbnQtcm93LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IDVweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoMm4pOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm9ubHktY2hpbGQsIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm9ubHktY2hpbGQ6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDJuKTpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpub3QoOm9ubHktY2hpbGQpOmZpcnN0LWNoaWxkLCAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpvbmx5LWNoaWxkOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm5vdCg6b25seS1jaGlsZCk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyo9XCItYnV0dG9uXCJdLmFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5hZGRUb0Jhc2tldEZvcm0ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24uaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGNvbG9yOiAjMTgzYWQzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYmFza2V0LWFkZC1idXR0b24uaWNvbi5kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgNi41cHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgzYWQzO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICMxODNhZDM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmhvdmVyLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmFjdGl2ZSwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpkaXNhYmxlZCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuZGlzYWJsZWQsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM1YzVjNWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkOmhvdmVyLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYWRkVG9CYXNrZXQuaWNvbiB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmFkZFRvQmFza2V0Lmljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBjb2xvcjogIzE4M2FkMztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uOm5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmFkZFRvQmFza2V0Lmljb24uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDYuNXB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4M2FkMztcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTphY3RpdmUsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFkZC10by1iYXNrZXQucHJlc2V0LTIge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDYuNXB4IDEwcHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC43OTE2N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjphY3RpdmUsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFuaW1hdGVkLmRyb3A6YmVmb3JlIHtcbiAgY29sb3I6ICNmYjZmMjEgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uYW5pbWF0ZWQuZHJvcDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIwcHg7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gIGFuaW1hdGlvbjogYmFza2V0SWNvbkhvdmVyIDAuNXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhc2tldEljb25Ib3ZlciB7XG4gIDAlIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxNSUge1xuICAgIHRvcDogLTE1cHg7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIDMwJSB7XG4gICAgdG9wOiAtMTBweDtcbiAgICBvcGFjaXR5OiAwLjY7IH1cbiAgNDUlIHtcbiAgICB0b3A6IC01cHg7XG4gICAgb3BhY2l0eTogMC44OyB9XG4gIDYwJSB7XG4gICAgdG9wOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkZWY5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1jb2xvcjogIzE4M2FkMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5hY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkZWY5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1jb2xvcjogIzE4M2FkMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuYWN0aXZlLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5kaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGFbZGlzYWJsZWRdLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM1YzVjNWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5kaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246aG92ZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE4M2FkMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246YWN0aXZlLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzVjNWM1YztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF0sIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQge1xuICBjb2xvcjogIzVjNWM1YztcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdOmFmdGVyLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXTpob3ZlcjphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYS5kaXNhYmxlZDphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYS5kaXNhYmxlZDpob3ZlcjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBjb2xvcjogIzVjNWM1YzsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmFmdGVyIHtcbiAgY29udGVudDogXCLvgIRcIjtcbiAgY29sb3I6ICNmYjZmMjE7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNmYjZmMjE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGE6YWN0aXZlOmFmdGVyIHtcbiAgY29sb3I6ICNmYjZmMjE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLmFjdGl2ZSBhOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDEgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGE6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDI6bm90KC5hY3RpdmUpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyIGE6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxubGFiZWwuZGlzYWJsZWQsIGxhYmVsLnJlYWRvbmx5IHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZmxleDogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi1yaWdodDogLTRweCAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNvbnRyb2wge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gIC5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250cm9sLmlzLWhvdmVyZWQgLmlucHV0LXByZWZpeC1pY29uLCAuY29udHJvbDpob3ZlciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbDpob3ZlciAuaW5wdXQtcHJlZml4LWljb24sIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWw6aG92ZXIgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY29udHJvbC5pcy1mb2N1c2VkIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH1cbiAgLmNvbnRyb2wgKyAubGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbiArIGlucHV0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24gKyBpbnB1dCB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuY29udHJvbCAubGFiZWwge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGV4dF0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9bnVtYmVyXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgaW5wdXRbdHlwZT10ZWxdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciB0ZXh0YXJlYSB7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0LCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+Ao1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpob3ZlcjphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgKNcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkMGQwZDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM1YzVjNWM7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkMGQwZDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM1YzVjNWM7IH1cbiAgLmNvbnRyb2wucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA3LjVweDtcbiAgICAgIGhlaWdodDogNy41cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC4ycHg7XG4gICAgICBsZWZ0OiAuNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNy41cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZDBkMGQwOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gIC5jb250cm9sLnNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmRpc2FibGVkICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdFtyZWFkb25seV0gKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyLCAuY29udHJvbC5zZWxlY3Qgc2VsZWN0W3JlYWRvbmx5XSArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3QuaXMtaW52YWxpZC1pbnB1dCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpmb2N1cyArIGRpdltjbGFzcz1jb250cm9sLXNlbGVjdC1jb250YWluZXJdIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuaXMtY2xvc2luZyB7XG4gICAgICB6LWluZGV4OiAyMDAwOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciB7XG4gICAgICB6LWluZGV4OiAxOTk5OyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5jb250cm9sLXNlbGVjdC1vcHRpb25zLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyOmhvdmVyIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3RlZC1vcHRpb246Zm9jdXMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0LWFycm93OmFmdGVyLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qCGXCI7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxODVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi1ib3R0b20gLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNkMGQwZDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AuYWN0aXZlIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3QtYXJyb3cge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6gnlwiO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDEwcHg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25bc2VsZWN0ZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uW2Rpc2FibGVkXSwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb24uZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmVbZGlzYWJsZWRdLCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUuZGlzYWJsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfSB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY29udHJvbC5zZWxlY3QudGl0bGUgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfVxuICAuY29udHJvbC50ZXh0IHtcbiAgICBjdXJzb3I6IHRleHQ7IH1cbiAgICAuY29udHJvbC50ZXh0IGlucHV0IHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0Om5vdChbdHlwZT1wYXNzd29yZF0pOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG4gICAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMgKyBidXR0b24ge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXI6bm90KC5pcy1pbnZhbGlkLWlucHV0KSArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0ICsgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuY29udHJvbC5zbGlkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNvbnRyb2wuZmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNkMGQwZDBiMztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY29udHJvbC5maWxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXB4KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAyLjVweCBkYXNoZWQgI2QwZDBkMGIzO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wuZmlsZSB7XG4gICAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlciBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXIgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuY29udHJvbC5maWxlOmFjdGl2ZSwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCA1OCwgMjExLCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNyk7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6YWN0aXZlOmFmdGVyLCAuY29udHJvbC5maWxlLmlzLXJlYWR5OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNyk7IH1cbiAgICAuY29udHJvbC5maWxlLmlzLXJlYWR5IC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6WoFwiO1xuICAgICAgY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCAuZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5maWxlIHNwYW4ubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuZmlsZSBzcGFuLmxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24ge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvlbRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24gKyAubGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5jb250cm9sLmZpbGUgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5maWxlIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlIC5maWxlLXNpemUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLmNvbnRyb2wuZmlsZSBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY29udHJvbC5zZWFyY2ggaW5wdXQgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmNvbnRyb2wgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuY29udHJvbDpob3ZlciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciBzZWxlY3QsIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gIHdpZHRoOiA5MHB4OyB9XG5cbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC43KTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAyMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmlucHV0Lm1haWwtaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubWFpbC1pbnB1dCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDsgfSB9XG4gIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC42KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7IH0gfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246ZW1wdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eYXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogcmdiYSg3LCAzMCwgMTMxLCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXI6ZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246YWN0aXZlOmVtcHR5OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jb25kaXRpb25hbC1pbnB1dHMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5jb25kaXRpb25hbC1pbnB1dHMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZiNmYyMTsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXIsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcjpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNzFlODM7IH0gfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmFjdGl2ZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDphY3RpdmU6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkMGQwZDA7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDZweCAwOyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCksIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQuZGlzYWJsZWQsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudC5kaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlciB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXI6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5xdWFudGl0eS1lcnJvciB7XG4gICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5xdWFudGl0eS1lcnJvciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiB1bnNldDsgfSB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCBpbnB1dCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLmlucHV0LW51bWJlci1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMzZweDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YmVmb3JlLFxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyLFxuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4OyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgahcIjsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCB7XG4gICAgICB3aWR0aDogOTBweDsgfSB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbnNwYW4uZm9ybS1lcnJvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBzcGFuLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBzcGFuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5zcGFuLmZvcm0tY2FsbG91dC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG51bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMzVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDsgfSB9XG4gICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3Ige1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3I6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjcpOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy12YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLXZhbGlkOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtaW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLWludmFsaWQ6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjVwiOyB9XG5cbi5hZHZhbmNlZC12YWxpZGF0aW9uLWFjdGl2ZS5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmdyb3VwLWZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDEwcHggMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIGgyLCAuZ3JvdXAtZm9ybS1lcnJvciBoNCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaSB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgcCwgLmdyb3VwLWZvcm0tZXJyb3IgYSB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncm91cC1mb3JtLWVycm9yIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG4uZXJyb3ItYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5lcnJvci1ibG9jayBoMiwgLmVycm9yLWJsb2NrIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5lcnJvci1ibG9jayB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuZXJyb3ItYmxvY2sgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmVycm9yLWJsb2NrIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5lcnJvci1ibG9jayB1bCBsaSB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmVycm9yLWJsb2NrIHAsIC5lcnJvci1ibG9jayBhIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZXJyb3ItYmxvY2sgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0ICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0ICsgc3Bhbi5jaGVja2JveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbkBrZXlmcmFtZXMga2Zfc2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4KTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwcHgpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCk7IH0gfVxuXG4uZmllbGQtbGVhZC1pbi10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbmxhYmVsOm5vdCguZGlzYWJsZWQpIC5sYWJlbDpob3ZlciwgbGFiZWw6bm90KC5yZWFkLW9ubHktaW5wdXQpIC5sYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG5cbmxhYmVsOm5vdCguZGlzYWJsZWQpIC5sYWJlbDphY3RpdmUsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6YWN0aXZlIHtcbiAgY29sb3I6ICNmYjZmMjE7IH1cblxubGFiZWwgLmxhYmVsIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxubGFiZWwgaW5wdXQ6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0NXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgbGFiZWwgaW5wdXQ6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbmxhYmVsIGlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cblxubGFiZWwgaW5wdXQ6Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xuLmxvb2t1cC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucG9zdGNvZGUtbG9va3VwLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLnBvc3Rjb2RlLWxvb2t1cC1lcnJvci5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0Lmxvb2t1cC1rZXkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubG9va3VwLWtleSB7XG4gICAgICB3aWR0aDogMzYwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaW5wdXQubG9va3VwLWtleSArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgzYWQzO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0Lmxvb2t1cC1rZXkuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5idXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCAxM3B4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogIzk1OTU5NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJ1dHRvbi5sb29rdXAtc3VibWl0IHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAwIDEwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciwgYnV0dG9uLmxvb2t1cC1zdWJtaXQuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIGJ1dHRvbi5sb29rdXAtc3VibWl0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdDphY3RpdmUsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE4M2FkMztcbiAgICBib3JkZXItY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6ZGlzYWJsZWQsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdFtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdDpkaXNhYmxlZDpob3ZlciwgYnV0dG9uLmxvb2t1cC1zdWJtaXQuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmxvb2t1cC1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiAyMjVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAubG9va3VwLXJlc3VsdHMgdWwgLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbiwgLmxvb2t1cC1yZXN1bHRzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uIHNwYW4sIC5sb29rdXAtcmVzdWx0cyBhIHNwYW4ge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246aG92ZXIsIC5sb29rdXAtcmVzdWx0cyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUsIC5sb29rdXAtcmVzdWx0cyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUgc3BhbiwgLmxvb2t1cC1yZXN1bHRzIGE6YWN0aXZlIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxvb2t1cC1yZXN1bHRzLmJyYW5jaC1zZWFyY2gsIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTIwcHg7IH0gfVxuICAubG9va3VwLXJlc3VsdHMuYnJhbmNoLXNlYXJjaCBidXR0b24sIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCBidXR0b24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmdlb2xvY2F0aW9uLWNvbnRpYW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDIwcHggNnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXS5ob3ZlciArIGJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiAxNXB4IDBweCAyMHB4IDJweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMgKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4OyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MzsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi50b2dnbGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9nZ2xlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnVpLWJsb2NrLXBhbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC51aS1ibG9jay1wYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgKNcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpOyB9XG5cbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAub3B0aW9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIgKyAuc3NvLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ubWljcm9zb2Z0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9idXR0b25zL21pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIpOyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLXNlcGVyYXRvciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXG4ucmVxdWlyZWQtcHJvbXB0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXJlZC1wcm9tcHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5yZXF1aXJlZC1wcm9tcHQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyLmNvbnRlbnQtYm9yZGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuZm9ybS51c2VyLWRhdGEtZm9ybSB7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbmZvcm0uc2luZ2xlLWNvbHVtbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZDpsYXN0LWNoaWxkIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7IH1cblxuZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuZm9ybSBmaWVsZHNldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBmb3JtIGZpZWxkc2V0OmZpcnN0LW9mLXR5cGUgaDIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IH1cbiAgZm9ybSBmaWVsZHNldCBoMywgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsgfSB9XG4gIGZvcm0gZmllbGRzZXQgaDIsIGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwYjM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9ybSBmaWVsZHNldCBoMiArIC5zdWItZ3JvdXAtbmFtZSwgZm9ybSBmaWVsZHNldCBsZWdlbmQgKyAuc3ViLWdyb3VwLW5hbWUge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgZm9ybSBmaWVsZHNldCB1bCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIGZvcm0gZmllbGRzZXQgPiAuZm9ybS1lcnJvciB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIGZvcm0gZmllbGRzZXQgLnN1Yi1ncm91cC1uYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9ybSBmaWVsZHNldCAuc3ViLWdyb3VwLW5hbWUgKyAucmVxdWlyZWQtcHJvbXB0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQgLmVycm9yLWJsb2NrIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIGZvcm0gLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciArIGgyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxNXB4IDcuNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgODVweDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNhcHRjaGEtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5jYXB0Y2hhLWNvbnRhaW5lci5jaGVja2JveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmNhcHRjaGEtY29udGFpbmVyIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICBib3R0b206IDYwcHggIWltcG9ydGFudDsgfVxuXG4ucG9wdXAtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI2LjY2NjY3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogODBweDsgfSB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBnYXA6IDAgMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMiB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0zIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGEge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGgzLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGg2LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgYSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5kaXNhYmxlZCBwIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaW5mb3JtYXRpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGgge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMCA1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCA0NXB4IDIwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkMmRlZjk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuYWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDJkZWY5O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSB7XG4gICAgICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6Zm9jdXMtdmlzaWJsZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCAyMi41cHggMTBweCk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBtYXJnaW46IDMwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjBmMDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4vKlxyXG4tLS0tLSBIZWFkZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBVcHBlciArIGxvd2VyIG5hdmlnYXRpb24gYmFycy5cclxuLSBTaXRlIGxvZ29cclxuLSBIZWFkZXIgc3RpY2t5IGZ1bmN0aW9uYWxpdHk6XHJcbiAgLSBGdWxsXHJcbiAgLSBNaW5pZmllZFxyXG4gIC0gTm8gVG9wIEJhclxyXG4gIC0gTWVudVxyXG4tIFZBVCBTd2l0Y2hlclxyXG4tIEJyZWFkY3J1bWJzXHJcbi0gQmFza2V0IFN1bW1hcnkgXHJcbi0gQ2FsbG91dHMgaW4gdGhlIGhlYWRlciB0byBtb2RpZnkgY2FsbG91dCBzZWUgYXhpcy1ub3RpZmljYXRpb24uc2Nzc1xyXG4tIFByZWRpY3RpdmUgc2VhcmNoIHBvc2l0aW9uaW5nIHRvIG1vZGlmeSBzZWFyY2ggc3R5bGUgdGhlbiBnbyB0byBheGlzLWF1dG9jb21wbGV0ZS5zY3NzXHJcbi0gVVNQIGJhciB3aGljaCBpcyBlc3NlbnRpYWxseSBhIG1vZHVsZS5cclxuLSBXZWxjb21lIFRleHRcclxuLSBUYWcgbGluZXNcclxuLSBUT0RPOiBJIGFtIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiB0cnlpbmcgdG8gdW50YW5nbGUgdGhlIG1lZ2EgbWVudSBjc3MgKyBtYWtlIGl0IG1vcmUgZ2VuZXJpYyBhbmQgcmVob21lIGl0IGluc2lkZSBvZiBheGlzLW1lbnVzLnNjc3NcclxuKi9cbmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0ge1xuICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAyMDAwOyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjVzIGVhc2Utb3V0OyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk5vVG9wQmFyXCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC42cywgbWFyZ2luLWJvdHRvbSAwLjhzOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAubG9nby1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItYWNjb3VudC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMjNweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgICAgICB0b3A6IDQ1cHg7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2ggKyBidXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciBhIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAuaG9tZS1idXR0b24gYTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTEuNjY2NjdweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBmb250LXNpemUgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5tZW51ID4gbGk6bm90KC5ob21lLWJ1dHRvbikgPiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDIyLjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzLCBoZWlnaHQgMC42czsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciwgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gIG1heC13aWR0aDogNzAlO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGEsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMi41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpiZWZvcmUsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXIsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldC53YXJuaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0LmFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg4lcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYWNjb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5oZWFkZXItbW9iaWxlLW1lbnUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMjAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS1tZW51IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAzNCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzguNSUgMjguNSU7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpLCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyID4gZGl2Om5vdCgubG9nby1jb250YWluZXIpOm5vdCgjYWN0aW9uLWJhci1jb250YWluZXIpOm5vdCguaGVhZGVyLXNlYXJjaC1jb250YWluZXIpOm5vdCguaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZSksIC5oZWFkZXItY29udGVudC1yaWdodCA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAtbXMtZ3JpZC1yb3ctc3BhbjogMjtcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUge1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IGF1dG8gMDsgfVxuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSA+IGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudS1jb250YWluZXIgdWwgPiBsaSA+IGEsIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jZW50ZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5oZWFkZXItY29udGVudC1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogaW5oZXJpdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAtbXMtZ3JpZC1yb3c6IDI7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7IH0gfVxuICAuaGVhZGVyLWNvbnRlbnQtcmlnaHQgLm1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5sb2dvQ29udGFpbmVyLCAubG9nby1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciBhLCAubG9nby1jb250YWluZXIgYSB7XG4gICAgbWF4LXdpZHRoOiA1MHZ3O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubG9nb0NvbnRhaW5lciBhLCAubG9nby1jb250YWluZXIgYSB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIGltZywgLmxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDI2NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgaW1nLCAubG9nby1jb250YWluZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM2NXB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvQ29udGFpbmVyIC5sb2dvLW1pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ29Db250YWluZXIgLmxvZ28tbWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ28tbWluaWZpZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHA6aXMoOmVtcHR5KSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10YWctbGluZS1jb250YWluZXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmhlYWRlci10YWdsaW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdGFnbGluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWJhc2lzOiA1MHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lci5hY3RpdmUgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBvcmRlcjogMTsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgb3JkZXI6IDI7IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICBvcmRlcjogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSBzcGFuLCAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSAudW5pYm94LWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTphY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUgc3BhbiwgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIC51bmlib3gtaGlnaGxpZ2h0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfSB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAwIDQwcHg7IH0gfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGk6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIgYS5hY19yZXN1bHRzX2VudHJ5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMGRlJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTJkZWcpOyB9XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaSAubm8tcmVzdWx0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuaGVhZGluZzIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5oZWFkaW5nNCB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hY19yZXN1bHRzX2VudHJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDsgfSB9XG5cbiNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gIGhlaWdodDogNTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfSB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZSAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gkVwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBjb2xvcjogI2ZmNWUwNTsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICBjb2xvcjogI2ZmNWUwNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmY1ZTA1OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJJcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBjb2xvcjogI2IyMGMwYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogNTAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgbGVmdDogYXV0bzsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCAuY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCA1cHg7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTpob3ZlciAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmhvdmVyIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTphY3RpdmUgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmFjdGl2ZSAudXBkYXRlLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAuYmFza2V0LWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgY29sb3I6ICMxODNhZDM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAudXBkYXRlLW1lc3NhZ2Uge1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgW2RhdGEtYmFza2V0LXN1bW1hcnktbm90aWZpY2F0aW9uc10ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwOyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgd2lkdGg6IDI1NXB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZSAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDlweCAyM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxODVweDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDcwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzLWluZm8uYmFza2V0LWRldGFpbHMtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1vcmRlci10b3RhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LXF1YW50aXR5IHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogODUlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC42czsgfVxuXG4uc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lciAjYmFza2V0UXVhbnRpdHksIC5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uc3VtbWFyeTphZnRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5zdW1tYXJ5ICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDhweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgcCB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDhweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IyMGMwYztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMzcwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFjdGl2ZSAjYmFza2V0UHJldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDUwMDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4O1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiA1MDAwOyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgI3JlY2VudGx5QWRkZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAjcmVjZW50bHlBZGRlZCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci51cGRhdGUuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDI1NXB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfSB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMTRweCAyMHB4OyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgZmxleC1iYXNpczogNDBweDsgfSB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvcmRlcjogMTsgfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhmOTVhNTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpIHVsID4gPiBsaSBhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MzsgfVxuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMTcuNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpOm5vdCguaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50KSA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7IH0gfVxuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMCA1cHggMCAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmI2ZjIxOyB9XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaTpmaXJzdC1jaGlsZCA+IGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaTpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGk6bGFzdC1jaGlsZCA+IGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGk6Zmlyc3QtY2hpbGQgYSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaS5ob21lLWJ1dHRvbiBhLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkuaG9tZS1idXR0b24gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuXG4uaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyICsgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIsIC5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogMCAxMi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyLnRvZ2dsZS1iYXItaW5hY3RpdmUtbW9iaWxlIHtcbiAgICAgIGdhcDogMDsgfSB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIuYWxpZ24taXRlbXMtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxODNhZDM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuc2VhcmNoIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDI2cHg7XG4gICAgcGFkZGluZzogMnB4IDQuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVjNDE7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZWM0MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgMC44czsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmhvdmVyIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246YWN0aXZlIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5zZWFyY2gge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5zZWFyY2guYWN0aXZlIHtcbiAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUuYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIuYWN0aXZlIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhci5hY3RpdmUgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG5cbi5oZWFkZXItYWNjb3VudC1idXR0b24ge1xuICBtaW4taGVpZ2h0OiAzNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDtcbiAgcGFkZGluZzogMy41cHggNy43NXB4O1xuICBjb2xvcjogIzA3MWU4MztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uLmxvZ2dlZC1pbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2QwZDBkMDtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYWNjb3VudC1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI2VlZWVlZTtcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxODNhZDM7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CHXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hY2NvdW50LW1lbnUgYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjY291bnQtbWVudSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4udXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcbiAgcGFkZGluZzogNXB4IDAgNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xuICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuXG4udXNwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC51c3AtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyID4gcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtID4gcCB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHggNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBpbWcsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYTpob3ZlciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYTphY3RpdmUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyB9XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSBwIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV0ge1xuICAgICAgICBwYWRkaW5nOiAwIDA7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdOmZpcnN0LW9mLXR5cGUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV06bGFzdC1vZi10eXBlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW0sIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgei1pbmRleDogMTsgfSB9XG4gIC51c3AtY29udGFpbmVyIC5mYXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cbiAgYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcbiAgICBwYWRkaW5nOiA3LjVweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xuICBwYWRkaW5nOiA3LjVweDsgfVxuXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmJyZWFkY3J1bWJzKSwgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciksIC5oZWFkZXItdXNwLWJhciArIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOmhhcyguYnJlYWRjcnVtYnMpLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9IH1cblxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icywgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH0gfVxuXG4jYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyLjVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIuZ3JpZC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG5cbi5icmVhZGNydW1icyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5icmVhZGNydW1icyBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5icmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICBtYXJnaW46IDAgNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogN3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5icmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDJweDsgfSB9XG5cbi50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciBzcGFuIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0ODVjZjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5zd2l0Y2gtZXhjIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM5cHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gtaW5jLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaC1pbmMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaCB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAxNi4xOTA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaDpob3ZlciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XG4gICAgbWluLXdpZHRoOiAxNC43ODI2MXB4O1xuICAgIGhlaWdodDogMTQuNzgyNjFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA4LjA5NTI0cHg7XG4gICAgICBoZWlnaHQ6IDguMDk1MjRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWluYyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtZXhjIHtcbiAgICByaWdodDogN3B4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5jIHtcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbnB1dCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciBwLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIGxhYmVsLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciBsYWJlbCBzcGFuLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIGxhYmVsIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qXHJcbi0tLS0tIEZvb3RlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEZvb3RlciBtZW51ICggYWxzbyByZWZlciB0byBheGlzLW1lbnVzLnNjc3MgKVxyXG4tIFByb21vdGlvbiBhcmVhOlxyXG4gIC0gU29jaWFsIEljb25zXHJcbiAgLSBNYWlsaW5nIExpc3RcclxuICAtIENtcyBlbnRyaWVzXHJcbi0gRm9vdGVyIEJhbm5lcnMgKCBQYXltZW50IG1ldGhvZCBsb2dvcyApXHJcbi0gQ29weXJpZ2h0XHJcbi0gR29vZ2xlIFRhZyBNYW5hZ2VyIGZvb3RlciB3aWRnZXQgYXJlYVxyXG4tIEZvb3RlciBNb2R1bGVzICggYWxzbyByZWZlciB0byBtb2R1bGVzLnNjc3MgKVxyXG4qL1xuZm9vdGVyIC5yb3ctYmFja2dyb3VuZDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG5mb290ZXIgLnNvY2lhbEljb25zLCBmb290ZXIgLnNvY2lhbC1pY29ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucywgZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBoMzpub3QoOmVtcHR5KSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaDM6bm90KDplbXB0eSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvb3RlciAuc29jaWFsSWNvbnMgaDM6bm90KDplbXB0eSksIGZvb3RlciAuc29jaWFsLWljb25zIGgzOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgYSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgYSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIGZvb3RlciAuc29jaWFsSWNvbnMgYTpob3ZlciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucyBhOmFjdGl2ZSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MzsgfVxuICBmb290ZXIgLnNvY2lhbEljb25zIGltZywgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDUwcHg7IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5mb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2YwZjBmMDsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2YwZjBmMDsgfVxuXG4uZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIuY29udGVudC1oZWFkZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLmNvbnRlbnQtaGVhZGVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDA7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIHtcbiAgICAgICAgZmxleC1iYXNpczogZml0LWNvbnRlbnQ7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyICsgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgZ2FwOiAwIDI0LjVweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyBhIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDsgfVxuXG4uY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7IH1cbiAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMTdweCBhdXRvIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUge1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkge1xuICBtYXJnaW46IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmZpcnN0LWNoaWxkIHAsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgcCwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYTpub3QoW2hyZWZdKSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDAgMzBweCAyMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgb3JkZXI6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGEsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHAge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhW2hyZWZdOmhvdmVyLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwW2hyZWZdOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYVtocmVmXTphY3RpdmUsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHBbaHJlZl06YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfSB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiAzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMC41cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDIxcHg7IH0gfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMC41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgLmxpbmstZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24ubWFpbi1tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBvcmRlcjogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uLm1haW4tbWVudSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIC5tZW51IC5pcy1zdWJtZW51LWl0ZW0gYSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICMwNzFlODM7IH1cblxuLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMzsgfVxuICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDMwcHg7IH0gfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmZvb3Rlci1wcm9tb3Rpb25zIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLXByb21vdGlvbnMge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zICsgLmZvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZm9vdGVyLXByb21vdGlvbnMgKyAuZm9vdGVyLW5hdmlnYXRpb24gLm1lbnUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAubWFpbGluZy1saXN0LWNvbnRhaW5lciwgLmZvb3Rlci1wcm9tb3Rpb25zIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsSWNvbnMsIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsLWljb25zIHtcbiAgICBvcmRlcjogMjsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDM7IH1cblxuLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4uZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXItbG9nby1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4uZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7IH0gfVxuICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4OyB9IH1cbiAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIGNvbG9yOiAjZDBkMGQwYjM7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuZm9vdGVyLXJldmVhbC1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY0ZGIwOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIuYWN0aXZlIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDsgfSB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlcjphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWN0aXZlLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE4M2FkMztcbiAgICBib3JkZXItY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFjdGl2ZTphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpkaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5kaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGlua1tkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6ZGlzYWJsZWQ6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuZGlzYWJsZWQ6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmtbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6ZGlzYWJsZWQ6aG92ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74eYXCI7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgNTVweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwLjVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMXB4OyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgc3Bhbi5tYWlsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDsgfVxuICAgICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmb3JtIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMjVweCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMjVweDsgfSB9XG4gIC5mb290ZXJPdXRlckNvbnRhaW5lciAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIgI2Zvb3Rlci1pbm5lci1jb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxyXG4tLS0tLSBBSkFYIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gQUpBWCBTcGlubmVyXHJcbi0gQ2FsbGJhY2sgY29udGFpbmVyc1xyXG4tIFVwZGF0ZSBDb250ZW50IC0gQmFzaWNhbGx5IGEgY29udGFpbmVyIGluc2lkZSBvZiB0aGUgYWpheCByZXNwb25zZSB0aGF0IGFsbG93cyB5b3UgdG8gdXBkYXRlIGNvbnRlbnQgb3V0c2lkZSBvZiB0aGUgY2FsbGJhY2sgY29udGFpbmVyLlxyXG4qL1xuLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jYWxsYmFja0NvbnRhaW5lcjpoYXMoLkFKQVhCbG9jaykge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuLmNhbGxiYWNrTGlzdENvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uQUpBWEJsb2NrLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuICAuQUpBWEJsb2NrIC5zcGlubmVyLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLnNwaW5uZXIge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lcjpiZWZvcmUsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDcsIDMwLCAxMzEsIDAuMik7XG4gICAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzA3MWU4MztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjdzIGN1YmljLWJlemllcigwLjU2LCAwLjExLCAwLjIyLCAwLjg2NSkgMHMgaW5maW5pdGU7XG4gICAgICB6LWluZGV4OiAxOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgfSB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAuQUpBWEJsb2NrIC5jbXMtY29udGVudC1jb250YWluZXIgcCwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5bZGF0YS11cGRhdGUtY29udGVudF0sIFtkYXRhLWFqYXgtdXBkYXRlLWJyZWFkY3J1bWJzXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuLS0tLS0gRmlsdGVycyAtLS0tLS0gXHJcbi0gVGhlc2UgYSB0eXBpY2FsbHkgb24gbGlzdCBwYWdlcyBmb3IgcHJvZHVjdHMuXHJcbi0gQXR0cmlidXRlIGZpbHRlcnMgdGhhdCBhbHNvIGluY2x1ZGUgY29sb3VyIGZpbHRlcnMgYW5kIHByaWNlIHNsaWRlci5cclxuLSBZb3Ugd2lsbCBhbHNvIGZpbmQgdGhlIG1vYmlsZSBzdHlsZXMgaGVyZSBmb3IgZmlsdGVycy5cclxuKi9cbiNtb2JpbGVUb2dnbGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAjZmlsdGVycy10b2dnbGU6aG92ZXIsIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNmaWx0ZXJzLXRvZ2dsZTpob3ZlcjpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpub3QoLmlzLXN0dWNrKSwgLmZpbHRlci10b2dnbGU6bm90KC5pcy1zdHVjaykge1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gICNmaWx0ZXJzLXRvZ2dsZS5pcy1zdHVjaywgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2sge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA0cztcbiAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgI2ZpbHRlcnMtdG9nZ2xlLmlzLXN0dWNrOmJlZm9yZSwgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2s6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpob3ZlciwgLmZpbHRlci10b2dnbGU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAuZmlsdGVyLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjZmlsdGVycy10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQsIC5maWx0ZXItdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNC4ycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgYm9yZGVyOiAwLjhweCBzb2xpZCAjZmZmZmZmOyB9IH1cblxuLmZpbHRlcnMtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmlsdGVycy1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC44KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZmlsdGVycy1mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5maWx0ZXJzLWZvb3RlciAuYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4jZmlsdGVyQmFja1RvTGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZmlsdGVyQmFja1RvTGlzdCAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNCk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSA+IHVsID4gbGk6bm90KC5hY3RpdmUpIC5hdHRyaWJ1dGVzQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7IH0gfVxuICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgdWwge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVyTmFtZSwgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVySXRlbUNvdW50IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5jb2xvdXJQcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbDpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWw6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmZpbHRlck5hbWUge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyLXByZXZpZXctY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyUHJldmlldyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuZmlsdGVySXRlbUNvdW50IHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29udHJvbCAuY2hlY2tib3gge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvcmRlcjogNDsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbnRyb2wgLmNoZWNrYm94IHNwYW46YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGEge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW0uYWN0aXZlIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudVthcmlhLWhpZGRlbj10cnVlXSB7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUuc2Nyb2xsZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LnNjcm9sbGVyIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzpob3ZlciB7XG4gICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnN1Ym1lbnUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGEsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmhvdmVyLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmFjdGl2ZSwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMTgzYWQzOyB9XG5cbi5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDcxZTgzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIZcIjtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzE4M2FkMzsgfVxuICAgIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTgzYWQzO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4jZmlsdGVycy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyAjZmlsdGVycy1jb250YWluZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDAwOyB9XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUgLmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gaDIge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIGgyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6YWN0aXZlLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmFjdGl2ZSBhIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FwcGxpZWRGaWx0ZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGgzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4jYXBwbGllZEZpbHRlcnMgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbiNhcHBsaWVkRmlsdGVycyBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiA1cHggMCAwOyB9XG4gICNhcHBsaWVkRmlsdGVycyBsaTpob3ZlciBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICNhcHBsaWVkRmlsdGVycyBsaTpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4jYXBwbGllZEZpbHRlcnMgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjYXBwbGllZEZpbHRlcnMgYTphZnRlciB7XG4gICAgY29udGVudDogJ3gnO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMC42O1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGE6aG92ZXI6YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGEuY2xlYXItYWxsLWF0dHJpYnV0ZXMge1xuICAgIG1hcmdpbjogMzBweCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmlucHV0LnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7IH1cblxuLnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIG1heC13aWR0aDogNzBweDtcbiAgbWF4LWhlaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dC51aS1zdGF0ZS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0LnVpLXN0YXRlLWFjdGl2ZSArIC5jdXJyZW5jeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQgKyAuY3VycmVuY3kge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4OyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQ6Zm9jdXMgKyAuY3VycmVuY3kge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogLTE1cHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dDpyZWFkLW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcmljZS1pbnB1dC1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4jcHJpY2Utc2xpZGVyIHtcbiAgbWF4LXdpZHRoOiA5NiU7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcmljZS1zbGlkZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MyU7IH0gfVxuXG4jcHJpY2VBdHRIaWdoIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qXHJcbi0tLS0tIE1vZGFscyAtLS0tLS0gXHJcbi0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHRoYXQgZ2V0cyB1c2VkIGZvciBwb3B1cCBjb250ZW50IGluIGV4cHJlc3MuXHJcbi0gQ2FuIGJlIHVzZWQgdG8gcG9wIGZvcm0sIGNtcyBjb250ZW50LCBub3RpZmljYXRpb24gJiBwYXltZW50IGZyYW1lcy5cclxuKi9cbi5tb2RhbC1jb250YWluZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucG9wdXAtYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAzMHB4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAyMDAxOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUgLnBvcHVwLWJhY2tncm91bmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRyb3BwZWQtc2Vzc2lvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGgpICsgMTAwcHgpOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY21zLWVudHJ5LXZpZXdlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zaXRlLWxpc3QucHVibGlzaC1oaXN0b3J5IC5jb250ZW50IHtcbiAgICB3aWR0aDogOTAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc2l0ZS1saXN0LnNpdGUtaW5mb3JtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24ge1xuICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICRjb2xvdXIzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5OCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5tb2RhbC1oZWFkZXI6aGFzKC5jbXMtY29udGVudC1jb250YWluZXIpIH4gLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiB1bnNldDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNrLWVkaXRvcl9fbWFpbiA+IGRpdiB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWVkaXRvci1oZWlnaHQpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmluc2VydC1hcnRpY2xlIC5jay1lZGl0b3IgLmNrLWNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5pbnNlcnQgLmNrLWVkaXRvciAuY2stY29udGVudCwgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLnByb3BlcnR5LWVkaXRvciAuY2stZWRpdG9yIC5jay1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMzB2aDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbiAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWVkaWEtYnJvd3NlciAubWVkaWEtYnJvd3Nlci1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLnJldmlzaW9uLXRleHQge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MHB4IDFmciAzMHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXI6YmVmb3JlLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyOmFmdGVyLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5idXR0b24tbGFiZWwsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qGBXCI7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AmVwiO1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gc3BhbiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5kYXRhLXRpbWUtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCBpZnJhbWUsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA2MzBweDtcbiAgICBoZWlnaHQ6IDYyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZTpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIFtpbmplY3QtY29udGFpbmVyXSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IGF1dG87XG4gICAgLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyICNhY2NvdW50LXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyICNicmFuY2gtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgODBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmxhYmVsLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAubGFiZWwsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTIwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci50YWJsZSAuY29udGVudCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLm1vZGFsLWhlYWRlciBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLm1vZGFsLWhlYWRlciBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgei1pbmRleDogMTUwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzMwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5zZWxlY3QtYnJhbmNoZXMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAudGFibGUtZm9vdGVyLXNwYWNlciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmJyYW5jaC1zZWFyY2gge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgcGFkZGluZzogNXB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDY1cHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuc2Nhbm5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuc2Nhbm5lciAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODUwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTV2dzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciBbaW5qZWN0LWNvbnRhaW5lcl0gaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLm1vZGFsLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBwYWRkaW5nOiA1cHggNDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLm1vZGFsLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDQ0cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggMzBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIuZGlzYWJsZWQtbm8tY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXI6ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0b3A6IDEyLjVweDtcbiAgICByaWdodDogMjBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6IGNvbnRyYWN0LWNoZWNrZXIoI2ZiNmYyMSwgIzA3MWU4Myk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgICAgICB0b3A6IDE2cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyNi42NjY2N3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogODBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QyZGVmOTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgICBib3JkZXItY29sb3I6ICNkMmRlZjk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgzLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg2LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QyZGVmOTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QyZGVmOTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODg1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLm1vZGFsLWxvZ28ge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBoZWlnaHQ6IDEzNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BnlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QyZGVmOTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiA4MHZ3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiA2NDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24gaDIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDBiMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIC5sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuLmluamVjdC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baW5qZWN0LWNvbnRhaW5lcl0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbaW5qZWN0LWNvbnRhaW5lcl06aGFzKGRpdi5BSkFYQmxvY2spIHtcbiAgICBtaW4td2lkdGg6IDMyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2luamVjdC1jb250YWluZXJdOmhhcyhkaXYuQUpBWEJsb2NrKSB7XG4gICAgICAgIG1pbi13aWR0aDogNjQwcHg7IH0gfVxuICBbaW5qZWN0LWNvbnRhaW5lcl0gLm1vZGFsLWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMzBweDsgfVxuXG4uaW5qZWN0LWJ1dHRvbiB7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmluamVjdC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmluamVjdC1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAuaW5qZWN0LWJ1dHRvbi5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW5qZWN0LWJ1dHRvbi5mb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIDUwcHggMCBhdXRvOyB9IH1cbiAgICAuaW5qZWN0LWJ1dHRvbi5mb3JtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi8qXHJcbi0tLS0tIE1vZHVsZXMgLS0tLS1cclxuVGhlc2UgY2FuIGJlIHVzZWQgYW55d2hlcmUgb24gdGhlIHNpdGUgaGVhZGVyLCBtYWluIGNvbnRlbnQgJiBmb290ZXIsIHRoZXNlIGhhdmUgYSBoYXJkIGRlcGVuZGFuY3kgb24gZm91bmRhdGlvbiBYWSBncmlkIHN5c3RlbSBmb3IgdGhlaXIgcG9zaXRpb25pbmcuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUHJvZHVjdCAvIEltYWdlIGNvbGxlY3Rpb25zXHJcbiAgLSBHcmlkIHZpZXdcclxuICAtIFNsaWRlc2hvdyB2aWV3XHJcbi0gVmFyb3VzIENNUyB0eXBlczpcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gR2VuZXJpYyBDTVMgZW50cmllcyBcclxuLSBFQkcgSW5mb3JtYXRpb25cclxuLSBCYWNrZ3JvdW5kcyAoIEN1cnJlbnRseSBvbmx5IHN1cHBvcnQganVzdCBjb2xvdXJzIG5vdCBpbWFnZXMgKTogXHJcbiAgLSBSb3cgQmFja2dyb3VuZHMgXHJcbiAgLSBNb2R1bGUgQmFja2dyb3VuZHNcclxuKi9cbi5yb3ctYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00NXB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuXG4uZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogNi41JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tYm90aCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2xsZWN0aW9uIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0gLmltYWdlIHtcbiAgICBwYWRkaW5nOiAzcHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMTkuMjMwNzdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbWVkaXVtLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogMjVweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbGFyZ2UtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDM4LjQ2MTU0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmltYWdlLWdyaWQtbW9kdWxlLCAuY29sbGVjdGlvbi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmNvbGxlY3Rpb24gLmNvbGxlY3Rpb24taXRlbS5lYmcge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgLmNvbGxlY3Rpb24gLmdyaWQtbWFyZ2luLXggPiAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLXgge1xuICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC00IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC03IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTgge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIxXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDEzMDBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgICBtYXgtaGVpZ2h0OiA2MzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIyXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNjQ0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA2NDRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0MThweDtcbiAgICBtYXgtaGVpZ2h0OiA0MThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTMgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIzXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNDI0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MjRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMTJweDtcbiAgICBtYXgtaGVpZ2h0OiAzMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMzE2cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAzMTZweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNDlweDtcbiAgICBtYXgtaGVpZ2h0OiAyNDlweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI1XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyMDVweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTYgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI2XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjA3cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDdweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNzVweDtcbiAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI3XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNTNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTggLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI4XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNTJweDsgfSB9XG4gIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5jb21wYWN0IC5kZXNjcmlwdGlvbiwgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlcjpub3QoLmNvbXBhY3QpIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAvKiBTZXR0aW5nIHRoaXMgZ2VuZXJpY2FsbHkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcclxuICAgICAgICAgICAgMS4gSWYgY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMgaXMgZW5hYmxlZFxyXG4gICAgICAgICAgICAyLiBJZiBpbWFnZSBzY2FsZSBpcyBlbmFibGVkLlxyXG4gICAgICAgICAgICAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5pbWFnZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDUwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbWFnZS1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLmNvbGxlY3Rpb24gLmdyaWQtY29sbGVjdGlvbi14IHtcbiAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgNTBweCk7IH0gfVxuICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCwgLmNvbGxlY3Rpb24gLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBvcmRlcjogMTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMThweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMThweCAwOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IHVuc2V0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24ge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTVweCAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA1cHg7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogNjYlO1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI2QwZDBkMGIzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMDcxZTgzKTtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzA3MWU4MztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNkMGQwZDBiMzsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnNwZWNpZmljYXRpb24gcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29kZSB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgZm9ybSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuYWRkVG9CYXNrZXQuaWNvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCB7XG4gIG1heC13aWR0aDogODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgIHdpZHRoOiA4MHB4OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZTpub3QoOmhhcyhpbWcpKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZTpub3QoOmhhcyhpbWcpKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJvcmRlci13aWR0aDogMCAwIDVweCAwO1xuICBib3JkZXItY29sb3I6ICM4Zjk1YTU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpob3ZlciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmNlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IGF1dG87IH1cblxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuXG4uY21zLW1vZHVsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jbXMtbW9kdWxlIGgxIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMTpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY21zLW1vZHVsZSBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMzpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg0Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNTpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDY6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLW1vZHVsZSBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmNtcy1tb2R1bGUgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jbXMtbW9kdWxlIHVsLCAuY21zLW1vZHVsZSBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY21zLW1vZHVsZSB1bCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmNtcy1tb2R1bGUgdWwgdWwge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC5jbXMtbW9kdWxlIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAuY21zLW1vZHVsZSBvbCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5jbXMtbW9kdWxlIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5jbXMtbW9kdWxlIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLmNtcy1tb2R1bGUgbGkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDEsIC5jbXMtbW9kdWxlIG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMiwgLmNtcy1tb2R1bGUgb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgzLCAuY21zLW1vZHVsZSBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDQsIC5jbXMtbW9kdWxlIG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNSwgLmNtcy1tb2R1bGUgb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg2LCAuY21zLW1vZHVsZSBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtbW9kdWxlIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNtcy1tb2R1bGUgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmNtcy1tb2R1bGUgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICBnYXA6IDEwcHg7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSA+IGltZyB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuY21zLW1vZHVsZSBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmNtcy1tb2R1bGUgY29kZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MzsgfVxuICAgICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSB7XG4gICAgZ2FwOiAyNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgNTYwcHgpKTtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgZ2FwOiA1MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfVxuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNy41JTsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG4gICAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDQ3NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNzVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDExLjYlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDExLjYlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tbGVmdCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcC5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtdG9wIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAucmVhZC1tb3JlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxheW91dC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3Q6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIgaW1nLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtaGVhZGluZywgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNtcy1jb250ZW50LCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNtcy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyICsgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciArIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWJhbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5jb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKSAuY29udGVudC1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jbXMtbW9kdWxlIC5tb2R1bGUtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY21zLW1vZHVsZSAuYmxvZy1idXR0b24sIC5jbXMtbW9kdWxlIC5uZXdzLWJ1dHRvbiwgLmNtcy1tb2R1bGUgLmV2ZW50cy1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgd2lkdGg6IDU5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3MHB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNzVweDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQgLnJvdy1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSAubmV3cy1tb2R1bGUge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAubmV3cy1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAubmV3cy1tb2R1bGUge1xuICAgICAgbWFyZ2luOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW46IDQwcHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZCAucm93LWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUuY2Fyb3VzZWwtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgMCA1MHB4OyB9XG5cbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbCgyMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWZ1bGwtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3Rlcy5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBpbmhlcml0OyB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyBwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHAge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLWhlYWRpbmctbW9kdWxlIC5jbXMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tb2R1bGUtY29uZmlnIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tb2R1bGUtY29uZmlnIGxpLCAubW9kdWxlLWNvbmZpZyBzdHJvbmcsIC5tb2R1bGUtY29uZmlnIGgzIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSwgLm1vZHVsZS1jb25maWcgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSBzdHJvbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAubW9kdWxlLWNvbmZpZyBsaSBzdHJvbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLm1vZHVsZS1jb25maWcgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tb2R1bGUtY29uZmlnIGgzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsgfVxuXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSB7XG4gIC0tYm9yZGVyLXJhZGl1cy1zbWFsbDogMXB4O1xuICAtLWJvcmRlci1yYWRpdXMtbWVkaXVtOiA1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1sYXJnZTogMjUlO1xuICAtLWJvcmRlci1yYWRpdXMteGxhcmdlOiA1MCU7XG4gIC0tYm9yZGVyLXdpZHRoLXRoaW46IDFweDtcbiAgLS1ib3JkZXItd2lkdGgtbGlnaHQ6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtbWVkaXVtOiA1cHg7XG4gIC0tYm9yZGVyLXdpZHRoLWJvbGQ6IDEwcHg7XG4gIC0taW1hZ2UtcmVkdWNlLXNtYWxsOiAuOTU7XG4gIC0taW1hZ2UtcmVkdWNlLW1lZGl1bTogLjgwO1xuICAtLWltYWdlLXJlZHVjZS1sYXJnZTogLjYwOyB9XG4gIC5tb2R1bGUtY29udGVudC1jb250YWluZXIuZWZmZWN0LXN0eWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLWJvcmRlciAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1ib3JkZXIgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAjZmZmZmZmKTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgI2ZmZmZmZik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC44czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2U6YmVmb3JlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjhzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkgLyAyKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2U6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKCh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpKSAvIDIpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICBvcGFjaXR5OiAxOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyIGltZywgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1yZWR1Y2UtaW1hZ2UsIDAuOTUpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuY2VsbC1ib3JkZXItZGVmYXVsdCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmNlbGwtYm9yZGVyLWRlZmF1bHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5ib3gtc2hhZG93LWRlZmF1bHQtaG92ZXItc3RhdGVzIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG4uY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIHtcbiAgcGFkZGluZzogMjBweCAwIDA7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS10b3AgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMTAwcHg7IH0gfVxuXG4uYW5pbWF0aW9uLW1vZHVsZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykvdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKTsgfVxuICAuYW5pbWF0aW9uLW1vZHVsZSBbZGF0YS1hbmltYXRpb25dIHtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbyk7IH1cblxuLypcclxuLS0tLS0gU3RvY2sgSW5kaWNpYXRvcihzKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEluc3RvY2ssIE91dCBvZiBzdG9jayAmIExvdyBzdG9jayBpY29ucy5cclxuLSBFbWFpbCB3aGVuIGJhY2sgaW4gc3RvY2tcclxuKi9cbi5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIHA6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIC5zdG9ja0xldmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN0b2NrLWluZGljYXRvci5wcmVzZXQyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBhOmhvdmVyLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgYTpob3ZlciwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiAubGFiZWwsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgLmxhYmVsLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCA1cHggMCAwOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLmxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0yID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTIgLmxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG4gIGNvbG9yOiAjZjlhZDA0O1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiBzcGFuIHtcbiAgY29sb3I6ICNmOWFkMDQ7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMSA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogIzA3MWU4MztcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgc3BhbiB7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLmxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCAuc3RvY2tMZXZlbCB7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbG9yOiAjZmI2ZjIxOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbiAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Ds1wiO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgY29sb3I6ICNmZjAxMDE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpub3QoLmFjdGl2ZSk6aG92ZXIgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmU6aG92ZXIge1xuICBjdXJzb3I6IG5vLWRyb3A7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uc3RvY2staW5kaWNhdG9yIFtkYXRhLXRvb2x0aXBdIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uc3RvY2staW5kaWNhdG9yIC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNvbGxlY3Rpb24tb25seS1pbmRpY2F0b3Ige1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJhcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICAgICAgdG9wOiAxMHZ3ICFpbXBvcnRhbnQ7IH0gfVxuICAjc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIC5jbXNDb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jbm90aWZpY2F0aW9uRm9ybUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwOyB9IH1cblxuI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgbWF4LXdpZHRoOiA4NXZ3O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgICAgIG1heC13aWR0aDogMzB2dzsgfSB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC41KTtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuW2RhdGEtc3RvY2staW5kaWNhdG9yLXVwZGF0ZV0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGNhbGMoMzAlIC0gNy41cHgpLCAxZnIpIG1pbm1heChjYWxjKDcwJSAtIDcuNXB4KSwgMWZyKTtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMjBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSB7XG4gICAgICAgIGdhcDogMTBweCAwOyB9IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCAuY2FsbGJhY2tDb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICAgICAgZ2FwOiAxMHB4IDMwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGU6bm90KDpoYXMoKikpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIGhyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmctY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktaGVhZGluZyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG5cbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktbW9kdWxlIC5sYWJlbCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG4gICAgLnF1YW50aXR5LW1vZHVsZSAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH1cblxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4IDVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMDsgfSB9XG5cbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgI2FkZGl0aW9uYWwtaW1hZ2VzLCAjcHJvZHVjdEltYWdlIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5zbGlkZS5hY3RpdmUgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDYwYjI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LFxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsXG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGxlZnQ6IDIxcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9IH1cblxuI21haW5JbWFnZUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuMik7IH1cbiAgI21haW5JbWFnZUNvbnRhaW5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIGltZyB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZyksICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzOmhhcyhpbWcpIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG5cbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfSB9XG5cbi5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMC45N3JlbTtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgcCwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4sIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZ2FwOiAxMHB4IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIHtcbiAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC52YWx1ZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciBidXR0b24sIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAudG9vbHRpcC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgYnV0dG9uLCAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnRvb2x0aXAtdHJpZ2dlciB7XG4gICAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1pbmZvLWxlZnQgaDEge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBjb2xvcjogIzA3MWU4MztcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jcHJvZHVjdCAuc2xpZGUgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuYWRkQnV0dG9uQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBvcmRlcjogNDsgfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgcCwgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnByb2R1Y3QtcmVhZC1tb3JlIHtcbiAgICBoZWlnaHQ6IDE0dmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC50YWJiZWQtcmVhZC1tb3JlOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNwcm9kdWN0ICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyAuY2Fyb3VzZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcmRlcjogNDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuXG4uaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luOiAxNXB4IDAgMTBweDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb25zLWNvbnRhaW5lciArIC5oYXphcmQtaW5mby1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbiB7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC10b3hpYyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtYWN1dGUtdG94aWNpdHktaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZ2FzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb21wcmVzc2VkLWdhcy1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1jb3Jyb3NpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWNvcnJvc2l2ZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1lbnZpcm9ubWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtZW52aXJvbm1lbnRhbC1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1leHBsb3NpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWV4cGxvc2l2ZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1mbGFtbWFibGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWZsYW1tYWJsZS1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1vem9uZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtaGFybWZ1bC1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1veGlkaXNpbmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLW94aWRpc2luZy1pY29uLnN2Z1wiKTsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24uaGF6LWNhdC1oZWFsdGgge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLXNlcmlvdXMtaGVhbHRoLWljb24uc3ZnXCIpOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIGg0IHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgbGkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgxLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMiwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDMsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg0LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNSwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDYsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBkbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBwLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyLnByb2R1Y3Qtbm90ZXMge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyLnByb2R1Y3Qtbm90ZXMgLnJlYWQtbW9yZTpub3QoOmhhcygucmVhZC1tb3JlLWNvbnRlbnQpKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDsgfVxuXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI3NwbGl0LXNwZWNpZmljYXRpb24gdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3NwbGl0LXNwZWNpZmljYXRpb24gdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiBsaSB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gbGksICNzcGxpdC1zcGVjaWZpY2F0aW9uIHAsICNzcGxpdC1zcGVjaWZpY2F0aW9uIGEsICNzcGxpdC1zcGVjaWZpY2F0aW9uIHNwYW4ge1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi5zcGxpdC1zcGVjaWZpY2F0aW9uIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5ycnAge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnBhY2stcHJpY2Uge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnBhY2stc2l6ZSB7XG4gICAgb3JkZXI6IDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1pdGVtLXByaWNlIHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5zYXZpbmcge1xuICAgIG9yZGVyOiAzOyB9IH1cblxuI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSAubGFiZWw6ZW1wdHkgKyAudmFsdWUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2Uge1xuICAgIG9yZGVyOiA1OyB9IH1cblxuI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSAudmFsdWUge1xuICBmb250LXNpemU6IDEuNzVyZW07IH1cblxuLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIHdpZHRoOiA0MDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIC5jb2RlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIC5wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB0ZC5kZXNjcmlwdGlvbi1jb2wgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB0ZC5kZXNjcmlwdGlvbi1jb2wgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRkLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLmNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAucHJpY2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5hZGQtY29sIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRoLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZ2FwOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0ZC5jb2RlLWNvbCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgxLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDMsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg0LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDYsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBkbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciAuZmF2b3VyaXRlczphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkMGQwZDBiMztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHNwYW4sIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24gc3BhbiB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGgsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRib2R5IHRkLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRib2R5IHRkLnNhdmluZ3MtY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZC5zYXZpbmdzLWNvbCB7XG4gICAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAucXVhbnRpdHktY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAucXVhbnRpdHktY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5wcmljZS1wZXItaXRlbS1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5wcmljZS1wZXItaXRlbS1jb2wge1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnNhdmluZ3MtY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAuc2F2aW5ncy1jb2wge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggMCAyMHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMCAyMHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gICAgICAtLXByaWNlLW1heC13aWR0aDogNDAlOyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcbiAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UgLnZhbHVlIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIHZhcigtLXByaWNlLW1heC13aWR0aCkpKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOTBweCwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gMTBweCkpKTtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE5MHB4LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAxMHB4KSkpO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpub3QoOmhhcygqKSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6bm90KDpoYXMoKikpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IGNhbGMoMjBweCAvIDIgKiAtMSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogY2FsYygyMHB4IC8gMiAqIC0xKTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7IH0gfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuc2F2aW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuc2F2aW5nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCArIC5zYXZpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAgKyAuc2F2aW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhbHVlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhdCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcgLmNhc2UtcHJpY2UgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIC5wcmljZSB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLmRlbGl2ZXJ5LWNvdW50ZG93bi1jb250YWluZXIgW2RhdGEtY291bnRkb3duLXRpbWVdIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC5jb2xsZWN0aW9uLWl0ZW0uYWN0aXZlIC50aHVtYm5haWwgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmYjZmMjE7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmFjdGl2ZSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUxLCAxMTEsIDMzLCAwLjUpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvM2RpY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuMik7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBhdXRvOyB9IH1cblxuLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG4gIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMGQwOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBzcGFuLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHAsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIGEsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHNwYW4ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjE1NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjE1NjI1cmVtOyB9IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0xID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMiA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMyA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNCA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmxhYmVsLCAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDI3JTsgfSB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucGFydC1jb2RlLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0SW1hZ2UsICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMjsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjVweCAwIDQ1cHg7IH0gfVxuXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNhMjM0ZTM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogMTBweCA0MHB4OyB9IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHJbY29sc3Bhbj1cIjJcIl0gdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuI2Jhc2tldC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1mb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNiYXNrZXQtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuXG4jYmFza2V0LXRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIHRkOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCksICNiYXNrZXQtdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICAjYmFza2V0LXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjYmFza2V0LXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyIHNwYW47IH0gfVxuICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgbWluLXdpZHRoOiA0MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTBweCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZDBkMGQwYjM7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAjYmFza2V0LXRhYmxlIC5zdWJzaWRpYXJ5LWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI2Jhc2tldC10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIG1heC13aWR0aDogMTUlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5hZGQtdG8tYmFza2V0LWNvbCB7XG4gICAgICB3aWR0aDogMTUlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwge1xuICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBvcmRlcjogMjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgb3JkZXI6IDQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICB3aWR0aDogNSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5NTk1OTU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1pdGVtLXJvdyB0ZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuY29sLWxhYmVsLCAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wgLmNvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMzBweDtcbiAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdGQ6bm90KC5pbWFnZS1jb2wpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuaW1hZ2UtY29sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiBzcGFuIDQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gICAgICB3aWR0aDogMTIuMiU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMzsgfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAzMCU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5jb2RlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuICBncmlkLXJvdzogMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiAyMCU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5xdWFudGl0eS1jb2wge1xuICBncmlkLXJvdzogNDsgfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGdyaWQtcm93OiA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIHtcbiAgICAgIHdpZHRoOiAxOC45JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmFkZC1jb2wgLmFkZFRvQmFza2V0Lmljb24sIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmFkZC1jb2wgLmJhc2tldC1hZGQtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdHIsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdHIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XG4gICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuXG50YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCAuY29sLWxhYmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIC5jb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7IH0gfVxuXG50YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICBnYXA6IDEwcHggMDsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHksIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIuYWxpZ24tcmlnaHQsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIuYWxpZ24tcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHksIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA1OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wgLnJlbW92ZS1idXR0b24sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIC5yZW1vdmUtYnV0dG9uIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuXG4jYmFza2V0LXN0aWNreS1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAjYmFza2V0IC5iYXNrZXQtaXRlbS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIHBhZGRpbmc6IDQ1cHg7IH0gfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74ORXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjMTgzYWQzOyB9XG4gICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXI6aGFzKC5zZXBlcmF0b3I6bm90KDplbXB0eSkpIHtcbiAgICBnYXA6IDIwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIuaW52YWxpZCBhIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4IDVweCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgzYWQzO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxODNhZDM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0gKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLnZvdWNoZXIgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKxcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52YXQgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipVcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICMxODNhZDM7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtY29udGFpbmVyLmlzLWludmFsaWQtY29udGFpbmVyICsgLmZvcm0tZXJyb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dCB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODNhZDM7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpob3ZlciwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6YWN0aXZlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4M2FkMztcbiAgICAgIGJvcmRlci1jb2xvcjogIzE4M2FkMztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmRpc2FibGVkOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6YWN0aXZlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODNhZDM7XG4gICAgICBib3JkZXItY29sb3I6ICMxODNhZDM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmVbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQge1xuICAgICAgICBnYXA6IDAgMTVweDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0xIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTIge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTMge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0zIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGEge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg1LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgYSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuZGlzYWJsZWQgcCB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbiBwIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5uby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC53YXJuaW5nLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2Jhc2tldC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDtcbiAgZ2FwOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYmFza2V0LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG4gICAgICBnYXA6IDE1cHggMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBnYXA6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6aG92ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6aG92ZXI6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmFjdGl2ZSwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpkaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5kaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgKFcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlcjphZnRlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDphY3RpdmUsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5kaXNhYmxlZDphZnRlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1ncm93OiAxO1xuICBnYXA6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBnYXA6IDE1cHg7IH0gfVxuICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2ggaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAzMDVweDsgfSB9XG4gICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuZm9ybS1lcnJvciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmJhc2tldC10b3RhbC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwMDdiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYXNrZXQtdG90YWwtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhc2tldC10b3RhbC1zdGlja3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDMxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiB1bnNldDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2sge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSksIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLmlzLWF0LXRvcCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkLmlzLWF0LXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuOHM7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdG90YWwtdmFsdWUge1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogODsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdmF0LWlucHV0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDk7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNlZGl0LWJhc2tldC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNuZXQtc3VtbWFyeS12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pbnRyby1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbS5oaWdobGlnaHRlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUge1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSAuaW5jVmF0LCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSAuaW5jVmF0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAjdG90YWwtdmFsdWUgLmxhYmVsLCAjYmFza2V0LXN1bW1hcnkgI3RvdGFsLXZhbHVlIC52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyICN0b3RhbC12YWx1ZSAubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAjdG90YWwtdmFsdWUgLnZhbHVlIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMwcHggN3B4IDAgMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphZnRlciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjpob3ZlciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphY3RpdmUsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNkZWxpdmVyeS1zZWxlY3RvciB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciBzZWxlY3QsICNkZWxpdmVyeS1zZWxlY3RvciBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktbGFiZWwge1xuICBtYXJnaW46IDEwcHggMDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LXNlcnZpY2UsICNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktYXJlYSB7XG4gICAgd2lkdGg6IDQwNXB4O1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bzsgfSB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktc2VydmljZS5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ubGluay1mYWlsZWQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5saW5rLWZhaWxlZC1jb250YWluZXIgLmxpbmstZmFpbGVkLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgY29sb3I6ICNmZjAxMDE7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5saW5rLWZhaWxlZC1jb250YWluZXIgLnByaW1hcnktYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYNcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jdXN0b21lci1hc3NldHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qClXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIBcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtY2FsbHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY2hhbmdlLWRldGFpbHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jb250cmFjdC1pdGVtczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYBcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hhVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi05OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGBXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm9ubGluZS1kb2N1bWVudGF0aW9uOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTA6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hhFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZhdm91cml0ZXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AhFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmxvZ291dDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTEzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCKXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udmlldy1vcmRlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCCXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLWNhcmRzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIxcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5wYXltZW50LXJlcXVlc3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kb3dubG9hZC1wcmljZS1saXN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qG6XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ucmVjZW50bHktcHVyY2hhc2VkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI9cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zaXRlLWxpc3Q6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gv1wiO1xuICBjb2xvcjogIzVmN2IyNzsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zdGF0ZW1lbnQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gh1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIlcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS51cGxvYWQtYmFza2V0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS51cGxvYWQtb3JkZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtdXNlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmVtcGxveWVlLXN0YXR1czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGLXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYJcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbpcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hklwiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gpVwiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bi1wiO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGBXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24ge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZCwgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNS4zMzMzM3B4OyB9XG4gIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xuICBtYXJnaW46IDM1cHggMCAyMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5jZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZS5zaXRlLXN0eWxlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDMwcHg7XG4gICAgcGFkZGluZzogMTlweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgZmxleDogMTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMTYge1xuICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlscywgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTQge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMTcge1xuICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tOSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0zNSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5sb2dvdXQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0yOSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG5cbi5hY2NvdW50LW1lbnUgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUgaDIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1tZW51IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2Uge1xuICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAjYWNjb3VudC1wYWdlLWdyaWQgLmFjY291bnQtcGFnZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZmF2b3VyaXRlczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24udmlldy1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zdGF0ZW1lbnQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS11c2VyczpiZWZvcmUge1xuICBmb250LXNpemU6IDU1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmxvZ291dDpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhbGxzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5wYXltZW50LXJlcXVlc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnNpdGUtbGlzdCB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm9ubGluZS1kb2N1bWVudGF0aW9uIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIC5sYWJlbCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAucGFnaW5hdGlvbkxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMzVweDsgfSB9XG4gIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyLmNlbnRlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5vcmRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciArIC5yZXNwb25zaXZlLXRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAub3JkZXItZGV0YWlscywgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRlbGl2ZXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUge1xuICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyLnByZXNldC0xICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1MTVweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQ6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSwgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwOyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGEge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZDBkMGQwYjM7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuNik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nLmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgICB3aWR0aDogMTUlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICB3aWR0aDogNSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcmRlcjogNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnJlbW92ZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KSBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KTtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lciAjYmFza2V0LXN1bW1hcnkge1xuICAgIG1hcmdpbjogMDsgfVxuICAub3JkZXItY29udGFpbmVyICNiYXNrZXQtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA1cHggMDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsgfSB9XG4gIC5vcmRlci1kZXRhaWxzLmlubGluZSwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweCAyMHB4OyB9XG4gICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZ2FwOiA1cHg7IH1cbiAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4sIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5vcmRlci1kZXRhaWxzLnBheWVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeS5wYXllci1kZXRhaWxzLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5wYXllci1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnktaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBoMywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcgaDMsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBhLmVkaXQsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nIGEuZWRpdCwgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIGEuZWRpdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmRldGFpbC1pdGVtLWNvbnRhaW5lciwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lcjpoYXMoPiBwOmVtcHR5KSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyOmhhcyg+IHA6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogMTcwcHg7IH0gfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gcCwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBwLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBwIHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgYSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIGFkZHJlc3MsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciBhZGRyZXNzIHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZzphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxmMGRkJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG5cbi5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5ncmlkLXgge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIgLmdyaWQteCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgfSB9XG5cbi5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG5cbi5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAuY29udGFpbmVyLXJlZmVyZW5jZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuXG4udXNlcnMtZm91bmQtY291bnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC51c2Vycy1mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgLnVzZXJzLWZvdW5kLWNvdW50IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnVzZXJzLWZvdW5kLWNvdW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiN1c2Vycy10YWJsZSB0ZCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAjdXNlcnMtdGFibGUgdGQgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3VzZXJzLXRhYmxlIHRkIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jdXNlcnMtdGFibGUgdGQudXNlcnMtY29udGFjdC1jb2wge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4jdXNlcnMtdGFibGUgLnVzZXJzLWFjY291bnQtY29sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3VzZXJzLXRhYmxlIC51c2Vycy1hY2NvdW50LWNvbCB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWNvbnRhY3QtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWVtYWlsLWNvbCB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1kZWxldGUtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1kZWxldGUtY29sIC5yZW1vdmUtdXNlci1idXR0b24ge1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5yZW1vdmUtdXNlci1idXR0b24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5yZW1vdmUtdXNlci1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgZm9udC1zaXplOiAxLjEzNjM2cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuXG4ubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMjBweCBhdXRvIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciAucHJpbWFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDIwcHggMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciAudGVydGlhcnktYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbiNzZWxlY3QtYnJhbmNoZXMtdGFibGUge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5icmFuY2gtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAuYnJhbmNoLWNvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDsgfSB9XG4gICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgdGQuYnJhbmNoLWNvbCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5hbGxvdy1sb2dpbi1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC10eXBlLWNvbCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLW51bWJlci1jb2wge1xuICAgIHdpZHRoOiAxODBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDI0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbiN0b2tlbnMtdGFibGUsIC50b2tlbnMtdGFibGUge1xuICBtYXJnaW46IDA7IH1cbiAgI3Rva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSwgLnRva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICN0b2tlbnMtdGFibGUgdGQsIC50b2tlbnMtdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAjdG9rZW5zLXRhYmxlIC5jYXJkLXNlbGVjdC1jb2wgLnJhZGlvLCAudG9rZW5zLXRhYmxlIC5jYXJkLXNlbGVjdC1jb2wgLnJhZGlvIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC10eXBlLWNvbCB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAjdG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICN0b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Rva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSAuY2FyZC1yZW1vdmUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLXJlbW92ZS1jb2wge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMjAwcHg7IH0gfVxuICAjdG9rZW5zLXRhYmxlIC5zZWxlY3RlZC1jYXJkLCAudG9rZW5zLXRhYmxlIC5zZWxlY3RlZC1jYXJkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubm8tdG9rZW5zLWZvdW5kIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubm8tdG9rZW5zLWZvdW5kIHtcbiAgICAgIG1hcmdpbjogMTAwcHggMDsgfSB9XG4gIC5uby10b2tlbnMtZm91bmQgLm5vLXRva2Vucy1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgp1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtO1xuICAgIGNvbG9yOiAjZDBkMGQwOyB9XG5cbi5wYXltZW50LWRldGFpbHMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNjB2aDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5tb2RhbC1jb250YWluZXJbdHlwZT1zZWxlY3QtcGF5bWVudF0gI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bzsgfVxuICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uc2F2ZS1jYXJkLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zYXZlLWNhcmQtY29udGFpbmVyIC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuc2F2ZS1jYXJkLWNvbnRhaW5lciAubGFiZWwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbiNwYXltZW50LWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDsgfVxuXG4uc3RhdGVtZW50LWxpc3QtY29udGFpbmVyLmluLWFjdGl2ZSwgLnN0YXRlbWVudC1wYXktY29udGFpbmVyLmluLWFjdGl2ZSwgLmFjY291bnQtcGF5LWNvbnRhaW5lci5pbi1hY3RpdmUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC42czsgfVxuXG4uc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMiUgMjBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHAgc3BhbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDsgfSB9XG5cbi5zdW1tYXJ5LWNvbnRhaW5lci5zdGF0ZW1lbnQgLnN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyLmFjY291bnQtcGF5bWVudC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcge1xuICBtYXJnaW46IDAgMCA0MHB4OyB9XG5cbi50cmFuc2FjdGlvbi10eXBlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJhbnNhY3Rpb24tdHlwZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmRpcmVjdC1kZWJpdC1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZGlyZWN0LWRlYml0LWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGOXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG50YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5icmFuY2gtY29sIHtcbiAgICAgIHdpZHRoOiA2LjIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5uZXh0LWR1ZS1kYXRlLWNvbCB7XG4gICAgICB3aWR0aDogOCU7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC55b3VyLXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuc2t1LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdmFsdWUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdHlwZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB0ZC5jb250cmFjdC10eXBlLWNvbCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC1ncm91cC1jb2wge1xuICAgICAgd2lkdGg6IDkuOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmZyZXF1ZW5jeS1jb2wge1xuICAgICAgd2lkdGg6IDguNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnBheW1lbnQtbWV0aG9kLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnRlcm1pbmF0aW9uLWRhdGUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuYmFsYW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5yZW5ld2FsLWNvbCB7XG4gICAgICB3aWR0aDogNS41JTsgfSB9XG4gIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50dWJzLXJlbmV3LWJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50dWJzLXJlbmV3LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5pdGVtLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5pdGVtLWNvbCB7XG4gICAgd2lkdGg6IDUlOyB9IH1cblxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDE0JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgdGguZGVzY3JpcHRpb24tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuaW52b2ljZXMtY29sLCB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmRlbGl2ZXJpZXMtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmludm9pY2VzLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5kZWxpdmVyaWVzLWNvbCB7XG4gICAgd2lkdGg6IDEyJTsgfSB9XG5cbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSB1bCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLml0ZW0tY29sIHtcbiAgICB3aWR0aDogNi45NSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnF1YW50aXR5LWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjclO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLm91ci1yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC55b3VyLXJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmNvbnRyYWN0cy10YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuY29udHJhY3RzLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG50YWJsZS5jb250cmFjdHMtdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnR5cGUtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAudmFsdWUtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnN0YXR1cy1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5kYXRlLWNvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzVweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmRlZjk7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmFjdGl2ZSwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5wYXktY29sIHtcbiAgICB3aWR0aDogNi4yJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuZGF0ZS1jb2wge1xuICAgIHdpZHRoOiAyMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnRpbWUtY29sIHtcbiAgICB3aWR0aDogOC41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE4LjElOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5hbW91bnQtY29sIHtcbiAgICB3aWR0aDogMTAuOCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmNvbnRhY3QtY29sIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuLnNpdGUtbGlzdC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoKFcIjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxuICAgICAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG4gIGNvbG9yOiAjMTI4MTFmOyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuZmFpbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GqXCI7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMudW5rbm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BmVwiO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLmNhbmNlbGxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KjVwiO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLmluLXByb2dyZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SQXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYW5pbWF0aW9uOiBzcGlubmVyIDEuNXMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmRhdGEtdGltZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnB1Ymxpc2gtaGlzdG9yeSAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0Ym9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0Ym9keSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkLnNpdGUtbG9nby1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCAuY29sLWxhYmVsIHtcbiAgd2lkdGg6IDQwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRoLnNpdGUtbG9nby1jb2wge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ci5zdGFnaW5nLXNpdGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIHtcbiAgICB3aWR0aDogMTEycHg7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgbWFyZ2luOiAycHg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28gLmltYWdlLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyBhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgaHIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIGhyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZGVzY3JpcHRpb24gYSB7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZGVzY3JpcHRpb24gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGguc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24sIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGljZW5zZS1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAucHVibGlzaGluZy1jb2wge1xuICAgIHdpZHRoOiAxMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zdGFydGVkLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5lbmRlZC1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGFzdC10b3VjaC1jb2wge1xuICAgIHdpZHRoOiAxNDVweDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGJ1dHRvbiwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NHB4OyB9XG5cbi5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lci5zdGFnaW5nLXNpdGUgLnNpdGUtbG9nbyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2Uge1xuICAgICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2UsIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgaHIge1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiA+IHNwYW4ge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiArIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiwgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA3NHB4OyB9XG5cbi8qXHJcbi0tLS0tIENNUyBTdHlsaW5nIC0tLS0tLSBcclxuLSBTdHlsZSBmb3IgdGhlIGFjdHVhbCBjbXMgcGFnZXMgdGhlbXNlbHZlczpcclxuICAtIENNUyBFbnRyeVxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBDTVMgU2VyaWVzXHJcbi0gQ01TIGVudHJ5IGNvbnRyb2xzXHJcbi0gQ01TIG1vZHVsZVxyXG4tIENNUyBjb250ZW50IGNvbnRhaW5lciwgdGhpcyBnZXQgdXNlZCB0aHJvdWdob3V0IGV4cHJlc3MgZm9yIHZhcmlvdXMgcGllY2VzIG9mIGNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGluIHRoZSB2bWFkbWluJ3MgY21zIHN5c3RlbSB0aGVzZSBibG9jayBvZiBjb250ZW50IGNhbiBsaXRlcmFsbHkgYmUgYW55d2hlcmUgKCBoZWFkaW5ncyBmb3IgcGFnZXMsIGluIHRoZSBmb290ZXIsIGFqYXggcmVzcG9uc2VzICkuXHJcbiovXG4uZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW46IDMwcHgtMjBweCwgMCBhdXRvIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLmNtcy1jb250ZW50LWNvbnRhaW5lciBwLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLWludHJvIHAsIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM3YjdiN2I7IH1cblxuLmRpc3BsYXktY21zLXNlcmllcyB7XG4gIG1hcmdpbjogMjVweCAwIDA7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBhOmhvdmVyIGgzLCAuZGlzcGxheS1jbXMtc2VyaWVzIGE6aG92ZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNmYjZmMjEpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuZW50cnktY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzIC5lbnRyeS1jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmV2ZW50cyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZXZlbnRzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNlbGwge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcyAuY2VsbDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNlbGwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDA7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jZWxsIGEge1xuICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY2VsbCBhIHtcbiAgICAgICAgcGFkZGluZzogNDVweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1iYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNvbnRlbnQtY29udGFpbmVyIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCB7XG4gICAgaGVpZ2h0OiA1MzBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwge1xuICAgICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuY29udGVudC1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTcwcHg7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIHtcbiAgICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMzVweCA0NXB4OyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jb250ZW50LWJhbm5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgbWFyZ2luOiAwIDAgMTdweDsgfVxuXG4ucHVibGlzaC1kYXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLnJlYWQtbW9yZS1hbmNob3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlYWQtbW9yZS1hbmNob3Ige1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfSB9XG4gIC5yZWFkLW1vcmUtYW5jaG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMjVweCAzMHB4IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHggNzBweDsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLm5ld3MtYXJ0aWNsZSAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+HqlwiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmV2ZW50IC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GzXCI7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuYmxvZy1wb3N0IC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KGXCI7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lci5pbmZvcm1hdGlvbi5zdHlsZS0xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICBvcGFjaXR5OiAwLjM7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmcgaDEge1xuICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDEgMXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDU6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2QwZDBkMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICAgIGdhcDogMTBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5ID4gaW1nIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2VtYmVkXCJdIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgdGgsIHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZm9ybSBmaWVsZHNldCBoMiB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuYmFja2dyb3VuZC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXNlY3Rpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogNzglO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAucHVibGlzaC1kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC50YWdnaW5nLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC50YWdnaW5nLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDA7IH0gfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0sIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvoblcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAwIDVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSksIC5jbXMtY29udGVudC1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiA0MHB4IDAgMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cnktbmF2aWdhdGlvbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uY21zLWVudHJpZXMtY29udHJvbHMsIC5lbnRyaWVzLWljb24tY29udHJvbHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAubGFiZWwsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbiwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b24ge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246aG92ZXIsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGJveC1zaGFkb3c6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246YWN0aXZlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpiZWZvcmUsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIBcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLm5leHQtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgIG1hcmdpbi1sZWZ0OiAxcHg7IH1cblxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4IDA7XG4gIG1hcmdpbjogMTVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMzBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6YWN0aXZlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6YWN0aXZlOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpkaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnlbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmRpc2FibGVkOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzVjNWM1YzsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpkaXNhYmxlZDpob3ZlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCAXCI7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHggMTBweCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpob3ZlcjphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTphY3RpdmU6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM1YzVjNWM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpkaXNhYmxlZDphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuZGlzYWJsZWQ6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQ6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAyMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDM1cHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmhvdmVyLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jbXMtZW50cnktYmFjay1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246YWN0aXZlLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpkaXNhYmxlZCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5kaXNhYmxlZCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNWM1YzVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uc2l0ZS1tYXAge1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG4gIC5zaXRlLW1hcCA+IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5zaXRlLW1hcCA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6b25seS1jaGlsZCB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7IH1cbiAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpob3ZlciBhOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnNpdGUtbWFwIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gYSwgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IGE6YmVmb3JlLCAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMzVweCAwIDI1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLXdpbnRlcnN0b2tlXCI7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIC5zaXRlLW1hcCB1bCAucGFyZW50IC5jaGlsZCB7XG4gICAgICBwYWRkaW5nOiA3cHggMDsgfVxuICAgICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgLmNoaWxkID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnNpdGUtbWFwIC5wYXJlbnQgYTpob3ZlciwgLnNpdGUtbWFwIHVsIC5jaGlsZCA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNpdGUtbWFwIC5wYXJlbnQgYTphY3RpdmUsIC5zaXRlLW1hcCB1bCAuY2hpbGQgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMTgzYWQzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5iYWNrLXRvLWluZm9ybWF0aW9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDIzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzVweCk7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uIHtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhY2stdG8taW5mb3JtYXRpb246aG92ZXIsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFjay10by1pbmZvcm1hdGlvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFjay10by1pbmZvcm1hdGlvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246YWN0aXZlLCAuYmFjay10by1pbmZvcm1hdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uOmRpc2FibGVkLCAuYmFjay10by1pbmZvcm1hdGlvbi5kaXNhYmxlZCwgLmJhY2stdG8taW5mb3JtYXRpb25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246ZGlzYWJsZWQ6aG92ZXIsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA4LCAyMDgsIDIwOCwgMC43KTsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMnB4IDAgNDFweDsgfVxuICAuY21zLWNvbnRhaW5lciBwIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDE6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzA3MWU4MztcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDM6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDU6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2QwZDBkMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgb2wge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDAgMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDEge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDMsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDYsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3MgaDIge1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyAuYW1vdW50LXBhaWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgcCB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCAuYW1vdW50LXBhaWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5jZW50ZXItY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIHtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoMiwgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoMywgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoNCwgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoNSB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5ndXR0ZXIteSB7XG4gIG1hcmdpbjogMTJweCAwIDQxcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5wYWdlLWhlYWRpbmctY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMCAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIubm8tc2lkZS1wYWRkaW5nIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZSB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICB3aWR0aDogMTAwJTsgfVxuXG5hIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkpOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGFbY2xhc3MqPVwiLWJ1dHRvblwiXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgdGFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3B1cE92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDAwMDsgfVxuICAjcG9wdXBPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7IH1cblxuI3BvcHVwQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcG9wdXBDb250YWluZXIge1xuICAgICAgd2lkdGg6IDg0MHB4OyB9IH1cbiAgI3BvcHVwQ29udGFpbmVyLnN0YW5kYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCAuY29udGVudENvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNwb3B1cENvbnRhaW5lciBsZWdlbmQge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfVxuICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3BvcHVwQ29udGFpbmVyIGZvcm0ge1xuICAgICAgICB3aWR0aDogNzQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICBwYWRkaW5nOiAxM3B4IDEwcHg7IH1cbiAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICNwb3B1cENvbnRhaW5lciAucG9wdXBCdXR0b25Db250YWluZXIgLnBvcHVwQ2xvc2VCdXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NoZWNrb3V0Rm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbiNjaGVja291dEZvcm0gLmNoYW5nZURldGFpbHMge1xuICBtYXJnaW46IDVweCAwIDE1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzcsIDk2LCAxNzgsIDAuMik7IH1cblxuI2NoZWNrb3V0Rm9ybSAuY2hlY2tvdXQtZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDsgfVxuICAjY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMDsgfVxuXG4jY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciB7XG4gIG1hcmdpbjogNzVweCAwIDA7IH1cbiAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyICNjaGVja291dFN1Ym1pdEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzFlODM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNSk7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuXG4jZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWF4LWhlaWdodDogODAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIGgxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNzAuNHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIGgxOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmNGZmJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCAzMCwgMTMxLCAwLjUpO1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC41KTtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0Nsb3NlOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA3MWU4MztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC41KTtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2U6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpOyB9XG5cbiNjaGFuZ2VEZXRhaWxzLnN1Y2Nlc3MgaDIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1OyB9XG5cbiNhY2NvdW50UG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3Rlcm1zIHtcbiAgbWFyZ2luOiA1MHB4IDAgMDsgfVxuXG4jZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICNkZWxpdmVyeURldGFpbHNDb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG5cbiNkZWxpdmVyeUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jZGVsaXZlcnlVcGdyYWRlQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnZhbGlkYXRpb25FcnJvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmRlbGl2ZXJ5LW9wdGlvbiB7XG4gIHdpZHRoOiAyNjBweCAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1jb21wbGV0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuI2JpbGxQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZWRpdC5jaGVja291dFBvcHVwTGluayB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIHAsIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIGgyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyOmhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXI6aG92ZXIgLnF1YXRlcm5hcnktYnV0dG9uOm5vdCg6aG92ZXIpIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDI1cHggMCAwOyB9IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzQ2NzhlMjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfSB9XG5cbi5lcnJvckNvbnRhaW5lci5wb3N0Y29kZUxvb2t1cFNlbGVjdENvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZGVsaXZlcnktcmVhZC1vbmx5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXHJcbi0tLS0tIDQwNCAtLS0tLS0gXHJcbi0gQXJlIHlvdSBsb3N0PyBcclxuKi9cbi5lcnJvci1ub3QtZm91bmQtbG9nbyB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTIuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTA1cHg7IH0gfVxuXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzQwNC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDkwcHggMzBweDsgfVxuXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDkwdnc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogODAwcHg7IH0gfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogNjIuNXB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDEyNXB4IDAgMDsgfSB9XG5cbi8qXHJcbi0tLS0tIExpZ2h0IGJveCAgLS0tLS1cclxuLSBUaGlzIGdldCBkaXNwbGF5ZWQgb24gcHJvZHVjdCBwYWdlcyB0byBkaXNwbGF5IHRoZSBmdWxsIHJlc29sdXRpb24gcHJvZHVjdCBpbWFnZXMuXHJcbkZ1bnRpb25hbGl0eSB0aGlzIGhvbGRzOlxyXG4tIExpZ2h0IGJveCBhY3RpdmUgLyBpbmFjdGl2ZSBzdGF0ZXMuXHJcbi0gVGhlIG92ZXJsYXkgc3R5bGVzLlxyXG4tIEFkZGl0aW9uYWwgSW1hZ2VzLlxyXG4tIDM2MCBpbWFnZSBzdXBwb3J0LlxyXG4tIFRoZSBoZWFkZXIgdGhhdCBnZXRzIGdlbmVyYXRlZC5cclxuLSBWaWRlbyBwbGF5ZXIuXHJcbiovXG4jbGlnaHRib3gtb3ZlcmxheS5hY3RpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDAuNztcbiAgei1pbmRleDogMTAwMDA7IH1cblxuLmxpZ2h0Ym94IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAubGlnaHRib3guYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmxpZ2h0Ym94LmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI2xpZ2h0Ym94LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgzYWQzO1xuICB6LWluZGV4OiA1MDAwOyB9XG4gICNsaWdodGJveC1oZWFkZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY291bnQge1xuICAgIG9yZGVyOiAxO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiA3cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY291bnQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcbiAgICBvcmRlcjogNDsgfVxuXG4jbGlnaHRib3gtY29udGVudC1vdXRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDA7IH1cblxuI2xpZ2h0Ym94LWNvbnRlbnQtaW5uZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnJlZWwtb3ZlcmxheSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaW1hZ2UubGlnaHRib3gtZW5hYmxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MnlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDIycHg7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5pbWFnZS5saWdodGJveC1lbmFibGVkOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmI2ZjIxO1xuICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cblxuLmxpZ2h0Ym94ICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG8gMTVweDsgfVxuXG4ubGlnaHRib3ggLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5saWdodGJveCAucmVlbC1vdmVybGF5IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4ubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1saWdodGJveC1oZWFkZXItaGVpZ2h0KSAtIDEwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIGFsaWduLXNlbGY6IGF1dG87XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMDBweCk7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogODV2aDsgfSB9XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlLmlzLXZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZS5pcy12aWRlbyB7XG4gICAgICAgICAgICB3aWR0aDogNjB2dzsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlIGltZywgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlICNsaWdodGJveC12aWRlby1wbGF5ZXIge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYsXG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2OmJlZm9yZSxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2OmJlZm9yZSxcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSxcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSxcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYuZGlzYWJsZWQsXG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0LmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAycHggMDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIBcIjsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMnB4IDJweDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIFcIjsgfVxuXG4ubGlnaHRib3ggLnNsaWRlc0NvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IC0yMHB4IDZweCA2MHB4IC0xM3B4ICMwMDAwMDA7IH1cblxuLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDsgfSB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC15IC5wc19fdGh1bWIteSB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC43KTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpIHtcbiAgICAgICAgICBmbGV4OiBpbmhlcml0OyB9IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIC5wc19fcmFpbC14IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXggLnBzX190aHVtYi14IHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC43KTsgfVxuXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuMik7IH1cblxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4zKTsgfVxuXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaW1hZ2UtbWFnbmlmaWNhdGlvbi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24gLm1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDcxZTgzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbC5kZS1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CQXCI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjlwiOyB9XG5cbi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cbi5jYXJvdXNlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM4Zjk1YTU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsIC5ieC12aWV3cG9ydCwgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1mYWRlIC5ieC12aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIC0tbW9kdWxlLWd1dHRlcjogNTBweDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDQwJSAtIDEwcHgpIGNhbGMoNjAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIG9yZGVyOiAxOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IGE6Zmlyc3QtY2hpbGQge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmltYWdlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSkge1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIGEsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxOHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDA7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogdW5zZXQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24ge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICNkMGQwZDBiMzsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzA3MWU4Myk7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjZDBkMGQwYjM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmRlc2NyaXB0aW9uIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24gcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucmVhZC1tb3JlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnJlYWQtbW9yZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuc3BlY2lmaWNhdGlvbiBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnNwZWNpZmljYXRpb24gcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnNwZWNpZmljYXRpb24gcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvZGUge1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlIC5jdXJyZW5jeSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSAuY3VycmVuY3ksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAudmF0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gZm9ybSwgW2RhdGEtYnhTbGlkZXJdIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmFkZFRvQmFza2V0Lmljb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuYWRkVG9CYXNrZXQuaWNvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24ge1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5mYXZvdXJpdGVzQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCB7XG4gIG1heC13aWR0aDogODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgIHdpZHRoOiA4MHB4OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ieC1zZXBlcmF0b3IgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV0gKyAuY29sbGVjdGlvbi1pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgei1pbmRleDogMTsgfVxuICAuYngtdmlld3BvcnQgPiBkaXYge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5baWQkPVwiLWNhcm91c2VsLWNvbnRhaW5lclwiXSB7XG4gIGZsZXg6IDE7IH1cblxuLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDMwcHg7IH1cbiAgLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9sczpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LXByZXYge1xuICAgIHJpZ2h0OiAzNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9sczpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LW5leHQge1xuICAgIGxlZnQ6IDM2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9scy5sYXJnZUNvbnRyb2xzIC5ieC1wcmV2IHtcbiAgICByaWdodDogMjcuNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHMubGFyZ2VDb250cm9scyAuYngtbmV4dCB7XG4gICAgbGVmdDogMjcuNXB4OyB9IH1cblxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICAgIGhlaWdodDogNTVweDsgfSB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7IH0gfVxuXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlLFxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjNkZWcpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00M2RlZyk7IH0gfVxuXG4uY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgb3BhY2l0eSAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH0gfVxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5ieC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87IH1cblxuLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uc21hbGwtd2lkZS1jb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIFcIjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5ieC1jb250cm9scy5kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbi5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzA3MWU4MztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbiAgICAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwNzFlODM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH0gfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIFcIjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXB4OyB9IH1cblxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5ieC1wcmV2IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LXByZXYge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ieC1uZXh0IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LW5leHQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxXCJdIHtcbiAgLS1jb2x1bW5zOiAxOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIyXCJdIHtcbiAgLS1jb2x1bW5zOiAyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIzXCJdIHtcbiAgLS1jb2x1bW5zOiAzOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcbiAgLS1jb2x1bW5zOiA0OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI1XCJdIHtcbiAgLS1jb2x1bW5zOiA1OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI2XCJdIHtcbiAgLS1jb2x1bW5zOiA2OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI3XCJdIHtcbiAgLS1jb2x1bW5zOiA3OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI4XCJdIHtcbiAgLS1jb2x1bW5zOiA4OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI5XCJdIHtcbiAgLS1jb2x1bW5zOiA5OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMFwiXSB7XG4gIC0tY29sdW1uczogMTA7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjExXCJdIHtcbiAgLS1jb2x1bW5zOiAxMTsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTJcIl0ge1xuICAtLWNvbHVtbnM6IDEyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xuICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDUwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCA1MHB4KTsgfSB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSA+ICoge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuMik7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM5NTk1OTU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICBhbmltYXRpb246IHNwaW4gMC43cyBjdWJpYy1iZXppZXIoMC41NiwgMC4xMSwgMC4yMiwgMC44NjUpIDBzIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIC5jb2xsZWN0aW9uLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IC5jb2xsZWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmJ4LXBhZ2VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDsgfSB9XG4gICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhmOTVhNTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xuLnNsaWRlciB7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuc2xpZGVyOmhvdmVyIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYwNjc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnNsaWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXI6YWN0aXZlIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7IH1cbiAgLnNsaWRlci5zbGlkZXItaW52YWxpZCAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuXG4udWktc2xpZGVyLWhhbmRsZSB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnVpLXNsaWRlci1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDE7IH1cbiAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWM0MTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC51aS1zbGlkZXItcmFuZ2UudWktc2xpZGVyLXJhbmdlLW1pbjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWF4OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpZGVyLWVycm9ycyB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnNsaWRlci1lcnJvcnMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuXG5bZGF0YS10b29sdGlwXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogaGVscDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SpXCI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDhweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjVlMDU7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhJFcIjsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDhweCk7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiA4cHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDhweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogdW5zZXQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gOHB4KTsgfVxuICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnRvb2x0aXAtY29udGVudCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmI2ZjIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpLCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGEsIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4vKlxyXG4tLS0tLSBSZWFkIG1vcmUgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBSZXZlYWxpbmcgYWRkaXRpb25hbCBtYXJrdXAsIHRoaXMgY2FuIGluY2x1ZGUgdGV4dCBvciBpbWFnZXMuXHJcbi0gSG93IHRoZSBmYWRlIC8gZ3JhZGlhbnQgZ2V0cyB1c2VkIHdoZW4gY3V0dGluZyBvZiB0aGUgb3ZlcmZsb3dpbmcgY29udGVudC5cclxuKi9cbi5yZWFkLW1vcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJlYWQtbW9yZS5jb250YWluZXItY2FsY3VsYXRpb24td2FpdGluZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG4gIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWRNb3JlQnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44czsgfVxuICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDI0cHg7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZWFkLW1vcmUgLnJlYWRNb3JlQnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoJ5cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50IDBweCwgIzAwMDAwMCA1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5tb2JpbGUtb25seSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XG4gICAgbWFzay1pbWFnZTogdW5zZXQ7IH0gfVxuXG4ucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gIG1hc2staW1hZ2U6IHVuc2V0OyB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IHZhcigtLXJlYWQtbW9yZS1saW5lLWNsYW1wKTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgfVxuICAucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkgLnJlYWQtbW9yZS1jb250ZW50LmNvbnRlbnQtdHJ1bmNhdGUtZW5hYmxlZCA+IHAgKyBwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZWFkLW1vcmU6bm90KFtybS1pZF0pIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXHJcbi0tLS0tIEF1dG8gQ29tcGxldGUgKCBQcmVkaWN0aXZlIFNlYXJjaCApIC0tLS0tLSBcclxuVGhlIGRyb3Bkb3duIHlvdSBzZWUgd2hlbiB5b3Ugc3RhcnQgdHlwaW5nIGluIGEgcXVlcnkgd2l0aGluIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiovXG4jaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gIHBhZGRpbmc6IDExMHB4IDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2hlYWRlclNlYXJjaEZvcm0gLmFjLXJlc3VsdHMgPiB1bCB7XG4gICAgICB3aWR0aDogNzAwcHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgNiU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgei1pbmRleDogNTAwMDA7IH0gfVxuXG4uYWMtcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjLXJlc3VsdHMge1xuICAgICAgei1pbmRleDogMjAwMDAxOyB9IH1cbiAgLmFjLXJlc3VsdHMuc2Nyb2xsZXIgPiB1bCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5hYy1yZXN1bHRzID4gdWwsIC5hYy1yZXN1bHRzIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC5hYy10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbDpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFjLXRpdGxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwIDE1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4uYWMtaXRlbS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmFjLWl0ZW0tbGlzdC5jb2x1bW4gLmFjLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hYy1pdGVtLWxpc3QuY29sdW1uIC5hYy1pdGVtIHtcbiAgICAgICAgZmxleDogMSAwIDUwJTsgfSB9XG4gIC5hYy1pdGVtLWxpc3Q6bm90KC5jb2x1bW4pIC5hYy1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYWMtaXRlbS1saXN0LnJvdyAuYWMtaXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4uYWMtaXRlbSB7XG4gIG1hcmdpbjogMCAwIDVweDsgfVxuICAuYWMtaXRlbTpob3ZlciBhIHNwYW4ge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmFjLWl0ZW0gLmltYWdlLCAuYWMtaXRlbSAuYWMtaXRlbS1tdWx0aW1lZGlhLWNvbnRlbnQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgfVxuICAuYWMtaXRlbSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYWMtaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDsgfVxuICAgIC5hYy1pdGVtIGEgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hYy1pdGVtIC5hYy1pdGVtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxOyB9XG4gIC5hYy1pdGVtIC5pdGVtLXJlZmVyZW5jZSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAuYWMtaXRlbSAuaXRlbS1zbmlwcGV0IHtcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2ggKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyLmFjdGl2ZSAuYWMtcmVzdWx0cyB7XG4gIG1heC1oZWlnaHQ6IDkwMHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1jb250YWluZXIuYWN0aXZlIC5hYy1yZXN1bHRzIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH0gfVxuXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAuYWMtcmVzdWx0cyB7XG4gIG1heC1oZWlnaHQ6IDBweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9IH1cbiAgLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgdWwgbGk6bGFzdC1jaGlsZCAuYWMtaXRlbS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uc2Ege1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBtYXJnaW46IDMwcHggYXV0byAxNXB4OyB9XG4gIC5zYS13YXJuaW5nIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBzY2FsZVdhcm5pbmcgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG4gICAgLnNhLXdhcm5pbmc6YWZ0ZXIsIC5zYS13YXJuaW5nOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLnNhLXdhcm5pbmc6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuc2Etd2FybmluZzphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuc2Etd2FybmluZy1ib2R5IHtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG4gICAgLnNhLXdhcm5pbmctZG90IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDdweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgLnNhLWVycm9yIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlRXJyb3JJY29uIC41czsgfVxuICAgIC5zYS1lcnJvcjphZnRlciwgLnNhLWVycm9yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB3aWR0aDogNjBweDsgfVxuICAgIC5zYS1lcnJvcjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAwIDAgNDBweDtcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgdG9wOiAtMTdweDtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuc2EtZXJyb3I6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xuICAgICAgbGVmdDogMzBweDtcbiAgICAgIHRvcDogLTExcHg7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDYwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluOyB9XG4gICAgLnNhLWVycm9yLXgge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnNhLWVycm9yLXBsYWNlaG9sZGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgbGVmdDogLTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5zYS1lcnJvci1maXgge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnNhLWVycm9yLWxlZnQsIC5zYS1lcnJvci1yaWdodCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgICB0b3A6IDM3cHg7XG4gICAgICB3aWR0aDogNDdweDsgfVxuICAgIC5zYS1lcnJvci1sZWZ0IHtcbiAgICAgIGxlZnQ6IDE3cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBhbmltYXRpb246IGFuaW1hdGVYTGVmdCAuNzVzOyB9XG4gICAgLnNhLWVycm9yLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhSaWdodCAuNzVzOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSxcbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgMTAwJSxcbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZUVycm9ySWNvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlWExlZnQge1xuICAwJSxcbiAgNjUlIHtcbiAgICBsZWZ0OiA4MnB4O1xuICAgIHRvcDogOTVweDtcbiAgICB3aWR0aDogMDsgfVxuICA4NCUge1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiAzM3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDE3cHg7XG4gICAgdG9wOiAzN3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlWFJpZ2h0IHtcbiAgMCUsXG4gIDY1JSB7XG4gICAgcmlnaHQ6IDgycHg7XG4gICAgdG9wOiA5NXB4O1xuICAgIHdpZHRoOiAwOyB9XG4gIDg0JSB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgdG9wOiAzM3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9XG4gIDEwMCUge1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHRvcDogMzdweDtcbiAgICB3aWR0aDogNDdweDsgfSB9XG5cbkBrZXlmcmFtZXMgc2NhbGVXYXJuaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAzMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9IH1cblxuLmNoZWNrX21hcmsge1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBtYXJnaW46IDMwcHggYXV0byAxNXB4OyB9XG5cbi5zYS1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgIzEyODExZjtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6ICMxMjgxMWY7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlLFxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMTIwcHggMCAwIDEyMHB4O1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IC0zM3B4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gIHRvcDogLTExcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDBweCA2MHB4OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLXBsYWNlaG9sZGVyIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtNHB4O1xuICB0b3A6IC00cHg7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtZml4IHtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI4cHg7XG4gIHRvcDogOHB4O1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MuYW5pbWF0ZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcXDk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgXFw5OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgXFw5OyB9XG5cbi5hbmltYXRlU3VjY2Vzc1RpcCB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NUaXAgMC43NXM7IH1cblxuLmFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NMb25nIDAuNzVzOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDY1JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDM1cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDQ3cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDM4cHg7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA1NCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNzAlIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHRvcDogMzdweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGxlZnQ6IDIxcHg7XG4gICAgdG9wOiA0OHB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiA0NXB4OyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUge1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGxlZnQ6IDE0cHg7XG4gIHRvcDogNDZweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xuICB3aWR0aDogNDdweDtcbiAgcmlnaHQ6IDhweDtcbiAgdG9wOiAzOHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuLypcclxuLS0tLS0gTm90aWZpY2F0aW9ucyAoIENhbGxvdXRzICkgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBPbiBwYWdlIG5vdGljYXRpb25zICggbm8gaXRlbXMgZm91bmQgKSBcclxuLSBIZWFkZXIgbm90aWZpY2F0aW9ucy5cclxuLSBDb29raWUgbm90aWZpY2F0aW9uLlxyXG4tIENhbGxvdXRzICggdGhpbmdzIHRoYXQgc2xpZGUgb3V0IGZyb20gdGhlIGVkZ2VkIG9mIGEgd2luZG93ICkgXHJcbi0gTm8gSmF2YXNjcmlwdCBub3RpZmljYXRpb25cclxuLSBCcm93c2VyIGNvbXBhdGlibGl0eSBub3RpZmljYXRpb24gXHJcblxyXG4qL1xuLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgaDUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMzVweDtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGg1OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbikge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbi5jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5hbGVydCBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC53YXJuaW5nIGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbFcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLnN1Y2Nlc3MgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jYWxsb3V0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2FsbG91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OTk7IH1cbiAgLmNhbGxvdXQtY29udGFpbmVyLnNpZGUgLmNhbGxvdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7IH1cbiAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZmNWUwNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgaDUge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgaDUgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5vbi1wYWdlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ub24tcGFnZS1ub3RpZmljYXRpb24ge1xuICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwIDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcbiAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0zIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBwLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBwLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNkMGQwZDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpiZWZvcmUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuXG4ubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg1LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBwLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBwLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuXG4uaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg1LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cblxuI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cbiAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gcCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxLCAxLCAwLjkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IGgzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cblxuLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAyMDAwOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDNzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4OyB9IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IGF1dG8gMTJweCBhdXRvIDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24taWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAxMHB4IGF1dG8gMDsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIGltZyB7XG4gICAgICB3aWR0aDogNDBweDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWJhc2lzOiAxODBweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDE3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMnMsIG1heC1oZWlnaHQgMC44czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAwLjZzLCBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDEge1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDE6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyOm9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDM6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwICsgcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgdWwge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgbGkge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDIsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgzLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNCwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg2LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgZGwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUge1xuICAgICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS10cmlnZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlcjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlcjphY3RpdmUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlci5hY3RpdmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5wd2Ege1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDYwYjI7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29va2llIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NCwgMTc0LCAxNzQsIDAuOSk7IH1cblxuLypcclxuXHJcbi0tLS0gSW1hZ2UgT3ZlcmxheXMgLS0tLSBcclxuXHJcbkltYWdlIG92ZXJsYXlzIGZvciBlc3NlbnRpYWxseSBoaWdobGlnaHRlZCBpdGVtczpcclxuLSBTcGVjaWFsIE9mZmVyc1xyXG4tIEZlYXR1cmVkIEl0ZW1zXHJcbi0gQmVzdCBTZWxsZXJzXHJcbi0gUHJldmlvdXNseSBQdXJjaGFzZWRcclxuXHJcblRoZXNlIG5vcm1hbGx5IGFyZSB0aGUgc2l6ZSBvZiB0aGUgcHJvZHVjdCBpbWFnZSB3aGV0aGVyIGl0cyBvbiBhIGxpc3Rpbmcgb3IgcHJvZHVjdCBwYWdlIHdpdGggYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG5cclxuV2UgYWxsb3cgZm9yIGRpZmZlcmVudCBpbWFnZXMgdG8gYmUgZGlzcGxheWVkIGlmIGEgZ3JvdXAgaXMgbWFya2VkIGFzIGEgaGlnaGxpZ2h0ZWQgaXRlbSBvciB3aGV0aGVyIGl0cyBhbiBpbmRpdmlkdWFsIHByb2R1Y3QuXHJcblxyXG4qL1xuI3NwZWNpYWwtb2ZmZXJzIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2ZlYXR1cmVkLWl0ZW1zIC5vdmVybGF5LnN0b2NrLmZlYXR1cmVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jYmVzdC1zZWxsZXJzIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250ZW50LWNvbnRhaW5lcjpub3QoLmNvbXBhY3QpIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbiNtYWluSW1hZ2VDb250YWluZXIgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaW1hZ2U6aGFzKGltZ1tzcmMkPVwiLnBuZ1wiXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmltYWdlOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gICAgLmltYWdlIGltZ1tzcmMkPVwiLnN2Z1wiXSwgLmltYWdlIGltZ1tzcmMkPVwiLlNWR1wiXSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuaW1hZ2UgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbWFnZSAub3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuc3BlY2lhbE9mZmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLXNwZWNpYWwtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5mZWF0dXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLXNwZWNpYWwtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWZlYXR1cmVkLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suYmVzdFNlbGxlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5wcmV2aW91c2x5LXB1cmNoYXNlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLXByZXZpb3VzbHktcHVyY2hhc2VkLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5jb250cmFjdC1pdGVtIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9wcm9kdWN0L3Nhc2gtY29udHJhY3QtaXRlbS5wbmdcIik7IH1cblxuW2RhdGEtY291bnRkb3duLXRpbWVdIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lciBwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmNvdW50ZG93bi1jb250YWluZXIgcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgN3B4IDAgMDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgLmNvdW50ZG93bi1kaXNwbGF5LCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCB7XG4gIG1hcmdpbjogMCA1cHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNvdW50ZG93bi1jb250YWluZXIgLmNvdW50ZG93bi1kaXNwbGF5ICsgLmRpc3BsYXktbGFiZWwsIC5jb3VudGRvd24tY29udGFpbmVyIC5kaXNwbGF5LWxhYmVsICsgLmRpc3BsYXktbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz1hbGVydF0gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPXdhcm5pbmddIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuZGlzcGxheS1sYWJlbCB7XG4gIGNvbG9yOiAjZmI2ZjIxO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyLmNvdW50ZG93bi1pbmFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24tYWN0aXZlIHtcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDVzOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBQV0EgKCBQcm9ncmVzc2l2ZSBXZWIgQXBwbGljYXRpb24gKSAtLS0tLSBcclxuLSBJbnN0YWxsYXRpb24gcHJvbXB0LlxyXG5cclxuKi9cbi8qXHJcbi0tLS0tIFBheW1lbnQgTWV0aG9kcyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEhvdyBwYXltZW50IG1ldGhvZHMgc3VjaCBvZiBvcGF5byBpZnJhbWUgbG9va3MgaW4gdGhlIGNoZWNrb3V0LlxyXG4qL1xuLnBheW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSk6aGFzKC5jb250YWluZXItcmVzaXplZCkge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Qge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWluLWhlaWdodDogNTA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkMGQwZDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2QgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSNvcGF5by1pZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDI3cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQuc21hbGwge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50Lm1lZGl1bSB7XG4gICAgICB3aWR0aDogMzkwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQubGFyZ2Uge1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiA2MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmV4dHJhLWxhcmdlIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudCBpZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuZm9ybSArIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyOm9ubHktY2hpbGQgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9jYXJkLXBheW1lbnQuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLnBheXBhbCAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9wYXlwYWwuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmdvb2dsZS1wYXkgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMTE1cHg7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9nb29nbGUtcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5hcHBsZS1wYXkgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9hcHBseS1wYXkuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50Lm9wYXlvIHtcbiAgICAtLWNvbnRhaW5lci1mb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAtLWNvbnRhaW5lci1mb250LXNpemU6IDFyZW07XG4gICAgLS1jb250YWluZXItbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5jb250cm9sLmNoZWNrYm94LmNoZWNrYm94IC5jaGVja2JveCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCAubGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbnRhaW5lci1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWNvbnRhaW5lci1mb250LXNpemUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbnRhaW5lci1saW5lLWhlaWdodCk7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIgKyAucGF5bWVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQ0MHB4ICsgMjBweCk7IH0gfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciBpZnJhbWUge1xuICAgIGJvcmRlcjogMDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheXBhbC1idXR0b24ge1xuICAgIG1heC13aWR0aDogMzQwcHg7IH1cblxuLmNhcmQtZnJhbWUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKipcclxuXHJcbi0tLS0gU29jaWFsIE1lZGlhIEljb25zIC0tLS0gXHJcblxyXG5XaGVyZSB0aGVzZSBnZXQgdXNlZDpcclxuLSBPbiB0aGUgcHJvZHVjdCBwYWdlIHRvIHNoYXJlIGEgc2t1IG9uIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nOlxyXG4gICAgLSBGYWNlYm9va1xyXG4gICAgLSBUd2l0dGVyXHJcbiAgICAtIExpbmtlZEluIFxyXG4gICAgLSBFbWFpbFxyXG4tIEluIHRoZSBmb290ZXIgdG8gdGFrZSB0aGUgdXNlciB0byB0aGUgb3JnYW5pc2F0aW9uJ3Mgc29jaWFsIG1lZGlhIHBhZ2VzXHJcbi0gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbiAgICAtIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuICAgIC0gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG5cclxuKiovXG4uc29jaWFsLWljb25zLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG5cbi5zb2NpYWwtaWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5zb2NpYWwtaWNvbnMucHJvZHVjdCwgLnNvY2lhbC1pY29ucy5tb2R1bGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnNvY2lhbC1pY29ucy5yZXZpZXcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7IH1cbiAgLnNvY2lhbC1pY29ucy5mb290ZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYSB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5zb2NpYWwtaWNvbnMgYSB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyAsIG9wYWNpdHkgMC44czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzICwgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuc29jaWFsLWljb25zIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2s6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi746eXCI7IH1cbiAgICAuc29jaWFsLWljb25zIGEudHdpdHRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLumJtcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg6FcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74WtXCI7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAuc29jaWFsLWljb25zIGEueW91dHViZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhadcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1czpiZWZvcmUsIC5zb2NpYWwtaWNvbnMgYS5nb29nbGVfcGx1czpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg5VcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5lbWFpbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnM7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1uZXh0LXRvLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUuYWN0aXZlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDBkMGQwOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk1OTU5NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HoFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cblxuLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQ6ICMwNzFlODM7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZDBkMGQwIDUlLCAjMzMzMzMzIDY1JSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBsYWJlbC5jb250cm9sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogNXB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgaDIge1xuICAgIG1hcmdpbjogMCAwIDAgMCAyMHB4LTEwcHg7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTsgfSB9XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgYmFja2dyb3VuZDogIzA3MWU4MztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNkMGQwZDAgNSUsICMzMzMzMzMgNjUlKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cblxuLnBpY2stbi1taXgtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoNCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDQgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAucGljay1uLW1peC1oZWFkZXIgcCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG5cbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogNy41cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnNsaWRlciB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTcuNXB4IDA7IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5zZWxlY3RlZC1jb3VudCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLmZvcm0tZXJyb3Ige1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBtYXJnaW4tcmlndGg6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNmZmVjNDE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3IDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5waWNrLW4tbWl4LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXG5jYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cy5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAudG9wLWJhci51cHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaSwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmZpcnN0LWNoaWxkLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmxhc3QtY2hpbGQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAudG9wLWJhciAubWVudSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRvcC1iYXIgLm1lbnUgPiBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAgIC50b3AtYmFyIC5tZW51ID4gbGkgYTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9wLWJhciAubWVudSBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudG9wLWJhciAubWVudSBsaTpmaXJzdC1jaGlsZCA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmZpcnN0LWNoaWxkID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6bGFzdC1jaGlsZCA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpOmhvdmVyLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpOmhvdmVyID4gYSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6YWN0aXZlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAudG9wLWJhciAubWVudSBsaTphY3RpdmUgPiBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTphY3RpdmUgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkgYSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA3LjVweCAxNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpIGE6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhmOTVhNTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2ctcGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7IH0gfVxuXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7IH0gfVxuXG4uc2ctaGVhZGluZyB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAuc2ctaGVhZGluZyBoMiB7XG4gICAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLnNnLWludHJvIHtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNnLXN1Yi1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLXN1Yi1oZWFkaW5nIGgzIHtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5zZy1zdWItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zZy1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMGYwZjA7IH1cblxuLnNnLWRlbW8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2ctZGVtby1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHAsXG4gIC5jc3MtcHJvcGVydHktdmlldyBwIHtcbiAgICBtYXJnaW46IDNweCAwOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgbGksXG4gIC5jc3MtcHJvcGVydHktdmlldyBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaXRlbS1pbmZvLWxhYmVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgLml0ZW0taW5mby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1pdGVtLXNlcGVyYXRvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNlbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuc2ctY29sb3VyLXBhbGV0dGUgLmdyaWQtY29sbGVjdGlvbi14Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5jb2xvdXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAuY29sb3VyLWJsb2NrOmhvdmVyIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbG91ci1ibG9jayAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sb3VyLWJsb2NrIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91ci1oZXgtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I3YjdiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgzYWQzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDYwYjI7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwYjM7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC01IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY0ZGIwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhmOTVhNTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDAwN2I7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2LTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMDNhMGY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNi0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNjMTNmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MwMDAwMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMDAwMDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMjAyMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjQwNDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy01IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2MDYwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODA4MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmEwYTA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy04IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZmJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTEwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmVmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNTc5YTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjY1YjI7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I3M2M4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0ODVjZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzk2ZDY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy01IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODVhOGRkOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlkYjllNDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNmNiZWI7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy04IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkY2YxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZWVmODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTEwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNmZjOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWM0MTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVlNTQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMDY3OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjI3YTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0OGQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy01IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNmEwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjdiMzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YzY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy04IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmQ5OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmRlYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTEwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWY2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EyMzRlMzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYjQ4ZTY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjU1ZGU5OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlNzFlYjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzg1ZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy01IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDE5YWYxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhYWVmNDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2MyZjc7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy04IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNkNmY5OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZWJmYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTEwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmNWZlOyB9XG4gIC5jb2xvdXItYmxvY2sgLnN1Y2Nlc3MtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmOyB9XG4gIC5jb2xvdXItYmxvY2sgLndhcm5pbmctY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFsZXJ0LWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAuY29sb3VyLWJsb2NrIC5wcmljZS1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7IH1cbiAgLmNvbG91ci1ibG9jayAuc2F2aW5nLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjsgfVxuICAuY29sb3VyLWJsb2NrIC5ycnAtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zZy1idXR0b25zIC5zZy1jb21wYXJpc29uLXRhYmxlIC5hY3Rpb24tYnV0dG9uIHtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgfVxuXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tdHlwZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi10eXBlICsgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXN0eWxlIHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLnNnLXF1YW50aXR5LXNlbGVjdG9ycyAucHJvZHVjdC1ncmlkLW1vZHVsZSB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuLnNnLWNhbGxvdXRzIC5jYWxsb3V0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2ctY29tcGFyaXNvbi10YWJsZSB0aDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGQgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbiN0YWJsZS1vZi1jb250ZW50cy1zdGlja3ktY29udGFpbmVyIC5zdGlja3kge1xuICB6LWluZGV4OiAyOyB9XG5cbi50YWJsZS1vZi1jb250ZW50cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtb2YtY29udGVudHMge1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfSB9XG4gIC50YWJsZS1vZi1jb250ZW50cyAuaGVhZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzOyB9XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5oZWFkaW5nIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMge1xuICAgICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjZzIGVhc2UtaW47IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzY1OyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlLW91dDsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC42cyBlYXNlLWluOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC40cyBlYXNlLW91dDsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIFRoaXMgc3R5bGVzIHRoZSBleGFtcGxlIHJvd3MgdXNlZCBpbiB0aGUgZ3JpZCBkb2N1bWVudGF0aW9uLiAqL1xuLmdyaWQteC5kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQteC5kaXNwbGF5IC5jZWxsOm50aC1jaGlsZCgyKSxcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5zbWFsbC1jZW50ZXJlZCxcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5sYXJnZS1jZW50ZXJlZCB7XG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7IH1cblxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmNvbG9yLWVuZCB7XG4gIGJhY2tncm91bmQ6ICNkNGQ0ZDQ7IH1cblxuLnNnLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIHBhZGRpbmc6IDJyZW07IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7IH1cblxuLnNnLXNpZGUtbWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lci5wYWRkZWQge1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4uc2ctc2lkZS1tZW51IGEge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbjsgfVxuXG4uc2ctc2lkZS1tZW51IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi5zZy1zaWRlLW1lbnUgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMxNDY4YTA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5zZy1zaWRlLW1lbnUubWVudSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfVxuXG4vKlxyXG4tLS0tLSBBZG1pbiAtLS0tLVxyXG5UaGlzIHdpbGwgcG90ZW50aWFsIGhhbmQgdm1BZG1pbiB2Mi5cclxuKi9cbi52bWFkbWluLWVkaXRvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC52bWFkbWluLWVkaXRvci5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAudm1hZG1pbi1lZGl0b3IuaW5saW5lLWVkaXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC0zMHB4OyB9XG4gICAgICAudm1hZG1pbi1lZGl0b3IuaW5saW5lLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMuYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAudm1hZG1pbi1lZGl0b3IgLmNrLWNvbnRlbnQuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUgPiBwIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnZtYWRtaW4tZWRpdG9yIC5jay1jb250ZW50LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NCwgMTc0LCAxNzQsIDAuOSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7XG4gICAgei1pbmRleDogMTAwMDAwOyB9XG4gICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIC5hZG1pbi1idXR0b246YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIC5hZG1pbi1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yICsgZGl2IHtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5wcm9wZXJ0eS1lZGl0b3ItdHJpZ2dlcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDEzJzsgfVxuXG4uY29udGVudC1lZGl0b3ItdHJpZ2dlcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDQ0JzsgfVxuXG4uZWRpdG9yLXNhdmUtYnV0dG9uLmlubGluZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGM3JzsgfVxuXG4uZWRpdG9yLWNhbmNlbC1idXR0b24uaW5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMGQnOyB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgLm9mZi1jYW52YXMtaGVhZGluZyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTZweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub2ZmLWNhbnZhcy1oZWFkZXIgLm9mZi1jYW52YXMtaGVhZGluZyB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIGgyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgcCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi8qXHJcbi0tLS0tIEFjY29yZGlvbiBUYWJzIC0tLS0tLSBcclxuLSBUT0RPOiBUaGUgbmFtaW5nIGNvbnZlbnRpb25zIG5lZWQgdG8gYmUgcmUtd3JpdGVuIGF0IHNvbWUgcG9pbnQgYXMgdGhpcyB3YXMgb3JpZ2luYWxseSBidWlsZCBmb3Igb24gYmVpbmcgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIGhlbnNlIHRoZSB2ZXJ5IHNwZWNpZmljIG5hbWluZyBvZiBpZCdzIGFuZCBjbGFzc2VzLlxyXG4tIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBiYXNlZCBvbiBGb3VuZGF0aW9uJ3MgUmVzcG9uc2l2ZSBBY2NvcmRpb24gVGFicyBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvcmVzcG9uc2l2ZS1hY2NvcmRpb24tdGFicy5odG1sXHJcbi0gVGhlIHN0eWxpbmcgZm9yIHByb2R1Y3QgdGFiYmVkIG5vdGVzIGlzIGRlZmluZWQgaGVyZVxyXG4gIC0gQXR0YWNobWVudHNcclxuICAtIFNwZWNpZmljYXRpb24nc1xyXG4gIC0gUmV2aWV3c1xyXG4gIC0gQ29tcG9uYW50cy5cclxuXHJcbiovXG4ucmVzcG9uc2l2ZS10YWJzLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5yZXNwb25zaXZlLXRhYnMtY29udHJvbHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLWhlYWRlciAuYWNjb3JkaW9uLXRvZ2dsZS1hbGwtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIZcIjtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDcxZTgzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogN3B4OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJ5cIjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lci5jb21wb25lbnQtcmVhZHkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnJlc3BvbnNpdmUtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5yZXNwb25zaXZlLXRhYnM6aGFzKC50YWJzLnZlcnRpY2FsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEge1xuICAgICAgbWFyZ2luOiA1cHggMCAwOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwgdGFibGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1yb3c6IDM7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMjBweCA1cHg7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGU6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEgLmZvdW5kLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDE4cHggODBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyknOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUsIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwgdGFibGUsIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHRhYmxlIHRyIHRkLCAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRkLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0ZCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdWwsXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzA3MWU4MztcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwNzFlODM7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCB7XG4gIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgKyBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgKyBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDIge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgZGwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgZGwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgZGwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgZGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHA6bm90KDplbXB0eSkgKyB0YWJsZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRoLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0ZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIHRib2R5IHRoLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0ciwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgLmNvbC1sYWJlbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLm5vLXdyYXAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50YWJzLXBhbmVsIC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50IC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5LCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSAuY29sLWxhYmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUubm8td3JhcCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAuZGVzY3JpcHRpb24tY29sLCAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAucmVmZXJlbmNlLWNvbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIC5kZXNjcmlwdGlvbi1jb2wsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAucmVmZXJlbmNlLWNvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwICFpbXBvcnRhbnQ7IH1cbiAgLnRhYnMudmVydGljYWwge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy52ZXJ0aWNhbCB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICAudGFicyAudGFicy10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6ghlwiOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gnlwiO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYWNjb3JkaW9uLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFjY29yZGlvbi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3QgLmFjY29yZGlvbi10aXRsZSAudGl0bGUge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5hY2NvcmRpb24ucmFkaW8taW5kaWNhdG9ycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74aSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFjY29yZGlvbi5yYWRpby1pbmRpY2F0b3JzIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+GklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7IH1cbiAgLmFjY29yZGlvbi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQgLmFjY29yZGlvbi1pdGVtOm9ubHktY2hpbGQgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNjb3JkaW9uLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCAuYWNjb3JkaW9uLWl0ZW06b25seS1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudDphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNjBiMjsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQ2MGIyOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICBjb2xvcjogIzVjNWM1YztcbiAgICAgIGN1cnNvcjogbm8tZHJvcDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUuZGlzYWJsZWQgLnRpdGxlLWljb24ge1xuICAgICAgICBvcGFjaXR5OiAuNDsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gnlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgLnRpdGxlLWljb24ge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmFjY29yZGlvbiBhLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgIC5hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCGXCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06bm90KC5pcy1hY3RpdmUpOmxhc3QtY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG5cbi5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hdHRhY2htZW50cy1jb250YWluZXIgdWwgbGkge1xuICAgICAgZmxleDogMSAwIDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGZsZXg6IDEgMCAzMyU7IH0gfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhZtcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGNvbG9yOiAjMDQwMDdiO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYnJvY2h1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6IHJnYmEoNywgMzAsIDEzMSwgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC51c2VyLWd1aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WbXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSg3LCAzMCwgMTMxLCAwLjYpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnBhcnRzLWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAud29yZDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmRvY3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMyYjU3OWE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucG93ZXJwb2ludDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucHB0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjZDAzYTBmOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmV4Y2VsOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy54bHMnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScueGxzeCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eDXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzA3MWU4MzsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wZGY6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBkZiddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eBXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmNzdjpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuY3N2J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvm51cIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDcsIDMwLCAxMzEsIDAuOSk7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaW1hZ2UtYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuanBnJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBuZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5naWYnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScud2VibSddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eFXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC52aWRlby1hdHRhY2htZW50OmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5tb3YnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubXA0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4hcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnppcDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuemlwJ106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjZmI2ZjIxOyB9XG5cbi8qXHJcbi0tLS0tIFN0aWNreSAtLS0tLS0gXHJcblN0aWNreSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgYnVpbGQgb250b3Agb2YgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3N0aWNreS5odG1sLlxyXG5cclxuW0lNUE9SVEFOVF0gLSBUaGlzIENTUyBpcyBub3QgZm9yIHRoZSBiYXNrZXQgc3VtbW1hcnkgb3IgdGhlIGhlYWRlciBwbGVhc2UgdmlldyBoZWFkZXIuc2NzcyBhbmQgYmFza2V0LnNjc3MgZm9yIHRoYXQuXHJcbiovXG4uc3RpY2t5IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnN0aWNreS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuNnM7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuOHM7IH1cbiAgLnN0aWNreS5lbGVtZW50LW5vdC1pbi12aWV3cG9ydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5XSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLXN0aWNreS1jb250YWluZXJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LXNpZGUtYnV0dG9ucyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgdWwge1xuICAgICAgICBnYXA6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGkgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMTBweDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgICBoZWlnaHQ6IDEyOHB4OyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogIzA3MWU4MzsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjNWM1YzVjOyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYS5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24uZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM1YzVjNWM7IH1cblxuLypcclxuLS0tLS0gTGlzdCBTb3J0aW5nIE9wdGlvbnMgIC0tLS0tXHJcbi0gSG9sZHMgdGhlIHN0eWxlcyBmb3IgdGhlIGZvbGxvd2luZzogXHJcbiAgLSBQcm9kdWN0IGxpc3QocylcclxuICAtIEFjY291bnQgYXJlYSBzb3J0aW5nICggaGlzdG9yaWNhbCB0cmFuc2FjdGlvbnMsIGNhbGwgc3lzdGVtLCBvcmRlcnMgKVxyXG4tIFRoZSBmb2xsb3dpbmcgY29tcG9uZW50cyB3aWxsIGJlIGZvdW5kIGhlcmU6IFxyXG4gIC0gTGlzdCBpdGVtIGNvdW50XHJcbiAgLSBTb3J0IGJ5IFxyXG4gIC0gRmlsdGVycyB0b2dnbGUgKCBJZiBvcGVuaW5nIGEgcG9wdXAgKVxyXG4gIC0gVmlldyBzd2l0Y2hlciAoIEdyaWQgb3IgVGFibGUgKVxyXG4gIC0gUGFnaW5hdGlvbiBcclxuICAtIEl0ZW1zIHBlciBwYWdlLlxyXG4qL1xuLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jb250cm9sIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNvbnRyb2wgLmxhYmVsIHtcbiAgd2lkdGg6IDE2MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY29udHJvbCAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jb250cm9sIC5sYWJlbCB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyID4gZGl2LCAubGlzdC1zb3J0LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtb3B0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+VrVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiAuYnV0dG9ucy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDEycHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogMTBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHtcbiAgICAgIG1heC13aWR0aDogNDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMjE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDEwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwge1xuICAgICAgICAgIGdhcDogMCA1cHg7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CKXCI7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+Ai1wiOyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgKyAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciArIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTAuMjZweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgcGFkZGluZzogMTAuMjZweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAucGFnaW5hdGlvbi1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDIzJTsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuQVhJU1BhZ2VOdW1iZXJpbmcgYSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMC4yNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGE6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhOmFjdGl2ZSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZCwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZCwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZDpob3ZlciwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZDpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5BWElTUGFnZU51bWJlcmluZyAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5BWElTUGFnZU51bWJlcmluZyAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wYWdpbmF0aW9uTGFiZWwsIC5wYWdpbmF0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKipcclxuXHJcbi0tLS0gTWFuYWdlIENhbGxzIC0tLS0gXHJcblxyXG4tIEZvcm1hbGx5IGtub3cgYXMgdGhlIGNhbGwgcG9ydGFsIGJlZm9yZSBpdCBnb3QgZW1iZWRkZWQgaW4gZXhwcmVzcywgbWFuYWdlIGNhbGxzIGlzIGFjY291bnQgZnVuY3Rpb25hbGl0eSB0aGF0IGRpc3BsYXlzIGNhbGxzIGluIGEgbGlzdCBpbiBleHByZXNzLlxyXG4tIFN0eWxlcyBpbmNsdWRlZCBoZXJlOiBcclxuICAtIExpc3QgZm9yIGNhbGwgbGlzdCArIGV2ZW50cyBsaXN0LlxyXG4gIC0gRW5xdWlyeSBzdW1tYXJ5LlxyXG4gIC0gQ2FsbCByYXRpbmcgZm9udHMuXHJcbiAgLSBTdGlja3kgYnV0dG9ucyBpY29ucy5cclxuKiovXG4uZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH0gfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC52YWx1ZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmVucXVpcnktaGVhZGVyLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyLnBhZ2UtdmlldyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgd2lkdGg6IDIyLjVweDtcbiAgaGVpZ2h0OiAyMi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLnJhdGluZy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5yYXRpbmctaW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWNhbm5vdC1yYXRlLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuMTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wLnVucmF0ZWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdW5yYXRlZC5zdmdcIik7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy12ZXJ5LWJhZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMiAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1iYWQuc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTMgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctYXZlcmFnZS5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tNCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1nb29kLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi01IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXZlcnktZ29vZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLmljb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW8ge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLnJhZGlvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW86YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IC43OyB9XG5cbi5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5sb3cge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktbG93LnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLm1lZGl1bSB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1tZWRpdW0uc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24uaGlnaCB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1oaWdoLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmNyaXRpY2FsIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWNyaXRpY2FsLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDIyLjVweDtcbiAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11cmdlbmN5LWltYWdlLXVybCk7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1iYWNrLXRvLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLlcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLXJlcXVlc3QtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gu1wiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtYWRkLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC8XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1jcmVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLpcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG50YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUuZW5xdWlyeS10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlLmVucXVpcnktdGFibGUge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogMTJweDsgfSB9XG4gICAgdGFibGUuY2FsbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVucmVhZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC51bnJlYWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgd2lkdGg6IDkwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIGEge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICB3aWR0aDogOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jdXN0b21lci1uYW1lLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY3VzdG9tZXItbmFtZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgLnN1YmplY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgIHdpZHRoOiA1NSU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDIzLjclO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMS41JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY3JlYXRlZC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY3JlYXRlZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNyZWF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubGFzdC11cGRhdGVkLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCB7XG4gICAgICB3aWR0aDogNy43JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnJhdGluZy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnJhdGluZy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5yYXRpbmctY29sIHtcbiAgICAgIHdpZHRoOiA2JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVyZ2VuY3ktY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnVyZ2VuY3ktY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51cmdlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnR5cGUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC50eXBlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDclO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zb3VyY2UtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zb3VyY2UtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc291cmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5kYXRhLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguZGF0ZS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHtcbiAgICAgIHdpZHRoOiAxNiU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubm90ZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLm5vdGVzLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jaGFuZ2VzLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2hhbmdlcy1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuZWxsaXBzaXMtdGV4dDpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcbiAgICBsZWZ0OiAtNXB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIGxhYmVsIHNwYW4uY2hlY2tib3gsIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5yYWRpbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgLmxhYmVsIHtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYWxsLXR5cGUtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2FsbC10eXBlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC10eXBlLWljb246YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAuY2FsbC10eXBlLWljb24uZGVtbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuY2FsbC10eXBlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC1wcml2YWN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLFcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2xhc3NpZmljYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6goFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6glVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250YWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJdcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY29udHJhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY3JlYXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCpXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmRlZmVycmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKhcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZXNjYWxhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCvXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmltcGFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCqXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCfXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluZm9ybWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK1cIjsgfVxuICAuY2FsbC10eXBlLWljb24ubGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCrXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5wcmlvcml0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCwXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gslwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLNcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc2xhLWluY2x1c2lvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC0XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnN0YXR1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCbXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVuZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gt1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi51cmdlbmN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLhcIjsgfVxuICAuY2FsbC10eXBlLWljb24ud29ya2Zsb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnVwiOyB9XG5cbi5jYWxsLXNvdXJjZS1pY29uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtc291cmNlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC1zb3VyY2UtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXNvdXJjZS1pY29uLmRlbW86YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi51c2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5wb3J0YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuXG4udGFibGUtaGVhZGluZyB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cbi5iYWNrLXRvcC1jb250YWluZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDcwcHg7XG4gIHotaW5kZXg6IDE1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYWNrLXRvcC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIGJvdHRvbTogOTBweDsgfSB9XG5cbi5iYWNrLXRvcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ghlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYmFjay10b3AtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIC5iYWNrLXRvcC1idXR0b246aG92ZXIsIC5iYWNrLXRvcC1idXR0b246aG92ZXIuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5iYWNrLXRvcC1idXR0b246aG92ZXI6YmVmb3JlLCAuYmFjay10b3AtYnV0dG9uOmhvdmVyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzA3MWU4MztcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YWN0aXZlOmJlZm9yZSwgLmJhY2stdG9wLWJ1dHRvbjphY3RpdmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZiNmYyMTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi8qXHJcbi0tLS0tIFNlY3Rpb25zIC0tLS0tIFxyXG5BeGlzIHRvZ2dsZXIgaXMgYnVpbGQgb24gdG9wIG9mIEZvdW5kYXRpb24ncyBUb2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwgYW5kIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL2FjY29yZGlvbi5odG1sIGJ1dCBzb21ldGltZXMgaXQgaXMgbm90IHBvc3NpYmxlIGNvbnZlbmllbnQgdG8gYnVpbGQgdGhlIHNlY3Rpb24ocykgaW4gPHVsPiBvciBpbiBkZXNrdG9wIHlvdSByZXF1aXJlIHRoZSBsYXlvdXQgdG8gYmUgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gbW9iaWxlLlxyXG4qL1xuLmF4aXMtc2VjdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCLuoIZcIjsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5heGlzLXNlY3Rpb24ucmV2ZWFsLWVuYWJsZWQ6bm90KC5hY3RpdmUpIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG4gICAgLmF4aXMtc2VjdGlvbi5yZXZlYWwtZW5hYmxlZDpub3QoLmFjdGl2ZSkgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjZzLCBwYWRkaW5nLWJvdHRvbSAwLjZzOyB9XG4gIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM1YzVjNWM7IH1cblxuLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cblxuLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmF4aXMtc2VjdGlvbi1jb250ZW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBFbGxpcHNpcyAtLS0tLSBcclxuV2hlbiB0aGUgY29udGVudCBpcyB0b28gbG9uZ2VyIHRvIGZpeCB3aXRoaW4gYSB0YWJsZSBjZWxsICggZm9yIGV4YW1wbGUgKSBhbGxvdyB0aGUgdXNlciB0byBzaG93IG92ZXJmbG93aW5nIHRleHQgYnkgaG92ZXJpbmcuXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgb25seSB3b3JrcyB3aXRoIHNpbmdsZSBsaW5lcyBvZiB0ZXh0LCBtdWx0aS1saW5lIHlvdSB3aWxsIG5lZWQgdG8gbG9vayBpbnRvIC0td2Via2l0LWxpbmUtY2xhbXAuXHJcbiovXG4uZWxsaXBzaXMtdGV4dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmVsbGlwc2lzLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbGxpcHNpcy10ZXh0IHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5lbGxpcHNpcy10ZXh0LmVsbGlwc2lzLWFjdGl2ZSB7XG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5lbGxpcHNpcy10ZXh0LmVsbGlwc2lzLWFjdGl2ZTpob3ZlciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLypcclxuLS0tLS0gQmx1ciAtLS0tLS0gXHJcblRoZSBlZmZlY3QgdGhhdCBnZXRzIGFwcGxpZWQgdGhlIGhlYWRlciwgbWFpbiAmIGZvb3RlciB3aGVuIGEgbW9kYWwgb3IgbWVudSBpcyBvcGVuLCBlc3NlbnRpYWxseSBibHVyJ3Mgb3V0IHRoZSBjb250ZW50IGluIHRoZSBiYWNrZ3JvdW5kIHdoZW4gc29tZXRoaW5nIGlzIG92ZXJsYXlpbmcgdGhlIHBhZ2UncyBtYWluIGNvbnRlbnQuXHJcbiovXG4uYmx1ciB7XG4gIC0tZGVmdXNlLWFuaW1hdGlvbjogZGVmdXNlQmx1ciAuM3MgZm9yd2FyZHM7XG4gIGZpbHRlcjogYmx1cigxMHB4KTtcbiAgYW5pbWF0aW9uOiBibHVyIDAuNnM7IH1cbiAgLmJsdXIuZGVmdXNlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMCk7XG4gICAgYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIDAuM3M7IH1cblxuQGtleWZyYW1lcyBkZWZ1c2VCbHVyIHtcbiAgMCUge1xuICAgIGZpbHRlcjogYmx1cigxMHB4KTsgfVxuICAyMCUge1xuICAgIGZpbHRlcjogYmx1cig4cHgpOyB9XG4gIDQwJSB7XG4gICAgZmlsdGVyOiBibHVyKDZweCk7IH1cbiAgNjAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICA4MCUge1xuICAgIGZpbHRlcjogYmx1cigycHgpOyB9XG4gIDEwMCUge1xuICAgIGZpbHRlcjogYmx1cigwcHgpOyB9IH1cblxuI3BhZ2VPdmVybGF5LCAuYmx1ci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMC4xOyB9XG5cbi8qXHJcblxyXG4tLS0tIFN0YXRpYyAtLS0tIFxyXG5EZWRpY2F0ZWQgc3BlY2lmaWNhbGx5IHRvd2FyZHMgdGhlIGxhbmRpbmcgcGFnZSBmb3IgdGhlIHN0YXRpYyBsYW5kaW5nIHBhZ2UgZm9yIGV4cHJlc3MuXHJcblxyXG4qL1xuLm1vZHVsZXMtdGVzdC1wYWdlLWhlYWRlciB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7IH1cblxuLnJvdy1iYWNrZ3JvdW5kLmdyaWQtY29udGFpbmVyIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwubW9kdWxlLWNvbnRyb2xzIHtcbiAgdG9wOiAzNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwubW9kdWxlLWNvbnRyb2xzIHtcbiAgICB0b3A6IDA7IH0gfVxuXG4ubW9kdWxlcy1jb250cm9sLXBhbmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kdWxlcy1jb250cm9sLXBhbmVsLnJvdy1jb250cm9scyB7XG4gICAgdG9wOiAwOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwubW9kdWxlLWNvbnRyb2xzIHtcbiAgICB0b3A6IDUwcHg7IH1cblxuLm1vZHVsZXMtY29udHJvbC1idXR0b25zIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgb3BhY2l0eTogMC41O1xuICB6LWluZGV4OiAyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA3MWU4MzsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbi5tb2R1bGUtaW5mbzpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjEyOSc7IH1cblxuLm1vZHVsZXMtaW5mby1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAzMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwMHB4OyB9IH1cbiAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLm1vZHVsZXMtaW5mby1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VlZWVlZTsgfVxuICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuZ2VuZXJhbC1pbmZvcm1hdGlvbi1wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzA3MWU4MzsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlZWVlZWU7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCB1bCB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDQsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg1LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24gLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgd2lkdGg6IDI5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjMTgzYWQzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogN3B4IDAgMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDAgMjVweDsgfSB9XG5cbi5zdG9ja2lzdC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NraXN0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLmhlYWRlci1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjM0Mzc1cmVtOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC50ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAudGVsZXBob25lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4ud2Vic2l0ZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCA0MHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgNXB4IDMwcHgpO1xuICBjb2xvcjogIzA3MWU4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZGVmOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2Vic2l0ZS1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC53ZWJzaXRlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uOmhvdmVyLCAud2Vic2l0ZS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTgzYWQzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC53ZWJzaXRlLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAud2Vic2l0ZS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC53ZWJzaXRlLWJ1dHRvbjphY3RpdmUsIC53ZWJzaXRlLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbjpkaXNhYmxlZCwgLndlYnNpdGUtYnV0dG9uLmRpc2FibGVkLCAud2Vic2l0ZS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7IH1cbiAgLndlYnNpdGUtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDVweDsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74+FXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjNGQ2MGIyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogNjB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cblxuLmludGVyYWN0aXZlLW1hcCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXA6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbi5vcmdhbmlzYXRpb24tY29udGFpbmVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLmludGVyYWN0aXZlLW1hcC1uby1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmluZm8td2luZG93LWFkZHJlc3MtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLmluZm8td2luZG93LWFkZHJlc3MsIC5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAudGVsZXBob25lIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC5pbmZvLXdpbmRvdy1hZGRyZXNzIGEsIC5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAudGVsZXBob25lIGEge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC5pbmZvLXdpbmRvdy1idXR0b24tY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKlxyXG4tLS0tLSBUcmVlIE1lbnUgLS0tLS1cclxuXHJcbiovXG4udHJlZS1tZW51IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50cmVlLW1lbnUgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC50cmVlLW1lbnUgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudHJlZS1tZW51IHVsIGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50cmVlLW1lbnUgdWwgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCGXCI7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50cmVlLW1lbnUgdWwgbGFiZWwgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwuYWN0aXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJ5cIjsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsLmFjdGl2ZSB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBoZWlnaHQgMC42czsgfVxuXG4udHJlZS1tZW51ID4gdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNi42NnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDcwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTphZnRlciB7XG4gICAgICB0b3A6IDIyLjVweDtcbiAgICAgIGxlZnQ6IDE2LjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMzIuNXB4O1xuICAgICAgICAgIGxlZnQ6IDgxLjVweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbGVmdDogMTEuNXB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMTdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMThweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0NXB4OyB9IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDExLjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgIHRvcDogMjIuNXB4O1xuICAgICAgICBsZWZ0OiAzNi41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDMyLjVweDtcbiAgICAgICAgICAgIGxlZnQ6IDU2LjVweDsgfSB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0zMy41cHg7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIC50cmVlLW1lbnUtcGFyZW50LmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtbWVudS1wYXJlbnQgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDI1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgdWwgdWwgbGkgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMi41cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTUuNXB4O1xuICAgIGxlZnQ6IDEyLjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50cmVlLW1lbnUuYXNzZXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAudHJlZS1tZW51LmFzc2V0cyA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5NWE1OyB9XG4gICAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MzsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlID4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUsIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAubGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLmFsZXJ0LXZhbHVlIC52YWx1ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIycHg7IH0gfVxuXG4udHJlZS1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24uYWxlcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG5cbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLuoIZcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDcxZTgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICBmb250LXNpemU6IDdweDsgfVxuICAudHJlZS1tZW51LWV4cGFuZC10b2dnbGUuYWN0aXZlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gnlwiOyB9XG5cbi8qXHJcbi0tLS0tIFJldmlld3MgLS0tLS0gXHJcbi0gSGFuZGxlcyBpbnRlcmZhY2luZyB3aXRoIHRoaXJkLXBhcnR5IHJldmlldyBhcGkncyBsaWtlIGZlZWZvLlxyXG4qL1xuLnJhdGluZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5yYXRpbmctY29udGFpbmVyIC5yZXZpZXctc3RhcnMge1xuICAgIG1hcmdpbjogMCAxMHB4IDA7IH1cbiAgICAucmF0aW5nLWNvbnRhaW5lciAucmV2aWV3LXN0YXJzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLnJhdGluZy1jb250YWluZXIgLnN0YXItZnVsbCwgLnJhdGluZy1jb250YWluZXIgW2NsYXNzKj1yYXRpbmctaWNvbl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAucmF0aW5nLWNvbnRhaW5lciAuc3Rhci1mdWxsOmJlZm9yZSwgLnJhdGluZy1jb250YWluZXIgW2NsYXNzKj1yYXRpbmctaWNvbl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjZmZlYzQxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3LWRldGFpbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5kaXNwbGF5LW5hbWUtY29udGFpbmVyIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmRpc3BsYXktbmFtZS1jb250YWluZXIgKyAubGFzdC11cGRhdGVkLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmRpc3BsYXktbG9jYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICM5NTk1OTU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmxpc3QtY291bnQtY29udGFpbmVyIHtcbiAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmxpc3QtY291bnQtY29udGFpbmVyIC5jdXJyZW50LXNob3dpbmctY291bnQge1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcGFnZXItY29udGFpbmVyICsgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIgLnNlcnZpY2UtcHJvdmlkZXItbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIgLmZlZWZvLWxvZ28ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2ZlZWZvLWxvZ28ucG5nXCIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAucmV2aWV3cy1wcm9kdWN0LXJldmlldy1hbGwtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuLnJldmlldy1zb2NpYWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucmV2aWV3LXNvY2lhbC1jb250YWluZXIgLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyICsgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uaGVscGZ1bC12b3Rlcy1jb250YWluZXIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk1OTU5NTsgfVxuICAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgLmhlbHBmdWwtdm90ZXMtZGlzcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74WkXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuXG4vKlxyXG4tLS0tLSBQYWdlIFNlY3Rpb24gQ29sb3VycyAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kLWNvbG91cnMgdG8gc3BlY2lmaWMgc2VjdGlvbnMgb24gc3BlY2lmaWMgcGFnZXMgYWNyb3NzIGV4cHJlc3MgdXNpbmcgdGhlIGJvZHkgaWQsIHNvIGEgcG90ZW50aWFsIGNvbmZpZyBjb3VsZCBsb29rIGxpa2UgdGhpczpcclxuXHJcbmhlYWRlci11c3AtYmFyOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSxcclxuICAgIHBhZ2VzOiAoXCJob21lcGFnZVwiKVxyXG4pXHJcblxyXG5UaGUgdG9wIGxldmVsIG1hcCBrZXkgaXMgdGhlIGNsYXNzIG9mIHRoZSBlbGVtZW50IHRoYXQgeW91IHdhbnQgdG8gZWZmZWN0IHRoZW4gaW5zaWRlIG9mIHRoYXQgaXMgdGhlIGNvbmZpZ3VyYXRpb24gaS5lIGJhY2tncm91bmQgY29sb3VyICsgd2hpY2ggcGFnZXMgdG8gYXBwbHkgdGhpcyB0byB3aGljaCBpcyBhIGxpc3Qgb2YgYm9keSBpZCdzLlxyXG4qL1xuLypcclxuXHJcbi0tLS0gU3RhciBSYXRpbmdzIC0tLS0gXHJcbkhhbmRsZXMgc3RhciByYXRpbmdzIGZvciBwcm9kdWN0cywgdGhpcyBzdXBwb3J0cyBwZXJzZW50YWdlIGJhc2VkIHJhdGluZywgaGVyZSBpcyBhbiBvdmVydmlldyBvZiB3aGF0IHRoaXMgd291bGQgbG9vayBsaWtlIGh0dHBzOi8vY29kZXBlbi5pby9maWxjcC9wZW4vUXZaVk9nIC5cclxuXHJcbiovXG4uc3Rhci1yYXRpbmdzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AhVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuYmFja2dyb3VuZC1zdGFycyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmJhY2tncm91bmQtc3RhcnMgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2Q2ZDZkNjsgfVxuICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1zdGFycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1zdGFycyBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZlYzQxOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1zdGFycy1jb250YWluZXIge1xuICAgIHdpZHRoOiA4MHB4OyB9XG4gICAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1zdGFycy1jb250YWluZXIgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZWM0MTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLnBlcmNlbnRhZ2UtYmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmJhY2tncm91bmQtYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuYmFja2dyb3VuZC1iYXIgLnBlcmNlbnRhZ2UtYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7IH1cbiAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmZvcmVncm91bmQtYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1iYXIgLnBlcmNlbnRhZ2UtYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVjNDE7IH1cblxuLmJyZWFrZG93bi1jb3VudC1jb250YWluZXIge1xuICB3aWR0aDogMzBweDsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MzsgfVxuXG4vKlxyXG4tLS0tLSBCYXJjb2RlIFNjYW5uZXIgLS0tLS0tIFxyXG5cclxuKi9cbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMTVweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjZmMjE7XG4gICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmhvdmVyOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uaG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmFjdGl2ZSwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICBib3JkZXItY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWN0aXZlOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzVjNWM1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDgsIDIwOCwgMjA4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQ6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzVjNWM1YzsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOCwgMjA4LCAyMDgsIDAuNyk7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGNXCI7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLmJhcmNvZGUtc2Nhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFyY29kZS1zY2FubmVyIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lciBjYW52YXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci5pcy1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA0OTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDFweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDMzMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAudG9vbHRpcC1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItcmVzcG9uc2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBJbWFnZSAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kIGltYWdlKHMpIHRvIHNwZWNpZmljIHBhZ2UgdHlwZXMgdXNpbmcgdGhlIGJvZHkgaWQsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb246XHJcblxyXG5ob21lcGFnZTogKFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZSA9PiBbIFJFUVVJUkVEIF0gVGhlIHVybCBvZiB0aGUgaW1hZ2UuXHJcbiAgICByZXBlYXQtYmFja2dyb3VuZCA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBuby1yZXBlYXQuXHJcbiAgICBiYWNrZ3JvdW5kLXNjYWxlID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIGNvdmVyLlxyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50cyA9PiBbIE9QVElPTkFMIF1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gPT4gWyBPUFRJT05BTCBdXHJcbilcclxuXHJcbiovXG4vKlxyXG4tLS0tLSBUYWdzIC0tLS0tXHJcblVzZWQgdG8gZGlzcGxheSBhIGNhdGFnb3Jpc2F0aW9uIG9mIGdyb3VwcyAvIGtleXdvcmRzLCB0aGlzIGlhIHByaW1hcmlseSB1c2VkIGluIHRoZSBjbXMgc3lzdGVtIGN1cnJlbnRseSBmb3IgZGlwbHNheSBuZXdzLCBibG9ncyAmIGV2ZW50J3MgYXJ0aWNsZXMuXHJcbiovXG4udGFnZ2luZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lci5hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyLmxpc3RpbmcgLnRhZ2dpbmctaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFncy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdzLWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZ2dpbmctaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4OyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnZ2luZy1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbS5yZW1vdmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG4vKlxyXG4tLS0tLSBBeGlzIFRvZ2dsZXIgLS0tLS1cclxuQnVpbGQgb250b3Agb2YgRm91bmRhdGlvbnMgdG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sLCB3ZSBuZWVkZWQgdG8gYWRkIGluIHNvbWUgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGZvciByZS10b2dnbGluZyBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY29udGVudCBhcmVhLlxyXG4qL1xuLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3RpdmUgLnRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAtMTsgfVxuXG4vKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgQ29sb3VycyAtLS0tLVxyXG5TaW1pbGFyIHRvIGF4aXMtc2VjdGlvbi1jb2xvdXJzIGEgY3VzdG9tIGNvbmZpZyBpcyBwcm92aWRlIHdoaWNoIGdldHMgbG9vcGVkIHRocm91Z2ggYXNzaWduaW5nIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IHRvIHRoZSByZWxpZXZlbnQgcGFnZXMuXHJcblxyXG5OT1RJQ0U6IEhhZCB0byBzZXQgdGhlICFpbXBvcnRhbnQgZmxhZyBvbiB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSBkdWUgdG8gZm91bmRhdGlvbiBlbmZvcmluZyB0aGF0IHRoZSBib2R5IGJhY2tncm91bmQgY29sb3VyIG11c3QgYmUgc2V0LlxyXG4qL1xuLypcclxuLS0tLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLS0tXHJcblxyXG5Qcm92aWRlcyBhbiBhcmVhIHRvIHBsYWNlIG9wdGlvbnMgKCBpLmUgYSBmb3JtIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgKSB3aGljaCB0aGVuIGdldHMgZmlsbGVkIGluIHRvIHVwZGF0ZSBtdWx0aXBsZSBwb2ludHMgb24gdGhlIHBhZ2UuXHJcblxyXG4qL1xuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDExMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmlucHV0LW51bWJlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmNvbnRyb2wuc2VhcmNoIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5jb250cm9sLnNlYXJjaCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDcxZTgzOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIC5sb29rdXAtb3B0aW9uLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbi5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiA0NXB4OyB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmZvcm0tZXJyb3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0OyB9IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1yZXNwb25zZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi8qIVxuICogYW5pbWF0ZS5jc3MgLSBodHRwczovL2FuaW1hdGUuc3R5bGUvXG4gKiBWZXJzaW9uIC0gNC4xLjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgQW5pbWF0ZS5jc3NcbiAqL1xuOnJvb3Qge1xuICAtLWFuaW1hdGUtZHVyYXRpb246IDFzO1xuICAtLWFuaW1hdGUtZGVsYXk6IDFzO1xuICAtLWFuaW1hdGUtcmVwZWF0OiAxOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2luZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0xIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS00cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3RlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7IH1cblxuQG1lZGlhIHByaW50LCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlX19hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmFuaW1hdGVfX2FuaW1hdGVkW2NsYXNzKj0nT3V0J10ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKiBBdHRlbnRpb24gc2Vla2VycyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zaGFrZVgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19zaGFrZVkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOyB9XG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7IH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpOyB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7IH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmFuaW1hdGVfX2hlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOyB9IH1cblxuLmFuaW1hdGVfX3N3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3RhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3dvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOyB9XG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpOyB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsgfVxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsgfVxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOyB9XG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTsgfVxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpOyB9IH1cblxuLmFuaW1hdGVfX2plbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5hbmltYXRlX19oZWFydEJlYXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG4vKiBCYWNrIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwOyB9XG5cbi8qIEJhY2sgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDsgfVxuXG4vKiBCb3VuY2luZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKiBCb3VuY2luZyBleGl0cyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOyB9XG5cbi8qIEZhZGluZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0OyB9XG5cbi8qIEZhZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0OyB9XG5cbi8qIEZsaXBwZXJzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyogTGlnaHRzcGVlZCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyogUm90YXRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG4vKiBSb3RhdGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuLyogU3BlY2lhbHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLmFuaW1hdGVfX2phY2tJblRoZUJveCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9fcm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0OyB9XG5cbi8qIFpvb21pbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOyB9XG5cbi8qIFpvb21pbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbi8qIFNsaWRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IH1cblxuLyogU2xpZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBBeGlzIEVsZW1lbnQgUHJpbnQgLS0tLS0gXHJcbkFsbG93cyB5b3UgdG8gc2VsZWN0IGFuIGVsZW1lbnQgdG8gYmUgcHJpbnRlZCBpbnNpZGUgb2YgdGhlIERPTS5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCBnZW5lcmFsIGZvcm1hdHRpbmcgb2YgdGV4dCB3aGVuIGluIHByaW50IHZpZXcgYW5kIHdoaWNoIGVsZW1lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGFzIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgdGhlbSB0byBiZSB0aGVyZS5cclxuXHJcbiovXG5AbWVkaWEgcHJpbnQge1xuICAucGUtbm8tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucGUtcHJlc2VydmUtYW5jZXN0b3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBbZGF0YS1heGlzLXN0aWNreV0sIFtkYXRhLXN0aWNreS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVucXVpcnktZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2FsbC10eXBlLWljb24sIC5jYWxsLXNvdXJjZS1pY29uIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIHRyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgdGQge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS1idXR0b25zLWNvbnRhaW5lciwgLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgb3ZlcmZsb3cteTogdW5zZXQgIWltcG9ydGFudDsgfSB9XG5cbi8qXHJcbi0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0tIFxyXG5TcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgc3R5bGluZyBmb3IgQVhJUyBEb2N1bWVudGF0aW9uLCB0aGVyZSB3aWxsIGJlIHNpbWlsYXJpdGllcyBiZXR3ZWVuIHRoaXMgY29kZSBhbmQgY21zIGNvbnRhaW5lcnMuXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggdGhlIGZvbGxvd2luZyBwYWdlIHR5cGVzOlxyXG4tLSBQcm9kdWN0c1xyXG4tLS0tIEJvb2tzXHJcbi0tLS0tLSBDaGFwdGVyc1xyXG4tLS0tLS0tLSBBcnRpY2xlc1xyXG4tLS0tLS0tLSBGdW5jdGlvbnNcclxuLS0tLS0tLS0tLSBBcnRpY2xlXHJcbiovXG4uZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgZ2FwOiAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDQyMHB4OyB9IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCAuZm9ybS1lcnJvciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDU3NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gbGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuc2l0ZS1zdHlsZSAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDIge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMwNzFlODMpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgKyAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBwYWRkaW5nOiA3cHggNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSAudG9vbHRpcC1jb250YWluZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBhIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjZmI2ZjIxKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciAuaW5kZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEge1xuICAgIG1hcmdpbjogMzVweCAwIDQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIHtcbiAgICAgICAgbWFyZ2luOiA0NXB4IDAgNTVweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMwNzFlODMpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzk1OTU5NTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzk1OTU5NTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMDcxZTgzKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSBpbWcsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHVsIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDVweCAyNXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB1bCBsaSB7XG4gICAgZmxleDogbm9uZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50IHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMxODNhZDM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5wcmludGVyLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ar1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQuZG9jdW1lbnRhdGlvbi1wdWJsaWMtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KsXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5kb2N1bWVudGF0aW9uLXN0YXRpc3RpY3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6Rs1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogIzA3MWU4MztcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lci5pbmRlbnRlZC1ydWxlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkLXJ1bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLXJ1bGU6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkLXJ1bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWZvb3Rlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWZvb3Rlci1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5NTk1OTU7IH1cblxuLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvoblcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAgNXB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMjVweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2QwZDBkMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIHtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgMCA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoNCwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoNSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgKyBoNiwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlW2NsYXNzKj1cImltYWdlLXN0eWxlLWJsb2NrXCJdIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIGltZyB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgcCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGxpLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciB0YWJsZSB0aGVhZCB0aCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDIsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgzLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDUsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg2LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBwLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBsaSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgYSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgdGFibGUgdGhlYWQgdGgsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHRhYmxlIHRib2R5IHRkIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7IH1cblxuLmRvY3VtZW50YXRpb24tbm90LXB1Ymxpc2hlZCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgdWwubWVudTpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbi5tZW51LmZ1bmN0aW9ucy1saXN0IHtcbiAgLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4OyB9IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZmZmZjsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjZmI2ZjIxKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhvdmVyID4gYSwgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIgPiBidXR0b246YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgI2ZiNmYyMSk7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSArIGJ1dHRvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICNmYjZmMjEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgbGkgYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgLmluZGV4IHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgLmxpbmstZGVzY3JpcHRpb24ge1xuICAgICAgZmxleDogMTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgPiBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgbGkge1xuICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBtYXJnaW46IDAgN3B4O1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24tY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAuc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gICAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciAubGFiZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZXZpc2lvbi1jb3VudC1jb250YWluZXIuc2VwZXJhdG9yIHNwYW46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5yZXZpc2lvbi1jb3VudC1jb250YWluZXIgc3BhbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gIC5yZXZpc2lvbi1pbmZvcm1hdGlvbi1jb250YWluZXIgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTsgfVxuXG4udGVjaG5pY2FsLWRvY3VtZW50YXRpb24tbGlzdC1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cblxuLmRvY3VtZW50YXRpb24tZGVtby1saW5rLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApOyB9XG5cbi5pbnNwZWN0LXByb21wdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5leHByZXNzLWNvbmZpZ3VyYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIC5jb25maWd1cmF0aW9uLXNlY3Rpb246bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIC5jb25maWd1cmF0aW9uLXNlY3Rpb24gLmF4aXMtc2VjdGlvbi1oZWFkZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG5cbi50ZWNobmljYWwtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAudGVjaG5pY2FsLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAudGVjaG5pY2FsLWxpc3QgLmhlYWRlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0YXRlLWNvbG91cik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgLnN0YXRlLmFjdGl2ZSB7XG4gICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZS5kaXNhYmxlZCB7XG4gICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC50ZWNobmljYWwtbGlzdCAua2V5LXZhbHVlLXBhaXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgLmtleS12YWx1ZS1wYWlyIC5uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm5ldXRyYWxpc2VkLWl0ZW1zIHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAubmV1dHJhbGlzZWQtaXRlbXMgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLm5hbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLm5hbWU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiPT5cIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02KTsgfVxuICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSAudmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi8qXHJcbi0tLS0tIENvbnRleHQgTWVudSAtLS0tLS0gXHJcbkVzc2VudGlhbGx5IGEgdG9vbGJhciAvIHRvb2xib3ggbWVudVxyXG4qL1xuLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHotaW5kZXg6IDE5OTU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyLmFjdGl2ZSwgLmNvbnRleHQtbWVudS1jb250YWluZXIuaXMtY2xvc2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAxOTk2OyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGksIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGksIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIHVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzOyB9IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmYjZmMjE7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmhvdmVyLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogNy41cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDQ1cHg7IH1cbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUgLm1lbnUtb3B0aW9uLWxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24tbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvdXIpO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvl71cIjsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0wIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0xIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0yIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWJsYWNrLWNvbG91cik7XG4gICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTMsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTQge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74KTXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnB1Ymxpc2hlZC5zdGF0ZS12YWx1ZS10cnVlIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnB1Ymxpc2hlZC5zdGF0ZS12YWx1ZS1mYWxzZSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5lZGl0LW1lbnUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CTXCI7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC10ZXh0IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BhFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5lZGl0LXByb3BlcnRpZXMgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5tb3ZlLXVwIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6TglwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5tb3ZlLWRvd24gLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pK4XCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmluc2VydC1iZWZvcmUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGQXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5pbnNlcnQtYWZ0ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wcm9tb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Au1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5kZW1vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74C8XCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmRlbGV0ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS1hcnRpY2xlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+CslwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hdWRpdC10cmFpbCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5pcIjsgfVxuXG4vKlxyXG4tLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS0tIFxyXG5FZGdlIGVmZmVjdCB3aGVyZSB0aGUgaXMgdHlwaWNhbGx5IDMgdG9uZXMgb2YgYSBzcGVjaWZpYyBjb2xvdXIgaW4gdGhlIGNvcm5lciBvZiBhIGVsZW1lbnQgLyBjb21wb25lbnQuXHJcblBvc3NpYmxlIGNsYXNzIGNvbmZpZ3VyYXRpb24gb3B0aW9uczpcclxuLSBPcGFjaXR5IGVudW1lcmF0aW9uICggSGlnaCwgTWVkaXVtLCBMb3cgKVxyXG4tIFBvc2l0aW9uIFRvcCArIEJvdHRvbSBMICYgUiBjb3JuZXJzXHJcblxyXG5Gb3IgYSBkZW1vbnN0cmF0aW9uIGdvIHRvIC9zdGF0aWMvZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXRlc3QuaHRtbFxyXG4qL1xuLmdyYWR1YXRlZC1jb2xvdXItZWRnZSB7XG4gIC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0OiB2YXIoLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodCwgNjBweCk7XG4gIHdpZHRoOiA2MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tMSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTZkZWcpOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tMiB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgzMDBweCArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogLjU2KSkpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTMge1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICBib3R0b206IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMzsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjY7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjM7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC4yOyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKlxyXG4tLS0tLSBBeGlzIFJpY2ggVGV4dCBFZGl0b3JzIC0tLS0tIFxyXG5CZXNwb2tlIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgd2hlbiBpbnRlcmdyYXRpbmcgd2l0aCB0aGlyZC1wYXJ0eSBlZGl0b3JzLlxyXG5cclxuR2VuZXJhbCBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHRvIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB3aGljaCBpcyB0aGUgY29tbW9uIGNvbnRhaW5lciB0aGF0IGdldHMgdXNlZCBhY3Jvc3MgYWxsIGVkaXRvcnMuXHJcbiovXG4uY2stYm9keS13cmFwcGVyIHtcbiAgei1pbmRleDogMjAyMTsgfVxuICAuY2stYm9keS13cmFwcGVyLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jay1lZGl0b3IgLmNrLWNvbnRlbnQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcbiAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogI2QwZDBkMDtcbiAgLS1jay1jb2xvci1iYXNlLWVycm9yOiAjYjIwYzBjO1xuICAtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLXRleHQ6ICMwMDAwMDA7IH1cblxuW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG4gIFtkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl06bm90KC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lcikge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7IH1cbiAgW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSA+IHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMSAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMSArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygyICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0yICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDMgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTMgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoNCAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNCArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNCAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYyg1ICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC01ICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1ICogMjVweCk7IH1cblxuLypcclxuXHJcbi0tLS0tIFZpZGVvIFBsYXllciAtLS0tXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciBlbWJlZGRpbmcgWW91dHViZSB2aWRlb3MgLyBCYW5uZXIgc2VyaWVzLiAvc3RhdGljL3ZpZGVvLXNlcmllcy5odG1sXHJcblxyXG5IYW5kbGVzOlxyXG4tIFRodW1ibmFpbCBwbGF5IGljb24uXHJcbi0gRHVyYXRpb24gZm9ybWF0dGluZy5cclxuLSBWaWRlbyBpbmRpY2F0b3IgdGV4dCAoIGNsaWNrIGhlcmUgdG8gd2F0Y2ggdmlkZW8gKVxyXG5cclxuKi9cbi52aWRlby1wbGF5ZXItY29udGFpbmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyOmhvdmVyIC5pbWFnZTphZnRlciB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5pbWFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bi1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgJdcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuZHVyYXRpb24tY29udGFpbmVyIC5sYWJlbCwgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuXG4vKlxyXG4gIE11bHRpbWVkaWEgRWxlbWVudFxyXG4gIFxyXG4gIEhhbmRsZXMgc3R5bGluZyBmb3IgdmlkZW8gcGxheWJhY2tcclxuXHJcbiovXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4udmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQHN1cHBvcnRzIG5vdCAoLWFwcGxlLXBheS1idXR0b24tc3R5bGU6IGluaGVyaXQpIHtcbiAgICAudmlkZW8uaXMtcmVhZHktdG8tcGxheTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bi1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAudmlkZW8ucmVwbGF5LXZpZGVvOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi742jXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH0gfVxuXG4uc291cmNlLXVuc3VwcG9ydGVkID4gdmlkZW8ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zb3VyY2UtdW5zdXBwb3J0ZWQgPiBpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLWZhbGxiYWNrXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbGxiYWNrLWVsZW1lbnQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuZmFsbGJhY2stZWxlbWVudC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQgaW1nIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUycHggMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuOCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IC5lcnJvci1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCBzcGFuLCAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCBkaXYge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICosIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKixcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTgxLjI1ZW0meGxhcmdlPTEwMGVtJnh4bGFyZ2U9MTIwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMzM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwO1xuICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzMzMzMzMztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44cztcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2M4YzhjODsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT1maWxlXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYiUyODE0OSwgMTQ5LCAxNDklMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTdlNzsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0gLyAyKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDI2cHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGhlaWdodDogMnJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZiNmYyMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuMThyZW07XG4gICAgaGVpZ2h0OiAxLjE4cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMwNzFlODM7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuNDFyZW07IH1cbiAgaW5wdXQ6ZGlzYWJsZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDAuNjhyZW07XG4gICAgaGVpZ2h0OiAwLjY4cmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjkxcmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMC45M3JlbTtcbiAgICBoZWlnaHQ6IDAuOTNyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjE2cmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAxLjY4cmVtO1xuICAgIGhlaWdodDogMS42OHJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuOTFyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg2LCA2LCA2LCAwKTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAxMywgMTMsIDApO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgdGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4LCA4LCA4LCAwKTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMwNzFlODM7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwNzFlODM7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwODIyOTU7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogZ3JheTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxMHB4OyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjYWVhZWFlLCAwIDE0cHggMCAjYWVhZWFlOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwMDAwLCAwIDE0cHggMCAjMDAwMDAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NTk1OTU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOTU5NTk1LCAwIDE0cHggMCAjOTU5NTk1OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxZTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA3MWU4MztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNzFlODM7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA3MWU4MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDcxZTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwNzFlODM7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDQwMDA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogNDAwMDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucG9zaXRpb24tbGVmdCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wb3NpdGlvbi1yaWdodCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXHJcbi0tLS0tIE1lbnVzIC0tLS0tXHJcblRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzIEkgYW0gc3RpbGwgbWlncmF0aW5nIGZyb20gYSBtYXNzaXZlIGJsb2Igb2YgY29kZSBlbWJlZGRlZCBpbiBoZWFkZXIuc2Nzcy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBEcm9wZG93bnNcclxuLSBEcmlsbCBkb3duc1xyXG4tIEFjY29yZGlvbnNcclxuLSBNZWdhIG1lbnVcclxuICAtIE1lZ2EgbWVudSBzZWUgbW9yZSBsaW5rLlxyXG4gIC0gRUJHIGltYWdlLlxyXG4qL1xuLm1lbnUtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tZW51LWhlYWRlciAubWVudS1oZWFkaW5nIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuLm1lbnUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4ubWVudSwgLmRyb3Bkb3duLm1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIsIC5tZW51IC5tZW51LWhlYWRlciwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjpob3ZlciwgLm1lbnUgLm1lbnUtaGVhZGVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5tZW51IC5tZW51LWhlYWRlciBwLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm1lbnUgLmNsb3NlLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgICAubWVudSA+IGxpID4gdWwgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsIHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgdWwge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5tZW51ID4gbGkgPiB1bCB1bCBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgdWwgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGkgPiBhOmFmdGVyIHtcbiAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTpob3ZlciA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTphY3RpdmUgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6ghlwiOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gnlwiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBsaW5lLWhlaWdodDogOHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgNXB4OyB9IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bCwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bCB7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBidXR0b246YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBidXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gnlwiO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby13aW50ZXJzdG9rZVwiO1xuICAgIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdIC5zdWJtZW51LCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSBhLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDVweDsgfSB9XG4gIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0sIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgI2ZmZmZmZik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA3MWU4Myk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDcxZTgzKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjZmZmZmZmKTsgfVxuICAgICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB1bCBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA3MWU4Myk7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjZmZmZmZmKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkgPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDcxZTgzKTsgfVxuICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICNmZmZmZmYpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA3MWU4Myk7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDcxZTgzKTsgfVxuICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICNmZmZmZmYpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzA3MWU4Myk7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjMDcxZTgzKTsgfVxuICAubWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5tZW51ID4gbGkgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAubWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFlODM7IH1cbiAgICAgIC5tZW51ID4gbGk6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH0gfVxuICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24sIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlICsgLmxpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuICAgIC5tZW51ID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzA3MWU4Myk7IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bDpub3QoLnN1Ym1lbnUpLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWw6bm90KC5zdWJtZW51KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gdWwgbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGkgYSwgLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLXdpbnRlcnN0b2tlXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gIC5tZW51LmRyb3Bkb3duIGxpID4gYSwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LCAuZHJvcGRvd24ubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5tZW51LmRyb3Bkb3duID4gbGk6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCksIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duID4gbGk6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1lbnUub24tcGFnZS1tZW51LCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzA3MWU4MzsgfVxuICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9IH1cbiAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAubWVudSAuaG9tZS1idXR0b246aG92ZXIsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAubWVudSAuaG9tZS1idXR0b246aG92ZXIgYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAubWVudSAuaG9tZS1idXR0b246YWN0aXZlIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246YWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uIGEsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b24gYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AlVwiO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIHBhZGRpbmcgMC44czsgfVxuICAubWVudSAuYWNjb3VudC1tZW51LCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuYWNjb3VudC1tZW51LCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51IGxpLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1lbnUgLmFjY291bnQtbWVudSBsaSA+IGEsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUgbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUgLmFjY291bnQtcGFnZSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IC5hY2NvdW50LXBhZ2UgPiBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1bnNldDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAxMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMTIpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGEsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHg7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAyMnB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA3MWU4MztcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWw6YWZ0ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIC5jdXJyZW5jeS1pY29uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCBhIC5jdXJyZW5jeS1pY29uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLuoJ5cIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8td2ludGVyc3Rva2VcIjtcbiAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzk1OTU5NTsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogIzA3MWU4MzsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kuZGlzYWJsZWQsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6YWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDcuNXB4KSAhaW1wb3J0YW50OyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpob3ZlciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIGEgLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlIGEgLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDcxZTgzOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpiZWZvcmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoIZcIjtcbiAgICAgICAgY29sb3I6ICM5NTk1OTU7IH0gfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgY29sb3I6ICNkMGQwZDBiMztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhmOTVhNTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06YWN0aXZlOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTphY3RpdmU6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4Zjk1YTU7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5tZW51LXNjcm9sbC1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLnN1Ym1lbnUge1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDQwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN1Ym1lbnUubGV2ZWwyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNzFlODM7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAuc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdWJtZW51ID4gbGkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgLnN1Ym1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIGxhc3QtbGluZTsgfSB9XG4gIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5tZWdhLW1lbnUtY29udGFpbmVyIHtcbiAgLS1tZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUge1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjFcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBjYWxjKCgxMzAwcHggLSAwcHgpIC8gMSkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIxXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMlwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGNhbGMoKDEzMDBweCAtIDE1cHgpIC8gMikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIyXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiM1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIGNhbGMoKDEzMDBweCAtIDMwcHgpIC8gMykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIGNhbGMoKDEzMDBweCAtIDQ1cHgpIC8gNCkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI0XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA0OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNVwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIGNhbGMoKDEzMDBweCAtIDYwcHgpIC8gNSkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI1XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA1OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNlwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIGNhbGMoKDEzMDBweCAtIDc1cHgpIC8gNikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA2OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIGNhbGMoKDEzMDBweCAtIDkwcHgpIC8gNykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI3XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA3OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiOFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIGNhbGMoKDEzMDBweCAtIDEwNXB4KSAvIDgpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiOFwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogODsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGk6aG92ZXIgPiAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgZ2FwOiAyMHB4IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudSA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBnYXA6IDIwcHggMTVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgbGkubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLm1lbnUgLmhhcy1jbG9uZWQtZ3JvdXBzIGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubWVnYW1lbnUtY29sdW1uLWNsb25lZC1zcGFuIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4tY2xvbmVkLXdyYXApLCAxZnIpO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ2FwOiAwIDE1cHg7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNoaWxkZnJlZS1wYXJlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNvbHVtbi1zcGFubmVkID4gYSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5jbG9uZWQtdG8tc2VwZXJhdGUtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHVsLmFjY291bnQtbWVudSB7XG4gICAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXI6aG92ZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IGEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpOmhvdmVyIC5pbWFnZSB7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpIC5pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgLnBlcnNpc3RlbnQtZWJnLWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyAucGVyc2lzdGVudC1lYmctaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIge1xuICAgIGxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyIGxpIGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiBsaSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMTAwJTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51LCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtaW4td2lkdGg6IGF1dG87IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmxhc3QtY2hpbGQsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMgOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDdweDtcbiAgICAgIHotaW5kZXg6IDUwMDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDlweCAxM3B4IDBweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZiNmYyMTsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7IH0gfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6aG92ZXI6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmU6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmFjdGl2ZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmU6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmFjdGl2ZTpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmU6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmU6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYjZmMjE7IH1cblxuLypcclxuLS0tLS0gUHJvZHVjdCBMaXN0IC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVmFyaW91cyBsaXN0IHZpZXdzOlxyXG4gIC0gVGFibGVcclxuICAtIEdyaWRcclxuLSBBbnl3aGVyZSBhIHByb2R1Y3QgbGlzdCBpcyBzaG93ICggc2VhcmNoIHJlc3VsdHMsIHByb2R1Y3QgYnkgZ3JvdXAsIGFjY291bnQgYXJlYSBwYWdlcyApIHRoaXMgY29kZSB3aWxsIGJlIHVzZWQuXHJcbi0gVGhpcyBmaWxlIGlzIE5PVCBkZWRpY2F0ZWQgdG8gZmlsdGVycyBjb25zdWx0IGZpbHRlci5zY3NzIGZvciB0aGF0LlxyXG4tIEFsbCBzb3J0aW5nIG9wdGlvbnMgKCBpdGVtcyBwZXIgcGFnZXMsIHZpZXcgc2VsZWN0aW9uLCBwYWdpbmF0aW9uLCBpdGVtcyBmb3VuZCAmIHNvcnQgYnkgKVxyXG4tIE5vIHJlc3VsdHMgZm91bmQuXHJcbiovXG4jYmVzcG9rZS1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2biszKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyBhLnN1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyBhLnN1Z2dlc3Rpb246aG92ZXIge1xuICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICBnYXA6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAsIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnJlc3VsdC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnJlc3VsdC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG4uc2VjdGlvbi1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNlY3Rpb24taGVhZGluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4OyB9IH1cbiAgLnNlY3Rpb24taGVhZGluZyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4jcHJvZHVjdC1saXN0ICNncm91cERhdGEge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbiNwcm9kdWN0TGlzdEl0ZW0gLmdyaWQteCAuY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4ubGlzdGluZy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubGlzdGluZy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMjBweCwgMCAwOyB9IH1cblxuLmNvbnRlbnRDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRlbnRDb250YWluZXJbZGF0YS1jb250ZW50LXVwZGF0aW5nPXRydWVdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgcGFkZGluZzogMCAxJSAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDE4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuY29udGVudENvbnRhaW5lciAuYXR0cmlidXRlTGlzdCB7XG4gICAgICB3aWR0aDogMjQwcHg7IH0gfVxuICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Quc2VwZXJhdG9yIC5yb3dDb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Quc2VwZXJhdG9yIC5yb3dDb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl06bnRoLWNoaWxkKGV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Om5vdCguc2VwZXJhdG9yKSAucm93Q29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiBhIGgzLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Om5vdCgub2RkRXZlbikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMyB7XG4gICAgICAgIGNvbG9yOiAjMDcxZTgzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCA+IGRpdjpub3QoOm50aC1jaGlsZCgxKSkgfiBkaXYgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDU1JTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucHJpY2UtY29sIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldC1jb2wge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMiU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlIHtcbiAgICAgICAgd2lkdGg6IDklOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm11bHRpbWVkaWEtY29udGVudCBkZXNjcmlwdGlvblwiIFwibXVsdGltZWRpYS1jb250ZW50IGNvZGVcIiBcIm11bHRpbWVkaWEtY29udGVudCBwcmljZVwiIFwibXVsdGltZWRpYS1jb250ZW50IGludGVyYWN0aXZlXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcbiAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLm11bHRpbWVkaWEtY29udGVudCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IGNvZGU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogaW50ZXJhY3RpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lcjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDEwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgaDMge1xuICAgICAgICAgIG1heC13aWR0aDogMjQ1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgY29sb3I6ICMwNzFlODM7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZiNmYyMTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI2QwZDBkMGIzOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5zcGVjaWZpY2F0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDQ7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTElO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMwNzFlODM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogMzsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5lbnF1aXJ5LWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogNjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5lbnF1aXJ5LWNvbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW50ZXJhY3RpdmUtY29udGVudCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAgMjBweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmFkZC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIgLmFkZFRvQmFza2V0IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmZhdm91cml0ZXNDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmZhdm91cml0ZXNDb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1jZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmI2ZjIxO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdlb2xvZ2ljYVwiLCBcIkdlb2xvZ2ljYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZSAuY3VycmVuY3kge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmVucXVpcnktY29sIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvcmRlcjogNDsgfVxuXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzA3MWU4MztcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QwZDBkMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB6LWluZGV4OiA4MDAwMDAwMDAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTsgfSB9XG5cbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc2VydmljZS13b3JrZXItY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmYjZmMjE7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMzMzMzM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIxXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMyODsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQxLjhweDtcbiAgICAgICAgY29sb3I6ICNiMjBjMjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzQzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDUuNnB4O1xuICAgICAgICBjb2xvcjogI2IyMGM0MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiM1wiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjNWY7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OS40cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzVmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCI0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM3YjsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDUzLjJweDtcbiAgICAgICAgY29sb3I6ICNiMjBjN2I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jYWNoZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhrhcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+EoFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74aIXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75KSXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uc2l0ZS1zdHlsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvlL9cIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzA3MWU4MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiNmYyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciAubGFiZWwgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgaW5wdXQge1xuICAgICAgZmxleDogMDsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zd2l0Y2gge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLmFjdGl2ZSwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICMwNzFlODM7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICMwOTI2YTY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTI6ICMwYjJlY2E7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICMwZDM2ZWQ7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICMyYjUwZjQ7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTU6ICM0ZTZkZjY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICM3MjhiZjc7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICM5NWE4Zjk7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTg6ICNiOGM1ZmI7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNkY2UyZmQ7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWRmMGZlO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICNmYjZmMjE7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTogI2ZiN2QzNztcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmM4YzRkO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICNmYzlhNjQ7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNDogI2ZkYTk3YTtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjZmRiNzkwO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNmZGM1YTY7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNzogI2ZlZDRiYztcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjZmVlMmQzO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZmYxZTk7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTA6ICNmZmY4ZjQ7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wOiAjYzAwMDAwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTogI2UwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTI6ICNmZjAxMDE7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zOiAjZmYyMDIwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNDogI2ZmNDA0MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTU6ICNmZjYwNjA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02OiAjZmY4MDgwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNzogI2ZmYTBhMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTg6ICNmZmJmYmY7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05OiAjZmZkZmRmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTA6ICNmZmVmZWY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wOiAjMmI1NzlhO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTogIzMyNjViMjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTI6ICMzYjczYzg7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zOiAjNTQ4NWNmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNDogIzZjOTZkNjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTU6ICM4NWE4ZGQ7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02OiAjOWRiOWU0O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNzogI2I2Y2JlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTg6ICNjZWRjZjE7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05OiAjZTdlZWY4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTA6ICNmM2Y2ZmM7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wOiAjZmZlYzQxO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTogI2ZmZWU1NDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTI6ICNmZmYwNjc7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zOiAjZmZmMjdhO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNDogI2ZmZjQ4ZDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTU6ICNmZmY2YTA7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02OiAjZmZmN2IzO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNzogI2ZmZjljNjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTg6ICNmZmZiZDk7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05OiAjZmZmZGVjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTA6ICNmZmZlZjY7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wOiAjYTIzNGUzO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTogI2FiNDhlNjtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTI6ICNiNTVkZTk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zOiAjYmU3MWViO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNDogI2M3ODVlZTtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTU6ICNkMTlhZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02OiAjZGFhZWY0O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNzogI2UzYzJmNztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTg6ICNlY2Q2Zjk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05OiAjZjZlYmZjO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTA6ICNmYWY1ZmU7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTA6ICMzMzMzMzM7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTE6ICM0NzQ3NDc7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTI6ICM1YzVjNWM7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTM6ICM3MDcwNzA7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQ6ICM4NTg1ODU7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTU6ICM5OTk5OTk7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTY6ICNhZGFkYWQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTc6ICNjMmMyYzI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTg6ICNkNmQ2ZDY7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTk6ICNlYmViZWI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwOiB3aGl0ZXNtb2tlO1xuICAtLWJsYWNrLWNvbG91cjogIzAwMDAwMDtcbiAgLS13aGl0ZS1jb2xvdXI6ICNmZmZmZmY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTA6ICMxMjgxMWY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTE6ICMxNmExMjc7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTI6ICMxYmMxMmU7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTM6ICMyMGUwMzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTQ6ICM0MGU0NTM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTU6ICM2MGU5NzA7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTY6ICM4MGVkOGM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTc6ICM5ZmYyYTk7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTg6ICNiZmY2YzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTk6ICNkZmZiZTI7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWZmZGYxO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wOiAjZmY1ZTA1O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xOiAjZmY2ZTFlO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmY3ZTM3O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0zOiAjZmY4ZTUwO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy00OiAjZmY5ZTY5O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy01OiAjZmZhZjgyO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy02OiAjZmZiZjliO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy03OiAjZmZjZmI0O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy04OiAjZmZkZmNkO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05OiAjZmZlZmU2O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZmZjdmMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTA6ICNiMjBjMGM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xOiAjZDAwZTBlO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMjogI2VlMTAxMDtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTM6ICNmMTJkMmQ7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy00OiAjZjM0YjRiO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNTogI2Y1Njk2OTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTY6ICNmNzg3ODc7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy03OiAjZjlhNWE1O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtODogI2ZiYzNjMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZGUxZTE7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZlZjBmMDtcbiAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDEzMDBweDtcbiAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4O1xuICAtLXByaW1hcnktZm9udDogR2VvbG9naWNhLCBHZW9sb2dpY2EgRmFsbGJhY2ssIEFyaWFsO1xuICAtLXNtb290aC1lZGdlcy1lbmFibGVkOiB0cnVlO1xuICAtLXNtb290aC1lZGdlcy1sZXZlbDogMTBweDtcbiAgLS1ib3JkZXItcmFkaXVzLTE6IDVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTI6IDI1cHg7XG4gIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjY7XG4gIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjMDAwMDAwO1xuICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhIEZhbGxiYWNrXCI7XG4gIHNyYzogbG9jYWwoXCJBcmlhbFwiKTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC4yMyU7XG4gIGFzY2VudC1vdmVycmlkZTogOTcuNSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDI3LjUlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7IH1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuYm9keS5zY3JvbGxMb2NrIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbm1haW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBtYWluID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXgge1xuICAgIG1heC13aWR0aDogMTkyMHB4OyB9IH1cblxuLmdyaWQteDpub3QoLmdyaWQtbWFyZ2luLXgpIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmNvbnRhaW5lci1ncm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmdyaWQtY29udGFpbmVyLmNvbnRhaW5lci1ncm93IC5hbGlnbi1jZW50ZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBoci5tb2JpbGUtc2VwZXJhdG9yIHtcbiAgICBtYXJnaW46IDMwcHggMDsgfSB9XG5cbiNmb290ZXItZ3RtLXdpZGdldCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNmb290ZXItZ3RtLXdpZGdldCB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbiNncm91cC1iYW5uZXItY2Fyb3VzZWwtY29udGFpbmVyLCAuZ3JvdXAtYmFubmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICB3aWR0aDogMTguMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yLCAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuI2NhdGVnb3J5SGVhZGluZywgI3Byb2R1Y3RMaXN0SGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBvcHVwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lcjpob3ZlciAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDcxZTgzOyB9XG5cbiNyZWdpc3Rlci1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiAjMDcxZTgzO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2VvbG9naWNhXCIsIFwiR2VvbG9naWNhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmI2ZjIxOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazphY3RpdmUge1xuICAgIGNvbG9yOiAjMDcxZTgzOyB9XG5cbnhtcCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0OyB9XG5cbi5hbmltYXRlX19hbmltYXRlZDpub3QoLmFuaW1hdGVkLWNvbnRlbnQtYWN0aXZlKSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZTgzOyB9XG4gICAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC42czsgfVxuIiwiJGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCI7XG4kZW1haWxUZW1wbGF0ZTogZmFsc2U7XG4vKipcclxuXHJcblRoaXMgaXMgdGhlIGJhc2Ugb2YgdGhlIGFwcC5jc3MgZmlsZSwgdG8gbW9kaWZ5IHRoZSBjb25maWd1cmF0aW9uIG90IGEgc2l0ZSBsZXZlbCBnbyB0byAvYnJhbmRpbmcuc2NzcyBpZiB5b3UgbmVlZCBtb2RpZnkgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9mIGFsbCBzaXRlcyBnbyB0byAvZ2xvYmFsL3ZhcmlhYmxlcy5zY3NzLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIE5vIEJFU1BPS0UgQ1NTIFJVTEUnUyBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgb3IgaW4gYnJhbmRpbmcuc2NzcywgaWYgeW91IG5lZWQgdG8gbW9kaWZ5IHRoZSBjc3MgZG8gaXQgaW4gZWl0aGVyIC9nbG9iYWwgb3IgaW4gL2NvbXBvbmFudHMgb3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgdGVhcnMsIElGIHlvdSByZWFsbHkgaGF2ZSB0byB0byBpdCBpbiB0aGUgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5zY3NzIHVuZGVyIGFsbCBvZiB0aGUgU0FTUyBvdmVycmlkZXMuXHJcblxyXG4qKi9cclxuXHJcbi8vIC0tLS0tIERlcGVuZGFuY2llcyAtLS0tLVxyXG5cclxuLy8gRXhwcmVzcyBGdW5jdGlvbnMuXHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9mdW5jdGlvbnMnO1xyXG5cclxuLy8gSW1wb3J0IHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuXHJcbkBpbXBvcnQgJy4vYnJhbmRpbmcnO1xyXG5cclxuLy8gSW1wb3J0IEV4cHJlc3Mgc3R5bGVzaGVldC5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2FwcCc7XHJcbiIsIi8vIFN0YW5kYXJkIGN1c3RvbSBmdW5jdGlvbnMgKCBub3QgZm91bmRhdGlvbidzIGZ1bmN0aW9ucyApIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSB0ZW1wbGF0ZS4gXHJcblxyXG4vLyBWYXJpYWJsZXMgdGhhdCBoYXZlIHRvIGJlIGRlZmluZWQuXHJcbiRicmVha3BvaW50czogbnVsbCAhZGVmYXVsdDtcclxuQGlmICgkYnJlYWtwb2ludHMgPT0gbnVsbCkge1xyXG4gICAgLy8gRmFsbGJhY2suXHJcbiAgICAkYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMzAwcHgsXHJcbiAgICAgICAgeGxhcmdlOiAxNjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTkyMHB4XHJcbiAgICApO1xyXG59XHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIHNsb3dseSBiZWluZyByb2xsZWQgb3V0IGFjcm9zcyBleHByZXNzLlxyXG5cclxuLy8gSGFuZGxlcyBob3cgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgZ2V0IGFwcGxpZWQsIGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCBpcyBzZXQgYnkgZGVmYXVsdCAkc21vb3RoLWVkZ2VzLWxldmVsIGdldHMgdXNlZCBhbmQgaWYgYSAkY3VzdG9tLXZhbHVlIGlzIHBhc3NlZCBpbiB0aGF0IHRha2VzIHByZXNpZGVuY2Ugb3ZlciB0aGUgZGVmYXVsdCB2YWx1ZSB3aGljaCBpcyBzZXQgYnkgJHNtb290aC1lZGdlcy1sZXZlbC5cclxuQGZ1bmN0aW9uIHNtb290aC1lZGdlcygkY3VzdG9tLXZhbHVlOiAwKSB7XHJcbiAgICAvLyBDYW5jZWxsZWQgb3V0IGFsbCBlZmZlY3QuXHJcbiAgICBAaWYgKCRjdXN0b20tdmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIEByZXR1cm4gaWYoJGN1c3RvbS12YWx1ZSAhPSAwLCAkY3VzdG9tLXZhbHVlLCAkc21vb3RoLWVkZ2VzLWxldmVsKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkY3VzdG9tLXZhbHVlID09IDAge1xyXG4gICAgICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gJGN1c3RvbS12YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG4vLyBTaW1wbGUgZnVuY3Rpb25zIGZvciBleHRyYWN0aW5nIHZhbHVlcyBiYXNlZCBvbiBicmVha3BvaW50LlxyXG4vLyBNb2JpbGUuXHJcbi8vIEBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICAvLyBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYSBsaXN0IG9yIG1hcC5cclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICAnbGlzdCcge1xyXG4vLyAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDEpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdudW1iZXInIHtcclxuLy8gICAgICAgICBAcmV0dXJuICR2YWx1ZXM7XHJcbi8vICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICBAZGVidWcgXCJGYWlsZWQgdG8gZ2V0IHNtYWxsIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLy8gTWVkaXVtXHJcbi8vIEBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBtZWRpdW0pIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG1lZGl1bSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgoJHZhbHVlcywgc21hbGwpKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBzbWFsbCk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEBkZWJ1ZyBcIkNvdWxkIG5vdCBmaW5kIGEgbWVkaXVtIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBtZWRpdW0gdmFsdWUuXCI7XHJcbi8vICAgICAgICAgQHJldHVybiBmYWxzZTtcclxuLy8gICAgIH1cclxuICAgIFxyXG4vLyB9XHJcbi8vIExhcmdlXHJcbi8vIEBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xyXG4vLyAgICAgICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPiAyIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMyk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWx1ZXMsIGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBsYXJnZSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBzbWFsbCkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIGxhcmdlIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBsYXJnZSB2YWx1ZSwgdmFsdWVzIHBhc3NlZCBhcmUgb2YgdHlwZTogXCIgKyB0eXBlLW9mKCR2YWx1ZXMpO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG5cclxuLy8gU21hbGwgUmVzcG9uc2l2ZSBWYWx1ZXMuXHJcbkBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDEpO1xyXG59XHJcblxyXG4vLyBNZWRpdW0gUmVzcG9uc2l2ZSBWYWx2dWUuXHJcbkBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAyKTtcclxufVxyXG5cclxuLy8gTGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMyk7XHJcbn1cclxuXHJcbi8vIHhMYXJnZSBSZXNwb25zaXZlIFZhbHVlLlxyXG5AZnVuY3Rpb24geGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNCk7XHJcbn1cclxuXHJcbi8vIHh4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHh4bGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCA1KTtcclxufVxyXG5cclxuLypcclxuXHJcbnZhbHVlcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvciBtYXAuXHJcblxyXG5CcmVha3BvaW50IHZhbHVlczpcclxuU21hbGwgPSAxXHJcbk1lZGl1bSA9IDJcclxuTGFyZ2UgPSAzXHJcbnhMYXJnZSA9IDRcclxueHhMYXJnZSA9IDVcclxuXHJcbiovXHJcblxyXG5AZnVuY3Rpb24gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcclxuICAgIC8vIElmIHZhbHVlcyBpcyBhIGxpc3QgKCBpLmUgbmVzdGVkIHByZXNldCApXHJcbiAgICBAaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gXCJsaXN0XCIpIHtcclxuICAgICAgICAvLyBVc2luZyB0aGUgYnJlYWtwb2ludCB2YWx1ZSBtYXRjaCBpdCBkbyB0aGUgdmFsdWVzIGluIHRoZSBsaXN0LlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCR2YWx1ZXMpID49ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRicmVha3BvaW50KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgbm8gYnJlYWtwb2ludCB2YWx1ZSBhc3NpZ25lZCB0aGVuIGZpbmQgbmVhcmVzdCBvbmUuXHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIGxlbmd0aCgkdmFsdWVzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAodHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJykge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBicmVha3BvaW50IGlzIGFjdHVhbGx5IGNvbmZpZ3VyZWQuXHJcbiAgICAgICAgQGlmIChsZW5ndGgoJGJyZWFrcG9pbnRzKSA8ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEBlcnJvcihcIkNvbmZpZ3VyZWQgYnJlYWtwb2ludHMgZG9uJ3QgZ28gdXAgdGhhdCBoaWdoICggI3skYnJlYWtwb2ludH0gKSwgcGxlYXNlIGNoZWNrIHRoZSBfc2V0dGluZ3Muc2NzcyBzZWN0aW9uIDIuIEJyZWFrcG9pbnRzIFwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9lcyBkb2VzICR2YWx1ZXMgaGF2ZSBhIGtleSBmb3IgdGhpcyBicmVha3BvaW50P1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gRmluZCBOZWFyZXN0IHZhbHVlLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIGxlbmd0aCgkdmFsdWVzKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgQGVycm9yIFwiRmFpbGVkIHRvIHJldHVybiByZXNwb25zaXZlIHZhbHVlLCB0aGlzIHdhcyBiZWNhdXNlIHRoZSB2YWx1ZXMgd2VyZSBub3QgaW4gYSBtYXAgb3IgbGlzdCwgdGhlIHZhbHVlcyBhc3NpZ25lZCB3ZXJlIG9mIHR5cGUgKCN7dHlwZS1vZigkdmFsdWVzKX0pIGFuZCB0aGUgdmFsdWUgaXMgI3skdmFsdWVzfSwgcGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJhdGlvbiBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGRlZmF1bHQtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgZGVmYXVsdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBob3Zlci1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBob3Zlcik7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBhY3RpdmUtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgYWN0aXZlKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRpc2FibGVkLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRpc2FibGVkKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCBzaXplLlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXNpemUoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXMsICR0eXBlKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCB3ZWlnaHQuXHJcbkBmdW5jdGlvbiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygkdHlwZTogJ3N0YW5kYWxvbmUnKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIFVzZWQgZm9yIGdldHRpbmcgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0IHZhbHVlcyBmcm9tIGxpc3RzIG5lc3RlZCBpbiBtYXBzIGZvciBwb3NpdGlvbmluZywgbWFyZ2lucyAmIHBhZGRpbmcuXHJcbkBmdW5jdGlvbiBzcGFjaW5nLXZhbHVlKCR2YWx1ZXMsICRzaWRlOiAwLCAka2V5OiBcInNtYWxsXCIpIHtcclxuICAgIC8vIEBpZiAkc2lkZSA+IDQgb3IgJHNpZGUgPCAxIHtcclxuICAgIC8vICAgICBAZGVidWcgXCJzcGFjaW5nLXZhbHVlOiAkc2lkZSBjYW5ub3QgYmUgbGVzcyB0aGF0IDEgb3IgbW9yZSB0aGFuIDRcIjtcclxuICAgIC8vICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBcclxuICAgIC8vIFdoYXQgdHlwZSBhcmUgd2UgZGVhbGluZyB3aXRoIGhlcmU/IG1hcChzKSwgbGlzdCBvciBudW1iZXIuXHJcbiAgICAkdmFsdWVzVHlwZTogdHlwZS1vZigkdmFsdWVzKTtcclxuICAgIEBpZigkdmFsdWVzVHlwZSA9PSBcIm1hcFwiKSB7XHJcbiAgICAgICAgQGlmICRrZXkgPT0gXCJzbWFsbFwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogc21hbGwtdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibWVkaXVtXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtZWRpdW0tdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibGFyZ2VcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IGxhcmdlLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtYXAtZ2V0KCR2YWx1ZXMsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQXR0ZW1wdGluZyB0byBjYXRlciBmb3Igc2hvcnQgaGFuZCB1c2UuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMgYW5kICRzaWRlID09IDQge1xyXG4gICAgICAgICRzaWRlOiAyO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiBhbmQgKCRzaWRlID4gMikge1xyXG4gICAgICAgICRzaWRlOiBpZigkc2lkZSA9PSAzLDEsMik7XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAxIHtcclxuICAgICAgICAkc2lkZTogMTtcclxuICAgIH1cclxuICAgICR2YWx1ZTogMDtcclxuICAgIC8vIEZpbmQgdGhlIHZhbHVlIHRoYXQgbWF0Y2hlcyB0aGUgc2lkZS5cclxuICAgIEBpZiAoJHNpZGUgPiAwKSB7XHJcbiAgICAgICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJHNpZGUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gSnVzdCBvdXRwdXQgd2hhdGV2ZXIgaXMgc2V0IGluIGEgc3RyaW5nLlxyXG4gICAgICAgICR2YWx1ZTogJHZhbHVlcztcclxuICAgIH1cclxuICAgIFxyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHItc3BsaXQoJHN0cmluZywgJHNlcGFyYXRvcikge1xyXG4gICAgLy8gZW1wdHkgYXJyYXkvbGlzdFxyXG4gICAgJHNwbGl0LWFycjogKCk7XHJcbiAgICAvLyBmaXJzdCBpbmRleCBvZiBzZXBhcmF0b3IgaW4gc3RyaW5nXHJcbiAgICAkaW5kZXggOiBzdHItaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XHJcbiAgICAvLyBsb29wIHRocm91Z2ggc3RyaW5nXHJcbiAgICBAd2hpbGUgJGluZGV4ICE9IG51bGwge1xyXG4gICAgICAgIC8vIGdldCB0aGUgc3Vic3RyaW5nIGZyb20gdGhlIGZpcnN0IGNoYXJhY3RlciB0byB0aGUgc2VwYXJhdG9yXHJcbiAgICAgICAgJGl0ZW06IHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKTtcclxuICAgICAgICAvLyBwdXNoIGl0ZW0gdG8gYXJyYXlcclxuICAgICAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJGl0ZW0pO1xyXG4gICAgICAgIC8vIHJlbW92ZSBpdGVtIGFuZCBzZXBhcmF0b3IgZnJvbSBzdHJpbmdcclxuICAgICAgICAkc3RyaW5nOiBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XHJcbiAgICAgICAgLy8gZmluZCBuZXcgaW5kZXggb2Ygc2VwYXJhdG9yXHJcbiAgICAgICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgfVxyXG4gICAgLy8gYWRkIHRoZSByZW1haW5pbmcgc3RyaW5nIHRvIGxpc3QgKHRoZSBsYXN0IGl0ZW0pXHJcbiAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJHN0cmluZyk7XHJcblxyXG4gICAgQHJldHVybiAkc3BsaXQtYXJyO1xyXG59XHJcblxyXG4vLyBHZXQgc29jaWFsIGljb24uXHJcbkBmdW5jdGlvbiBzb2NpYWwtaWNvbigkcGxhdGZvcm0pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkc29jaWFsLWljb25zLCAkcGxhdGZvcm0pO1xyXG59XHJcblxyXG4vLyBVc2VkIHRvIGRpc3BsYXkgZGVmYXVsdCBpY29ucyBpZiBubyBzaXRlIHNwZWNpZmMgaWNvbiBoYXMgYmVlbiBkZWZpbmVkLlxyXG5AZnVuY3Rpb24gY3VzdG9tLWljb24tZmFtaWx5KCRkZWZhdWx0LWZvbnQtZmFtaWx5LCAkZW5hYmxlZDogZmFsc2UpIHtcclxuICAgIC8vIElmIGN1c3RvbSBpY29uIGlzIGVuYWJsZWQgYW5kIHRoZSBnbG9iYWwgZmxhZyBpcyBzZXQgdGhlbiBvdXRwdXQgc2l0ZSBzcGVjaWZpYyBmb250IGZhbWlseSwgaWYgJGVuYWJsZWQ9dHJ1ZSBidXQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCBpcyBmYWxzZSB0aGVuIHlvdSBtb3N0IGxpa2VseSBoYXZlIG5vdCBzZXQgdXAgY3VzdG9tIGljb24gZm9udHMgY29ycmVjdGx5LlxyXG4gICAgQGlmICRlbmFibGVkIGFuZCAkc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkIHtcclxuICAgICAgICBAcmV0dXJuICRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHJldHVybiAkZGVmYXVsdC1mb250LWZhbWlseTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVE9ETzogdGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuXHJcbkBmdW5jdGlvbiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXItYSwgJGNvbG91ci1iKSB7XHJcbiAgICBAaWYgKCRjb2xvdXItYSA9PSBudWxsKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1hIGlzIG51bGwgc28gbm90aGluZyB0byBjb21wYXJlIGRlZmF1bHRpbmcgdG8gI3skY29sb3VyMH0gZm9yICN7JHNpdGV9XCI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyMDtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbG91ci1iID09IG51bGwpIHtcclxuICAgICAgICBcclxuICAgICAgICBAZXJyb3IgXCJDb250cmFzdCBDaGVja2VyOiAkY29sb3VyLWIgaXMgbnVsbCBkZWZhdWx0aW5nIHRvICRjb2xvdXItYSBmb3IgI3skc2l0ZX0gLSBcIiAkY29sb3VyLWI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAkcmF0aW86IGNvbG9yLWNvbnRyYXN0KCRjb2xvdXItYSwgJGNvbG91ci1iKTtcclxuICAgICRtYXRjaGVkLWNvbG91cjogXCJcIjtcclxuICAgIC8vIElmIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgdGhlbiBleGl0LlxyXG4gICAgQGlmICRjb2xvdXItYiA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAvLyBJZiByYXRpbyBpcyBiZWxvdyB0aHJlc2hvbGQgdGhlbiBmaW5kIGEgZGlmZmVyZW50IGNvbG91ci5cclxuICAgIEBpZiAkcmF0aW8gPCAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgQGRlYnVnICRzaXRlIFwiY29sb3VyXCIgJGNvbG91ci1hIFwiY29udHJhc3QgY29uZmxpY3RzIHdpdGhcIiAkY29sb3VyLWIgXCJhdHRlbXB0aW5nIHRvIGZpbmQgYWx0ZXJuYXRpdmUuXCIgJHJhdGlvOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRmluZCB0aGUgZmlyc3QgY29sb3VyIHRoYXQgaXMgYWJvdmUgdGhlIHJhdGlvIHRocmVzaG9sZC5cclxuICAgICAgICBAZWFjaCAkY29sb3VyIGluICRjb250cmFjdC1jaGVja2VyLWNvbG91ci1mYWxsYmFja3Mge1xyXG4gICAgICAgICAgICBAaWYgY29sb3ItY29udHJhc3QoJGNvbG91ciwgJGNvbG91ci1iKSA+PSAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgICAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgQGlmICRkZWJ1ZyBhbmQgJGRlYnVnLWxldmVsID09IDIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImFsdGVybmF0aXZlIGZvdW5kISBcIiAkbWF0Y2hlZC1jb2xvdXI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQHJldHVybiAkY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIElmIHRoZSByYXRpbyBpcyBiZWxvdyB0aGUgdGhyZXNob2xkIHRoZW4gcmV0dXJuICRjb2xvdXItYS5cclxuICAgICAgICAkbWF0Y2hlZC1jb2xvdXI6ICRjb2xvdXItYTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJG1hdGNoZWQtY29sb3VyO1xyXG59XHJcblxyXG4vLyBUbyBjcmVhdGUgYW4gaWdub3JlIGxpc3QgYXMgOm5vdCgpIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgbXVsdGlwbGUgc2VsZWN0b3JzLiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81Njg0MTYwL2Nhbi10aGUtbm90LXBzZXVkby1jbGFzcy1oYXZlLW11bHRpcGxlLWFyZ3VtZW50c1xyXG5AbWl4aW4gbm90KCRpZ25vckxpc3QuLi4pIHtcclxuICAgIC8vaWYgb25seSBhIHNpbmdsZSB2YWx1ZSBnaXZlblxyXG4gICAgQGlmIChsZW5ndGgoJGlnbm9yTGlzdCkgPT0gMSl7XHJcbiAgICAgICAgLy9pdCBpcyBwcm9iYWJseSBhIGxpc3QgdmFyaWFibGUgc28gc2V0IGlnbm9yZSBsaXN0IHRvIHRoZSB2YXJpYWJsZVxyXG4gICAgICAgICRpZ25vckxpc3Q6IG50aCgkaWdub3JMaXN0LDEpO1xyXG4gICAgfVxyXG4gICAgLy9zZXQgdXAgYW4gZW1wdHkgJG5vdE91dHB1dCB2YXJpYWJsZVxyXG4gICAgJG5vdE91dHB1dDogJyc7XHJcbiAgICAvL2ZvciBlYWNoIGl0ZW0gaW4gdGhlIGxpc3RcclxuICAgIEBlYWNoICRub3QgaW4gJGlnbm9yTGlzdCB7XHJcbiAgICAgICAgLy9nZW5lcmF0ZSBhIDpub3QoW2lnbm9yZWRfaXRlbV0pIHNlZ21lbnQgZm9yIGVhY2ggaXRlbSBpbiB0aGUgaWdub3JlIGxpc3QgYW5kIHB1dCB0aGVtIGJhY2sgdG8gYmFja1xyXG4gICAgICAgICRub3RPdXRwdXQ6ICRub3RPdXRwdXQgKyAnOm5vdCgjeyRub3R9KSc7XHJcbiAgICB9XHJcbiAgICAvL291dHB1dCB0aGUgZnVsbCA6bm90KCkgcnVsZSBpbmNsdWRpbmcgYWxsIGlnbm9yZWQgaXRlbXNcclxuICAgICYjeyRub3RPdXRwdXR9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2hlY2sgd2hldGhlciBhIG1hcCBoYXMgYSBrZXkuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhcmlhYmxlKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCRsaXN0LCAkdmFyaWFibGUpO1xyXG59XHJcblxyXG4vLyBHZXQgdHlwb2dyYXBoeSBmb250IGZhbWlseS5cclxuQGZ1bmN0aW9uIGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCRmYW1pbHk6IHByaW1hcnktZm9udCkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgJGZhbWlseSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBNYWtlIGFuIGFzc3VtcHRpb24gdGhhdCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhIHByaW1hcnktZm9udCBkZWZpbmVkLlxyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpIHtcclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsIHByaW1hcnktZm9udCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBlcnJvciBcImdldC1mb250LWZhbWlseTogRmFpbGVkIHRvIGZhbGxiYWNrIHRvIHByaW1hcnktZm9udCBmb3IgI3skc2l0ZX0sIGlzIGl0IGRlZmluZWQ/XCI7XHJcbiAgICAgICAgICAgIEByZXR1cm4gXCJBcmlhbFwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGVzIGNvbG91ciBwYWxsZXRlIGJhc2VkIG9uIGEgYmFzZSBjb2xvdXIgdGhlbiBsaWdodGVuJ3MgYnkgMTAlIGVhY2ggbGV2ZWwuXHJcbkBmdW5jdGlvbiBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRjb2xvdXIsICRsZXZlbHM6IDkpIHtcclxuICAgIC8vIFdvcmtvdXQgYmFzZSBjb2xvdXIuXHJcbiAgICAkYmFzZS1jb2xvdXI6IG1hcC1nZXQoJGNvbG91ciwgMCk7XHJcbiAgICBAaWYgKCRiYXNlLWNvbG91ciA9PSBudWxsKSB7XHJcbiAgICAgICAgQHJldHVybiAoKTtcclxuICAgIH1cclxuICAgIC8vIENyZWF0ZSBtYXAgdGhhdCBuZXcgY29sb3VycyBnZXQgaGVsZCBpbi5cclxuICAgICRjb2xvdXJzOiAoKTtcclxuICAgIC8vIENyZWF0ZSBuZXcgY29sb3Vycy5cclxuICAgIEBmb3IgJGxldmVsIGZyb20gMSB0aHJvdWdoICRsZXZlbHMge1xyXG4gICAgICAgIC8vIEJ1aWxkIHN0cmVuZ3RoIGJhc2VkIG9uIGNvdW50LlxyXG4gICAgICAgICRzdHJlbmd0aDogcGVyY2VudGFnZSgoJGxldmVsIC8gMTApKTtcclxuICAgICAgICAvLyBPdXRwdXQgQ1NTIHZhcmlhYmxlIHdpdGggbmV3IGxpZ2h0bmVzcy5cclxuICAgICAgICAkbmV3LWNvbG91cjogc2NhbGUtY29sb3IoJGJhc2UtY29sb3VyLCAkbGlnaHRuZXNzOiAkc3RyZW5ndGgpO1xyXG4gICAgICAgIC8vIEFkZCBuZXcgY29sb3VyIHRvIG1hcC5cclxuICAgICAgICAkY29sb3VyczogbWFwLW1lcmdlKCRjb2xvdXJzLCAoJGxldmVsOiAkbmV3LWNvbG91cikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCA5NSUgbGlnaHRuZXNzLCB0aGlzIGlzIHJlcXVpcmVkIGFzIG1vc3Qgc2l0ZXMgcmVxdWlyZSBhIHRvbmUgYmV0d2VlZW4gOTAgfiA5OCUgZm9yIGJ1dHRvbnMsIGhlYWRpbmcgYmFja2dyb3VuZHMgb3IgcGFuZWwgc2hhZGluZyAoIGkuZSBiYXNrZXQgc3VtbWFyeSApLlxyXG4gICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCgkbGV2ZWxzICsgMSk6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogOTUpKSk7XHJcblxyXG4gICAgLy8gUmV0dXJuIG5ldyBjb2xvdXJzLlxyXG4gICAgQHJldHVybiAkY29sb3VycztcclxufSIsIi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXHJcbi8vIFNpdGUgTmFtZS5cclxuJHNpdGU6ICd3aW50ZXJzdG9rZSc7XHJcblxyXG4vLyAtLS0tLSBTZXQgQnJhbmRpbmcgLS0tLS1cclxuLy8gLS0tIEZvbnRzIC0tLVxyXG4vLyB0eXBvZ3JhcGh5IFxyXG4kdHlwb2dyYXBnaHktZm9udC1mYW1pbGllcy1jZG4taW1wb3J0OiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1HZW9sb2dpY2E6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXBcIlxyXG4pO1xyXG5cclxuJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgcHJpbWFyeS1mb250OiAoXCJHZW9sb2dpY2FcIiwgXCJHZW9sb2dpY2EgRmFsbGJhY2tcIiwgXCJBcmlhbFwiKVxyXG4pO1xyXG5cclxuJGZvbnQtZmFsbGJhY2stbWV0cmljczogKFxyXG4gICAgcHJpbWFyeTogKFxyXG4gICAgICAgIGZhbGxiYWNrOiAnQXJpYWwnLFxyXG4gICAgICAgIHNpemUtYWRqdXN0OiAxMDQuMjMlLFxyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogOTcuNTAlLFxyXG4gICAgICAgIGRlc2NlbnQtb3ZlcnJpZGU6IDI3LjUwJSxcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogMC4wMCVcclxuICAgIClcclxuKTtcclxuXHJcbi8vIEljb25zLlxyXG4vLyBFbmFibGUgc2l0ZSBzcGVjaWZjIGljb25zLlxyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkOiB0cnVlO1xyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnM6IHRydWU7XHJcblxyXG4kY2hldnJvbi1pY29uczogKFxyXG4gICAgdXA6ICdcXEU4MDYnLFxyXG4gICAgcmlnaHQ6ICdcXEU4MDEnLFxyXG4gICAgZG93bjogJ1xcRTgxRScsXHJcbiAgICBsZWZ0OiAnXFxFODAwJ1xyXG4pO1xyXG5cclxuLy8gLS0tIFNldCBDb2xvdXIgUGFsbGV0dGUgLS0tIFxyXG4kY29sb3VyMy0xOiAjZDBkMGQwO1xyXG4kY29sb3VyMy01OiAjZjBmMGYwO1xyXG4kY29sb3VyMy02OiAjMzMzMzMzO1xyXG4kY29sb3VyNDogIzA3MWU4MztcclxuJGNvbG91cjQtMjogJGNvbG91cjQ7XHJcbiRjb2xvdXI0LTQ6ICNkMGQwZDBiMztcclxuJGNvbG91cjQtNjogIzhmOTVhNTtcclxuJGNvbG91cjY6ICNmYjZmMjE7XHJcbiRhY2NlbnQtY29sb3VyLTM6IChcclxuICAgIDA6ICNmZmVjNDFcclxuKTtcclxuXHJcblxyXG4vLyBTaGFkb3dzLlxyXG4kYm94U2hhZG93MzogMXB4IC0xcHggMTBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEyKTtcclxuXHJcbi8vIEltcG9ydCBkZWZhdWx0IGJyYW5kaW5nIGd1aWRlbGluZXMuXHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9icmFuZGluZyc7XHJcblxyXG4vLyAtLS0tLSBTQVNTIG92ZXJyaWRlcyAtLS0tLVxyXG5cclxuLy8kY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQ6IDAuNTtcclxuXHJcbiRnbG9iYWwtd2lkdGg6IDEzMDBweDtcclxuXHJcbi8vIC0tLSBTbW9vdGggZWRnZXMgKCBib3JkZXItcmFkaXVzIClcclxuJHNtb290aC1lZGdlcy1lbmFibGVkOiB0cnVlO1xyXG4kc21vb3RoLWVkZ2VzLWxldmVsOiAxMHB4O1xyXG5cclxuLy8gLS0tLS0gVHlwb2dyYXBoeSAtLS0tLSBcclxuJGNvZGUtY29sb3VyOiAkY29sb3VyMy02O1xyXG4kc2F2aW5ncy1jb2xvdXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuJHByaWNlLWZvbnQtd2VpZ2h0OiA1MDA7XHJcbiRwcmljZS1mb250LXNpemU6IDE1O1xyXG4kcHJpY2UtdGV4dC1hbGlnbjogbGVmdDtcclxuJHByaWNlLXZhdC1mb250LXdlaWdodDogNDAwO1xyXG4kcnJwLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRycnAtZm9udC1zaXplOiAxNTtcclxuJHF1YW50aXR5LWxhYmVsLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRxdWFudGl0eS1sYWJlbC1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJHNvaC0xLWljb24tY29sb3VyOiAkY29sb3VyNDtcclxuJHNvaC0yLWljb24tY29sb3VyOiAkY29sb3VyNi0zO1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRzdG9jay1pbmRpY2F0b3ItY29sb3VyOiAkY29sb3VyMy02O1xyXG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMTY7XHJcbiRkZWZhdWx0LWNtcy1jb3B5LWNvbG91cjogJGNvbG91cjMtNjtcclxuJGFuY2hvcnMtZm9udC13ZWlnaHQ6IDcwMDtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplOiAxODtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDMwMDtcclxuJGNtcy1oZWFkaW5nLXBhZGRpbmc6IChcclxuICAgIGgxOiAwLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogMTVweCAwLFxyXG4gICAgaDQ6IDAgMCAxMHB4LFxyXG4gICAgaDU6IG51bGwsXHJcbiAgICBoNjogbnVsbFxyXG4pO1xyXG4kY21zLWhlYWRpbmctZm9udC13ZWlnaHQ6IChcclxuICAgIGgxOiA1MDAsXHJcbiAgICBoMjogNTAwLFxyXG4gICAgaDM6IDUwMCxcclxuICAgIGg0OiA0MDAsXHJcbiAgICBoNTogNDAwLFxyXG4gICAgaDY6IDQwMFxyXG4pO1xyXG4kY21zLWhlYWRpbmctZm9udC1zaXplOiAoXHJcbiAgICBoMTogMjIuNCxcclxuICAgIGgyOiAyMixcclxuICAgIGgzOiAyMixcclxuICAgIGg0OiAyMixcclxuICAgIGg1OiAyMSxcclxuICAgIGg2OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZVxyXG4pO1xyXG4kY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IChcclxuICAgIGgxOiB1cHBlcmNhc2UsXHJcbiAgICBoMjogdXBwZXJjYXNlLFxyXG4gICAgaDM6IG51bGwsXHJcbiAgICBoNDogbnVsbCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKTtcclxuJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luOiAwO1xyXG4kY21zLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBoMTogMCAwIDMwcHgsXHJcbiAgICBoMjogMCAwIDE1cHgsXHJcbiAgICBoMzogJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luLFxyXG4gICAgaDQ6ICRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbixcclxuICAgIGg1OiAkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4sXHJcbiAgICBoNjogJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luXHJcbik7XHJcblxyXG4kcGFnZS1oZWFkaW5nLXVuZGVybGluZTogZmFsc2U7XHJcbiRoZWFkaW5nLTEtcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDEwcHggNXB4LFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKTtcclxuJGhlYWRpbmctMS1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAxNyxcclxuICAgIHByZXNldC0yOiAzMVxyXG4pO1xyXG4kaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjQtNixcclxuICAgIHByZXNldC0yOiBudWxsXHJcbik7XHJcbiRoZWFkaW5nLTEtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiAkY29sb3VyMSxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbik7XHJcbiRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1czogKFxyXG4gICAgcHJlc2V0LTE6ICRzbW9vdGgtZWRnZXMtbGV2ZWwsXHJcbiAgICBwcmVzZXQtMjogMFxyXG4pO1xyXG4kaGVhZGluZy0xLXRleHQtYWxpZ246IChcclxuICAgIHByZXNldC0xOiBjZW50ZXIsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pO1xyXG4kaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtOiAoIFxyXG4gICAgcHJlc2V0LTE6IHVwcGVyY2FzZSxcclxuICAgIHByZXNldC0yOiB1cHBlcmNhc2VcclxuKTtcclxuJGhlYWRpbmctMS1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDYwMCxcclxuICAgIHByZXNldC0yOiA0MDBcclxuKTtcclxuJGhlYWRpbmctMi1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAxNixcclxuICAgIHByZXNldC0yOiAxNixcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMTZcclxuKTtcclxuJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgcHJlc2V0LTE6IHVwcGVyY2FzZSxcclxuICAgIHByZXNldC0yOiBub25lLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpXHJcbik7XHJcbiRoZWFkaW5nLTItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiAkY29sb3VyMSxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjRcclxuKTtcclxuJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6ICRjb2xvdXI0LTYsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjQtNFxyXG4pO1xyXG4kaGVhZGluZy0yLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6ICgwIDAgMjBweCwgMCAwIDUwcHgpLFxyXG4gICAgcHJlc2V0LTI6ICgwLCAwKSxcclxuICAgIHByZXNldC0zOiAwIDAgMjBweCxcclxuICAgIHByZXNldC00OiAoMCAwIDE1cHgsIDAgMCA1MHB4KVxyXG4pO1xyXG4kaGVhZGluZy0yLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiA3LjVweCAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMTVweCAwXHJcbik7XHJcbiRoZWFkaW5nLTItZm9udC13ZWlnaHQ6IChcclxuICAgIHByZXNldC0xOiA0MDAsXHJcbiAgICBwcmVzZXQtMjogNDAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDQwMFxyXG4pO1xyXG5cclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0gXHJcbiRyZXF1aXJlZC1wcm9tcHQtZm9udC13ZWlnaHQ6IDMwMDtcclxuJGZpZWxkLXdpZHRoOiAoXHJcbiAgICBtb2JpbGU6IDEwMCUsXHJcbiAgICBkZXNrdG9wOiA2NDBweFxyXG4pO1xyXG4kZmllbGRzZXQtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDIwMHB4XHJcbik7XHJcbiRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDogMzAwO1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4IDBcclxuKTtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKVxyXG4pO1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBsZWZ0LFxyXG4gICAgbWVkaXVtOiBsZWZ0LFxyXG4gICAgbGFyZ2U6IGxlZnRcclxuKTtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcblxyXG4kZm9yZ290dGVuLXBhc3Nvd3JkLWFuY2hvci1mb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG4vLyAtLS0gSW5wdXRzIC0tLVxyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDQwMDtcclxuJGlucHV0LWJveC1zaGFkb3c6IChcclxuICAgIGhvdmVyOiAkYm94U2hhZG93M1xyXG4pO1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJHNtb290aC1lZGdlcy1sZXZlbDtcclxuJGlucHV0LWJvcmRlci1tYWluLWNvbG91cjogJGNvbG91cjMtMTtcclxuJGlucHV0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBkaXNhYmxlZDogcmdiYSgkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLCAwLjcpLFxyXG4gICAgYWN0aXZlOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgYWN0aXZlLWhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBpbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbik7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJGFjLXZpZXctYWxsLWZvbnQtc2l6ZTogMTIuODtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxNjtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDlweDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tZm9udC1zaXplOiAxNXB4O1xyXG4kcXVhbnRpdHktZHJvcGR3b24tcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjBcclxuICAgICksXHJcbiAgICBwcmVzZXQtMTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMyxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIwXHJcbiAgICApLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIwXHJcbik7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwXHJcbik7XHJcblxyXG4vLyAtLS0tIEJ1dHRvbnMgLS0tLSBcclxuJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1czogJHNtb290aC1lZGdlcy1sZXZlbDtcclxuJGNvbW1vbi1idXR0b24tZm9udC1zaXplczogKFxyXG4gICAgYXNzb2NpYXRlZDogMTMsXHJcbiAgICBzdGFuZGFsb25lOiAxNS4yXHJcbik7XHJcbiRjb21tb24tYnV0dG9uLXBhZGRpbmc6IDEwcHggMzVweDtcclxuJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQsXHJcbiAgICBzdGFuZGFsb25lOiA2MDBcclxuKTtcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmctdXBwZXJjYXNlLWJvbGQ6IG5vcm1hbDtcclxuJGJhc2tldC1idXR0b24tcGFkZGluZzogNi41cHggMTBweDtcclxuLy8gLS0tLSBNZW51cyAtLS0tLSBcclxuJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XHJcbiRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIxLFxyXG4gICAgbGFyZ2U6ICRjb2xvdXIxXHJcbik7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplOiA4cHg7XHJcbi8vIC0tLS0tIEhlYWRlciAtLS0tLSBcclxuLy8gVXBwZXJcclxuJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNjtcclxuJGhlYWRlci11cHBlci1mb250LXNpemU6IDE0O1xyXG4kaGVhZGVyLXVwcGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cixcclxuICAgIGFjdGl2ZTogJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91clxyXG4pO1xyXG4kaGVhZGVyLXVwcGVyLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nOiB0cnVlO1xyXG4vLyBNaWRkbGVcclxuJGhlYWRlci1jb250ZW50LW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDM0JSxcclxuICAgIG1lZGl1bTogbm9uZSxcclxuICAgIGxhcmdlOiAkZ2xvYmFsLXdpZHRoXHJcbik7XHJcbiRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM4LjUlIDI4LjUlO1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIGxhcmdlOiAzNjVweCxcclxuICAgIG1pbmlmaWVkOiAyNDBweCxcclxuICAgIHNtYWxsOiAyNjVweFxyXG4pO1xyXG4kaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0OiA0MHB4O1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKTtcclxuJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pO1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDMwMCxcclxuICAgIGhvdmVyOiAzMDBcclxuKTtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlcjogdHJ1ZTtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpXHJcbik7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy01LFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKTtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKSxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXIxLFxyXG4gICAgYWxlcnQ6ICRjb2xvdXIxXHJcbik7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpXHJcbik7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplOiAxNDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtY29sb3VyOiAkY29sb3VyMy02O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXdlaWdodDogMzAwO1xyXG4vLyBCb3R0b21cclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9yczogZmFsc2U7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmc6IHRydWU7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdC1zbWFsbDogJGNvbG91cjQsXHJcbiAgICBkZWZhdWx0LWxhcmdlOiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNlxyXG4pO1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIC8vIHlvdSBtYXkgZ2V0IGlzc3VlcyBoZXJlIGZvciBtb2JpbGUuXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemU6IChcclxuICAgIHNtYWxsOiAyMCxcclxuICAgIGxhcmdlOiAxN1xyXG4pO1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA2MDAsXHJcbiAgICBsYXJnZTogNTAwXHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDEwcHggMTVweFxyXG4pO1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4kbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDUwMCxcclxuICAgIGxhcmdlOiA1MDBcclxuKTtcclxuJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKTtcclxuJG1lZ2EtbWVudS1ib3JkZXI6IHRydWU7XHJcbiRtZWdhLW1lbnUtYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xyXG4kbWVnYS1tZW51LWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0LTY7IFxyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGg6IHRydWU7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGg6IDAgMCAxcHg7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0yO1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdzogMHB4IDlweCAxM3B4IDBweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xyXG4kbWVudS1ncm91cC1kcm9wZG93bi1hcnJvd3M6IGZhbHNlO1xyXG4kbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxMHB4IDVweCA1cHhcclxuKTtcclxuJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCA1cHggMCAxNnB4LFxyXG4gICAgbGFyZ2U6IDAgNXB4IDAgNXB4XHJcbik7XHJcblxyXG4vLyAtLS0gQnJlYWRjcnVtYnMgLS0tIFxyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW06IDJweDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplOiA3cHg7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplOiAxM3B4O1xyXG4kYnJlYWRjcnVtYnMtYWN0aXZlLWZvbnQtd2VpZ2h0OiAzMDA7XHJcbiRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA3cHgsXHJcbiAgICBsYXJnZTogOHB4IDBcclxuKTtcclxuXHJcbi8vIC0tLSBWYXQgU3dpdGNoZXIgLS0tXHJcbiR2YXQtc3dpdGNoZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pO1xyXG4kdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiAzMDAsXHJcbiAgICBhY3RpdmU6IDMwMFxyXG4pO1xyXG5cclxuLy8gLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcbiR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1mb250LXNpemU6IDlweDtcclxuJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplOiA3cHg7XHJcblxyXG5cclxuLy8gLS0tLS0gQWNjb3JkaW9uIC0tLS0tIFxyXG4kdGFicy10aXRsZS1pY29uLXNpemU6IDEwcHg7XHJcbiR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0OiA1MDA7XHJcbiRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtaWNvbi1zaXplO1xyXG4kYWNjb3JkaW9ucy10aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuLy8gLS0tLS0gTW9kdWxlcyAtLS0tLS1cclxuJG1vZHVsZXMtcm93LWJvcmRlci1yYWRpdXM6IDA7XHJcbiRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcDogZmFsc2U7XHJcbiRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbik7XHJcbiRtb2R1bGVzLW1vZHVsZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAoMCksXHJcbiAgICBsYXJnZTogKDIwcHgsIDApXHJcbik7XHJcbiRtb2R1bGVzLWdyaWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMjVweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbik7XHJcbiRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDI1cHgsIGF1dG8pLFxyXG4gICAgbGFyZ2U6ICgzMHB4LCBhdXRvKVxyXG4pO1xyXG4vLyAtLS0gUGFnZSBIZWFkZXIgLS0tXHJcbiRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKTtcclxuLy8gLS0tIEVCRyAtLS0gXHJcbiRtb2R1bGVzLWViZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDMwMDtcclxuJGNvbGxlY3Rpb24tZWJnLWhvdmVyLWJveC1zaGFkb3ctc3VwcHJlc3M6IHRydWU7XHJcblxyXG4vLyAtLS0gQ01TIC0tLVxyXG4kZGVmYXVsdC1jbXMtY29weS1jb2xvdXI6ICRjb2xvdXIyO1xyXG4kY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDAsIDI1cHgpLFxyXG4gICAgbGFyZ2U6ICgzMHB4LCAxMS42JSlcclxuKTtcclxuJGNtcy1oZWFkaW5nLXBhZGRpbmc6IChcclxuICAgIGgxOiBudWxsLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogMjBweCAwLFxyXG4gICAgaDQ6IDEwcHggMCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKTtcclxuJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgaDE6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0yKSxcclxuICAgIGgyOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMiksXHJcbiAgICBoMzogMjIuNCxcclxuICAgIGg0OiAxOS4yLFxyXG4gICAgaDU6IDE5LjIsXHJcbiAgICBoNjogMTkuMlxyXG4pO1xyXG4kY21zLWhlYWRpbmctZm9udC13ZWlnaHQ6IChcclxuICAgIGgxOiA0MDAsXHJcbiAgICBoMjogNDAwLFxyXG4gICAgaDM6IDQwMCxcclxuICAgIGg0OiA0MDAsXHJcbiAgICBoNTogNDAwLFxyXG4gICAgaDY6IDQwMFxyXG4pO1xyXG4kY21zLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBoMTogJGNvbG91cjQsXHJcbiAgICBoMjogJGNvbG91cjQsXHJcbiAgICBoMzogJGNvbG91cjQtMixcclxuICAgIGg0OiAkY29sb3VyNCxcclxuICAgIGg1OiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIsXHJcbiAgICBoNjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyXHJcbik7XHJcbi8vIFBhZ2VzIFxyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ6IDUwMDtcclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplOiAyMHB4O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTogMXB4O1xyXG5cclxuLy8gLS0tIENvbGxlY3Rpb25zIC0tLVxyXG4kY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE4cHggMCxcclxuICAgIGxhcmdlOiAxOHB4IDBcclxuKTtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nOiAxMHB4O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplOiAxODtcclxuJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luOiAwIGF1dG87XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtaW1hZ2UtbWFyZ2luOiAwO1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZzogMjBweDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplOiAxNjtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNiwgXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTRcclxuKTtcclxuJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjogbGVmdDtcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBmbGV4LXN0YXJ0LFxyXG4gICAgbGFyZ2U6IGZsZXgtc3RhcnRcclxuKTtcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nOiAxMHB4IDE1cHggMDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtNFxyXG4pO1xyXG4kYngtY29udHJvbHMtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDQ1cHgsXHJcbiAgICBub3JtYWw6IDMwcHgsXHJcbiAgICBsYXJnZTogNTVweFxyXG4pO1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItcmFkaXVzOiAkc21vb3RoLWVkZ2VzLWxldmVsO1xyXG4kYngtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTRweCxcclxuICAgIGxhcmdlOiAxNnB4XHJcbik7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHk6IChcclxuICAgIGRlZmF1bHQ6IC41LFxyXG4gICAgaG92ZXI6IDEsXHJcbiAgICBhY3RpdmU6IDFcclxuKTtcclxuLy8gJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyOiAoXHJcbi8vICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuLy8gICAgIGhvdmVyOiAkY29sb3VyMSxcclxuLy8gICAgIGFjdGl2ZTogJGNvbG91cjRcclxuLy8gKTtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3cyXHJcbik7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbTogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogMXB4XHJcbik7XHJcbiRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbi8vICRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5OiAoXHJcbi8vICAgICBkZWZhdWx0OiAxLFxyXG4vLyAgICAgYWN0aXZlOiAxXHJcbi8vICk7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDA7XHJcbiRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKTtcclxuXHJcbi8vIC0tLS0tIFNvY2lhbCBJY29ucyAtLS0tLSBcclxuJHNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC00XHJcbik7XHJcbiRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pO1xyXG4kc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcblxyXG5cclxuLy8gLS0tLS0gTGlzdGluZyBQYWdlcyAtLS0tLSBcclxuJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDogNTAwO1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgLS0tLS0gXHJcbiRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCA1cHggMCxcclxuICAgIGxhcmdlOiAyMHB4IDAgMFxyXG4pO1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplOiAzMjtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAzNXB4O1xyXG4kcHJvZHVjdC1jb2RlLWZvbnQtc2l6ZTogMTUuNTI7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDUwMDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodDogMzAwO1xyXG4kcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodDogMjhweDtcclxuJHByb2R1Y3Qtbm90ZXMtY29sb3VyOiAkY29sb3VyMy02O1xyXG5cclxuLy8gLS0tLS0gRm9vdGVyIC0tLS0tXHJcbiRmb290ZXItYmFja2dyb3VuZC1tYXJnaW4tdG9wOiA2MHB4O1xyXG4kZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNjtcclxuJGZvb3Rlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAxMHB4LFxyXG4gICAgbWVkaXVtOiAyNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogNDBweCAwIDI1cHhcclxuKTtcclxuLy8gLS0tIFByaW1hcnkgTWVudSAtLS1cclxuJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg6IGZpdC1jb250ZW50O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgMzBweCAyMHB4IDBcclxuKTtcclxuJGZvb3Rlci1saXN0LW1hcmdpbi10b3A6IDM1cHg7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtc2l6ZTogMTY7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0OiA1MDA7XHJcbiRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgYWN0aXZlKVxyXG4pO1xyXG4vLyAtLS0gUHJvbW90aW9ucyAtLS1cclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3BcclxuKTtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbi1kaW1lbnRpb25zOiA1MHB4O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwXHJcbik7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYXltZW50IE1ldGhvZHMgLS0tXHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAwXHJcbik7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiAwXHJcbik7XHJcbiRmb290ZXItYmFubmVycy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKTtcclxuLy8gLS0tIENvcHlyaWdodCAtLS0gXHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDE3cHggYXV0byAwXHJcbik7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplOiAxMztcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDogMzAwO1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0OiA2MDA7XHJcbiRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0OiAyO1xyXG4kZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduOiAoXHJcbiAgICBzbWFsbDogbGVmdCxcclxuICAgIGxhcmdlOiBsZWZ0XHJcbik7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBCYWNrIHRvIHRvcCAtLS0tLSBcclxuJGJhY2stdG8tdG9wLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDEzcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pO1xyXG4kYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIxLCAwLjQpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pO1xyXG4kYmFjay10by10b3AtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcblxyXG4vLyBCZXNwb2tlIHRlbXAgc3R5bGVzIHVudGlsIG1vZHVsZSBjb2xsZWN0aW9uIHJlZmFjdG9yIGhhcyBiZWVuIGNhcnJpZWQgb3V0LlxyXG4ucm93LWJhY2tncm91bmRbc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjOEY5NUE1O1wiXSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZGl2W2RhdGEtbW9kdWxlLWlkPVwid2ludGVyc3Rva2UtY3VzdG9tXCJdIHtcclxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMTEuNiUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5tb2R1bGUtbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLy8gLS0tLS0gQnJhbmRpbmcgLS0tLS1cclxuXHJcbi8vIElmIHRoZXNlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBhdmFpbGFibGUgdGhlbiBkZWZhdWx0IHRvIHRoZSBmb2xsb3dpbmcsIHRoaXMgd2FzIHB1dCBpbiBkdWUgdG8gYSBjb21wYXRpYmlsaXR5IGlzc3VlIGJldHdlZW4gc2Fzcy1leHRyYWN0IGFuZCBzYXNzLXZhcmlhYmxlcyB3aGVuIGNyZWF0aW5nIHRoZSBtYW5pZmVzdCBmaWxlcy5cclxuJGVtYWlsVGVtcGxhdGU6IGZhbHNlICFkZWZhdWx0O1xyXG4kZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIiAhZGVmYXVsdDtcclxuXHJcbiRkZWJ1ZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZWJ1Zy1sZXZlbDogMSAhZGVmYXVsdDtcclxuXHJcbiRzaGFyZWQtY29udGVudC1kaXJlY3Rvcnk6ICcvdGVtcGxhdGUvY29udGVudC8nICsgJGVudmlyb25tZW50ICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvaW1hZ2VzL2ljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnL2NhbGxzLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdoYXphcmQtc3RhdGVtZW50LWljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtYnV0dG9ucy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2ltYWdlcy9idXR0b25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9jc3Mvd2ViZm9udHMvJyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBTaXRlIGNvbG91ciBwYWxldHRlXHJcbi8vVHJhbnNwYXJlbnRcclxuJGNvbG91cjA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy9XaGl0ZVxyXG4kY29sb3VyMTogI2ZmZmZmZiAhZGVmYXVsdDtcclxuXHJcbi8vQmxhY2tcclxuJGNvbG91cjI6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcblxyXG4vL0dyZXlcclxuJGNvbG91cjM6ICNlZWVlZWUgIWRlZmF1bHQ7XHJcbi8vU0xJR0hUTFkgREFSS0VSIEdSRVlcclxuLy8kY29sb3VyMy0xOiAjZGFkYWRhICFkZWZhdWx0O1xyXG4kY29sb3VyMy0xOiBkYXJrZW4oJGNvbG91cjMsIDglKSAhZGVmYXVsdDtcclxuLy9TbGlnaHRseSBTbGlnaHRseSBEYXJrZXIgR3JleVxyXG4vLyRjb2xvdXIzLTI6ICNiMmIyYjIgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTI6IGRhcmtlbigkY29sb3VyMywgMjUlKSAhZGVmYXVsdDtcclxuLy9EYXJrZXIgR3JleSBcclxuLy8kY29sb3VyMy0zOiAjODg4ODg4ICFkZWZhdWx0O1xyXG4kY29sb3VyMy0zOiBkYXJrZW4oJGNvbG91cjMsIDM1JSkgIWRlZmF1bHQ7XHJcbi8vVmVyeSBMaWdodCBHcmV5XHJcbi8vJGNvbG91cjMtNDogI2NmY2ZjZiAhZGVmYXVsdDtcclxuJGNvbG91cjMtNDogZGFya2VuKCRjb2xvdXIzLCAxNSUpICFkZWZhdWx0O1xyXG4vLyBHcmV5XHJcbi8vJGNvbG91cjMtNTogI2YzZjNmMyAhZGVmYXVsdDtcclxuJGNvbG91cjMtNTogbGlnaHRlbigkY29sb3VyMywgMiUpICFkZWZhdWx0O1xyXG4vLyBEYXJrIEdyZXlcclxuLy8kY29sb3VyMy02OiAjNDQ0NDQ0ICFkZWZhdWx0O1xyXG4kY29sb3VyMy02OiBkYXJrZW4oJGNvbG91cjMsIDY1JSkgIWRlZmF1bHQ7XHJcbi8vIFNsaWdodGx5IHNsaWdodGx5IGRhcmtlciBncmV5LlxyXG4vLyRjb2xvdXIzLTc6ICM3YTdhN2EgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTc6IGRhcmtlbigkY29sb3VyMywgNDUlKSAhZGVmYXVsdDtcclxuXHJcbiRuZXV0cmFsLWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kbmV1dHJhbC1jb2xvdXI6IG1hcC1tZXJnZSgkbmV1dHJhbC1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJG5ldXRyYWwtY29sb3VyKSk7XHJcblxyXG4vL0dyZWVuIFxyXG4kY29sb3VyNDogIzEyODExZiAhZGVmYXVsdDtcclxuJHByaW1hcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkcHJpbWFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHByaW1hcnktY29sb3VyKSk7XHJcbi8vIExJR0hURVIgR1JFRU5cclxuLy8kY29sb3VyNC0xOiAjMjRjYTFjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0xOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDE5JSksIDEwJSkgIWRlZmF1bHQ7XHJcbi8vIERBUktFUiBHUkVFTiBcclxuLy8kY29sb3VyNC0yOiAjNDE5YTRjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0yOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDEyJSksIDI1JSkgIWRlZmF1bHQ7XHJcbi8vIFBhbGVcclxuLy8kY29sb3VyNC0zOiAjNmFhZDcyICFkZWZhdWx0O1xyXG4kY29sb3VyNC0zOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDIzJSksIDUwJSkgIWRlZmF1bHQ7XHJcbi8vIExpZ2h0aXNoIFBhbGUgR3JlZW4uXHJcbi8vJGNvbG91cjQtNDogI2E4ZDNhNiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNDogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjQsIDQ1JSksIC0xMCUpLCA0NiUpICFkZWZhdWx0O1xyXG4vL0RBUktJU0ggUEFMRSBHUkVFTlxyXG4vLyRjb2xvdXI0LTU6ICM1NGExNWQgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTU6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMTglKSwgMzclKSAhZGVmYXVsdDtcclxuLy8gTGlnaHQgKCB2ZXJ5IHdhc2hlZCBvdXQgKVxyXG4vLyRjb2xvdXI0LTY6ICNkY2Y3ZGIgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTY6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI0LCA2MyUpLCAtMTAlKSwgMjIlKSAhZGVmYXVsdDtcclxuLy8gUXVpdGUgZGFyay5cclxuLy8kY29sb3VyNC03OiAjMDE4MDJiICFkZWZhdWx0O1xyXG4kY29sb3VyNC03OiBzYXR1cmF0ZShhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNCwgMyUpLCAxMyUpLCAyMCUpICFkZWZhdWx0O1xyXG5cclxuLy9PcmFuZ2VcclxuJGNvbG91cjY6ICNmZjZmMjAgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZWNvbmRhcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZWNvbmRhcnktY29sb3VyKSk7XHJcbi8vRGFyayBPcmFuZ2VcclxuLy8kY29sb3VyNi0xOiAjZDE0NjI4ICFkZWZhdWx0O1xyXG4kY29sb3VyNi0xOiBkZXNhdHVyYXRlKGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCAxMiUpLCAtOCUpLCAxMCUpICFkZWZhdWx0O1xyXG4vLyBTbGlnaHRseSBsaWdodGVyIG9yYW5nZVxyXG4vLyRjb2xvdXI2LTI6ICNmZmM0MzkgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTI6IGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNiwgNiUpLCAyMCUpICFkZWZhdWx0O1xyXG4vLyBWZXJ5IGxpZ2h0IG9yYW5nZSBidXQgc2xpZ2h0bHkgZGFya1xyXG4vLyRjb2xvdXI2LTM6ICNmZWI0MDEgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTM6IGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCA2JSksIDIwJSkgIWRlZmF1bHQ7XHJcbi8vIE5vdCByZWFsbHkgb3JhbmdlIGJ1dCBnb2luZyB0byBwdXQgaXQgaGVyZSBhbnl3YXlcclxuLy8kY29sb3VyNi0zOiAjZmZmMGVhICFkZWZhdWx0O1xyXG4vLyRjb2xvdXI2LTI6IGxpZ2h0ZW4oJGNvbG91cjYsIDM4JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAxIC0tLVxyXG4kYWNjZW50LWNvbG91ci0xOiAoXHJcbiAgICAwOiAjYzAwMDAwXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTE6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0xLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTEpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDIgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTI6IChcclxuICAgIDA6ICMyYjU3OWFcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMjogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMikpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMyAtLS1cclxuJGFjY2VudC1jb2xvdXItMzogKFxyXG4gICAgMDogI2U1YjcwMVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0zOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMywgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0zKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciA0IC0tLVxyXG4kYWNjZW50LWNvbG91ci00OiAoXHJcbiAgICAwOiAjYTIzNGUzXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTQ6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci00LCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTQpKTtcclxuXHJcbi8vIFN1Y2Nlc3NcclxuJHN1Y2Nlc3MtY29sb3VyOiAoXHJcbiAgICAwOiAjMTI4MTFmXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWNvbG91cjogbWFwLW1lcmdlKCRzdWNjZXNzLWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc3VjY2Vzcy1jb2xvdXIpKTtcclxuXHJcbi8vIFdhcm5pbmcgXHJcbiR3YXJuaW5nLWNvbG91cjogKFxyXG4gICAgMDogI2ZmNWUwNVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1jb2xvdXI6IG1hcC1tZXJnZSgkd2FybmluZy1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHdhcm5pbmctY29sb3VyKSk7XHJcblxyXG4vLyBBbGVydFxyXG4kYWxlcnQtY29sb3VyOiAoXHJcbiAgICAwOiAjYjIwYzBjXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1jb2xvdXI6IG1hcC1tZXJnZSgkYWxlcnQtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhbGVydC1jb2xvdXIpKTtcclxuXHJcbi8vJGFsZXJ0LWNvbG91cjogI2IyMGMwYyAhZGVmYXVsdDtcclxuLy8kYWxlcnQtY29sb3VyLTE6ICNmZWU3ZTcgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIGlzIGEgaGFjayBhbmQgc2hvdWxkIHVzZSBkZXBhcnRtZW50IGNvbG91cnMuLi4uXHJcbiRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyOiAjNjYzMzk5ICFkZWZhdWx0O1xyXG4kZGVwYXJ0bWVudC13ZWItYmFzZS1jb2xvdXI6ICM1ZjdiMjcgIWRlZmF1bHQ7XHJcbiRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI6ICMzMzY2OTkhZGVmYXVsdDtcclxuXHJcbi8vIFNpdGUgc3R5bGUgY29sb3VyIG92ZXJyaWRlcy5cclxuJHNpdGUtc3R5bGVzLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRm9udHMgLS0tLS0gXHJcbi8vIC0tLSBUeXBncmFwaGd5IC0tLVxyXG4vLyBGb250IEltcG9ydHNcclxuJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydDogKFxyXG4gICAgcHJpbWFyeS1mb250OiBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwLDgwMCZkaXNwbGF5PXN3YXBcIiAvL09wZW4gU2Fuc1xyXG4pICFkZWZhdWx0O1xyXG4vLyBMb29wIHRocm91Z2ggZWFjaCBmYW1pbHkgaW1wb3J0aW5nIHRoZW0uXHJcbkBlYWNoICRmb250LWZhbWlseSwgJGxvY2F0aW9uIGluICR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQge1xyXG4gICAgQGltcG9ydCB1cmwoJGxvY2F0aW9uKTtcclxufVxyXG5cclxuLy8gRm9udCBDb25maWd1cmF0aW9uLlxyXG4vLyBXaGVuIHByb3ZpZGluZyBhIGZvbnQgc3RhY2sgZ2l2ZSB0aGUgZGVzaXJlZCBmb250LCB0aGVuIHVzaW5nIHRoZSBzZWNvbmQgcGFyYW10ZXIgYXMgdGhlIGZhbGxiYWNrIGZvciB0aGF0IGZvbnQgd2hpbHN0IGl0cyBsb2FkaW5nIGluICggZS5nLiBBcmlhbCBvciBHZW9sb2dpY2EgKSBhbmQgdGhlbiBcIkFyaWFsXCIgYXMgdGhlIHRoaXJkIGZvciBiZWx0IGFuZCBicmFjZXMuXHJcbiR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXM6IChcclxuICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIilcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRmb250LWZhbGxiYWNrLW1ldHJpY3M6IChcclxuICAgIHByaW1hcnk6IChcclxuICAgICAgICBmYWxsYmFjazogJ0FyaWFsJyxcclxuICAgICAgICBzaXplLWFkanVzdDogMTA5LjA0JSxcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IDEwNi44OCUsXHJcbiAgICAgICAgZGVzY2VudC1vdmVycmlkZTogMjkuMzAlLFxyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEljb25zIC0tLVxyXG4vLyBGb250IEF3ZXNvbWUuXHJcbiRmb250QXdlc29tZUJyYW5kczogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCIgIWRlZmF1bHQ7XHJcbiRmb250QXdlc29tZVNvbGlkOiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWVSZWd1bGFyOiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCIgIWRlZmF1bHQ7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZVwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZFwiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvdjQtc2hpbXNcIjtcclxuXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgLy8gQ29uZmlndXJlIHRoZSBwYWdlIG9mIHRoZSBzdGF0aWMgZm9udCBmaWxlcy5cclxuICAgICRmYS1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRhd2Vzb21lLyc7XHJcbiAgICAvLyBCcmFuZHMgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIEJyYW5kcyc7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLWJyYW5kcy00MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfSBcclxuICAgIFxyXG4gICAgLy8gU29saWQgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFNvbGlkJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXNvbGlkLTkwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7IC8vIFRvIHByZXZlbnQgc2hvd2luZyBpbnZpc2libGUgZm9udHMgd2hpbGUgbG9hZGluZyBjdXN0b20gZm9udHMgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kb2NzL2xpZ2h0aG91c2UvcGVyZm9ybWFuY2UvZm9udC1kaXNwbGF5Lz91dG1fc291cmNlPWxpZ2h0aG91c2UmdXRtX21lZGl1bT1kZXZ0b29sc1xyXG4gICAgfSBcclxuICAgIC8vIFJlZ3VsYXIgSWNvbnMgXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBSZWd1bGFyJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtcmVndWxhci00MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9IFxyXG59XHJcblxyXG4vLyBDdXN0b20gaWNvbnMuXHJcbi8vIERlZmF1bHQgZXhwcmVzcyBpY29uIGZvbnQgZmFtaWx5LlxyXG4kZXhwcmVzcy1kZWZhdWx0LWljb25zOiAnZm9udGVsbG8nICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1pY29ucy1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRlbGxvLWV4cHJlc3MvJztcclxuLy8gRGVmYXVsdCBleHByZXNzIGljb25zLlxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIHNyYzogdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8uc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBTaXRlIHNwZWNpZmljIGljb25zIGZvbnQuXHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTogJ2ZvbnRlbGxvLScgKyAkc2l0ZSAhZGVmYXVsdDtcclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250ZWxsby0nICsgJHNpdGUgKyBcIi9cIiAhZGVmYXVsdDtcclxuLy8gR2V0IHNpdGUgc3BlY2lmYyBpY29uIGZvbnQgZmFtaWx5LlxyXG5AaWYgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgc3JjOiB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBJZiBlbWFpbCB0ZW1wbGF0ZSB0aGVuIGZvcmNlIGZvbnQgZmFtaWx5IHRvIGJlIE9wZW4gU2FucyBkdWUgbm90IGJlaW5nIGFibGUgdG8gaW5qZWN0IGN1c3RvbSBmb250IGZhbWlsaWVzIGludG8gZW1haWwgdGVtcGxhdGVzLlxyXG5AaWYgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJBcmlhbFwiKVxyXG4gICAgKTtcclxufVxyXG5cclxuLy8tLS0gQm9yZGVyIFJhZGl1cyBQcmVzZXRzIC0tLVxyXG4kYm9yZGVyUmFkaXVzMTogNXB4ICFkZWZhdWx0O1xyXG4kYm9yZGVyUmFkaXVzMjogKCRib3JkZXJSYWRpdXMxICogNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBUcmFuc2l0aW9uIFRpbWluZ3MgLS0tXHJcbiR0cmFuc2l0aW9uSW50cm86IDAuNnMgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uT3V0cm86IDAuOHMgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBLbm9ja2JhY2sgUHJlc2V0cyAtLS1cclxuJGtub2NrQmFjazE6IDAuNiAhZGVmYXVsdDtcclxuJGtub2NrQmFjazI6IDAuOSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tIEJveCBTaGFkb3dzIC0tLVxyXG4kYm94U2hhZG93MTogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzI6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMykgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3czOiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93NDogMnB4IC0zcHggMjBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCA5JSkgIWRlZmF1bHQ7IiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktYnJhbmRzOiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFiLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYW5kcyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBlYWNoICRuYW1lLCAkaWNvbiBpbiAkZmEtYnJhbmQtaWNvbnMge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skbmFtZX06YmVmb3JlIHsgY29udGVudDogdW5xdW90ZShcIlxcXCIjeyAkaWNvbiB9XFxcIlwiKTsgfVxufVxuIiwiLy8gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtY3NzLXByZWZpeCAgICAgICAgICA6IGZhICFkZWZhdWx0O1xuJGZhLXN0eWxlICAgICAgICAgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG4kZmEtc3R5bGUtZmFtaWx5ICAgICAgICA6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiICFkZWZhdWx0O1xuXG4kZmEtZGlzcGxheSAgICAgICAgICAgICA6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcblxuJGZhLWZ3LXdpZHRoICAgICAgICAgICAgOiBmYS1kaXZpZGUoMjBlbSwgMTYpICFkZWZhdWx0O1xuJGZhLWludmVyc2UgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuXG4kZmEtYm9yZGVyLWNvbG9yICAgICAgICA6ICNlZWUgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXBhZGRpbmcgICAgICA6IC4yZW0gLjI1ZW0gLjE1ZW0gIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXJhZGl1cyAgICAgICA6IC4xZW0gIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXN0eWxlICAgICAgICA6IHNvbGlkICFkZWZhdWx0O1xuJGZhLWJvcmRlci13aWR0aCAgICAgICAgOiAuMDhlbSAhZGVmYXVsdDtcblxuJGZhLXNpemUtc2NhbGUtMnhzICAgICAgOiAxMCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXhzICAgICAgIDogMTIgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1zbSAgICAgICA6IDE0ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtYmFzZSAgICAgOiAxNiAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLWxnICAgICAgIDogMjAgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS14bCAgICAgICA6IDI0ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtMnhsICAgICAgOiAzMiAhZGVmYXVsdDtcblxuJGZhLXNpemVzOiAoXG4gIFwiMnhzXCIgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtMnhzLFxuICBcInhzXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXhzLFxuICBcInNtXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXNtLFxuICBcImxnXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLWxnLFxuICBcInhsXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXhsLFxuICBcIjJ4bFwiICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLTJ4bFxuKSAhZGVmYXVsdDtcblxuJGZhLWxpLXdpZHRoICAgICAgICAgICAgOiAyZW0gIWRlZmF1bHQ7XG4kZmEtbGktbWFyZ2luICAgICAgICAgICA6ICRmYS1saS13aWR0aCAqIGZhLWRpdmlkZSg1LCA0KSAhZGVmYXVsdDtcblxuJGZhLXB1bGwtbWFyZ2luICAgICAgICAgOiAuM2VtICFkZWZhdWx0O1xuXG4kZmEtcHJpbWFyeS1vcGFjaXR5ICAgICA6IDEgIWRlZmF1bHQ7XG4kZmEtc2Vjb25kYXJ5LW9wYWNpdHkgICA6IC40ICFkZWZhdWx0O1xuXG4kZmEtc3RhY2stdmVydGljYWwtYWxpZ246IG1pZGRsZSAhZGVmYXVsdDtcbiRmYS1zdGFjay13aWR0aCAgICAgICAgIDogKCRmYS1mdy13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGZhLXN0YWNrLXotaW5kZXggICAgICAgOiBhdXRvICFkZWZhdWx0O1xuXG4kZmEtZm9udC1kaXNwbGF5ICAgICAgICA6IGJsb2NrICFkZWZhdWx0O1xuJGZhLWZvbnQtcGF0aCAgICAgICAgICAgOiBcIi4uL3dlYmZvbnRzXCIgIWRlZmF1bHQ7XG5cbiRmYS12YXItMDogXFwzMDtcbiRmYS12YXItMTogXFwzMTtcbiRmYS12YXItMjogXFwzMjtcbiRmYS12YXItMzogXFwzMztcbiRmYS12YXItNDogXFwzNDtcbiRmYS12YXItNTogXFwzNTtcbiRmYS12YXItNjogXFwzNjtcbiRmYS12YXItNzogXFwzNztcbiRmYS12YXItODogXFwzODtcbiRmYS12YXItOTogXFwzOTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWFycm93cy10by1jaXJjbGU6IFxcZTRiZDtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tcmlnaHQ6IFxcZjEzODtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFxcZjEzODtcbiRmYS12YXItYXQ6IFxcNDA7XG4kZmEtdmFyLXRyYXNoLWNhbjogXFxmMmVkO1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFxcZjAzNDtcbiRmYS12YXItdXNlci14bWFyazogXFxmMjM1O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLW1lc3NhZ2U6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItaW5mbzogXFxmMTI5O1xuJGZhLXZhci1kb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcjogXFxmNDIyO1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItZXhwbG9zaW9uOiBcXGU0ZTk7XG4kZmEtdmFyLWZpbGUtbGluZXM6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS10ZXh0OiBcXGYxNWM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItYnVpbGRpbmctdW46IFxcZTRkOTtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1jYWxlbmRhci1kYXlzOiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLWNoZWNrOiBcXGU0YWE7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodDogXFxlNGQxO1xuJGZhLXZhci12b2xsZXliYWxsOiBcXGY0NWY7XG4kZmEtdmFyLXZvbGxleWJhbGwtYmFsbDogXFxmNDVmO1xuJGZhLXZhci1hcnJvd3MtdXAtdG8tbGluZTogXFxlNGMyO1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1kZXNjOiBcXGYwZGQ7XG4kZmEtdmFyLWNpcmNsZS1taW51czogXFxmMDU2O1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFxcZjA1NjtcbiRmYS12YXItZG9vci1vcGVuOiBcXGY1MmI7XG4kZmEtdmFyLXJpZ2h0LWZyb20tYnJhY2tldDogXFxmMmY1O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItYXRvbTogXFxmNWQyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLWljb25zOiBcXGY4NmQ7XG4kZmEtdmFyLWhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0OiBcXGY4NmQ7XG4kZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS1jaGVjazogXFxlNGM5O1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItZmluZ2VycHJpbnQ6IFxcZjU3NztcbiRmYS12YXItaGFuZC1wb2ludC1yaWdodDogXFxmMGE0O1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1sb2NhdGlvbjogXFxmNjg5O1xuJGZhLXZhci1mb3J3YXJkLXN0ZXA6IFxcZjA1MTtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLWZhY2Utc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS1iZWFtOiBcXGY1Yjg7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcXGYxMWU7XG4kZmEtdmFyLWZvb3RiYWxsOiBcXGY0NGU7XG4kZmEtdmFyLWZvb3RiYWxsLWJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTZjO1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWFuZ2xlcy1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLXVzZXJzLXJlY3RhbmdsZTogXFxlNTk0O1xuJGZhLXZhci1wZW9wbGUtcm9vZjogXFxlNTM3O1xuJGZhLXZhci1wZW9wbGUtbGluZTogXFxlNTM0O1xuJGZhLXZhci1iZWVyLW11Zy1lbXB0eTogXFxmMGZjO1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWRpYWdyYW0tcHJlZGVjZXNzb3I6IFxcZTQ3NztcbiRmYS12YXItYXJyb3ctdXAtbG9uZzogXFxmMTc2O1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcXGYxNzY7XG4kZmEtdmFyLWZpcmUtZmxhbWUtc2ltcGxlOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm46IFxcZjQ2YTtcbiRmYS12YXItcGVyc29uOiBcXGYxODM7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWZpbGUtY3N2OiBcXGY2ZGQ7XG4kZmEtdmFyLW1lbm9yYWg6IFxcZjY3NjtcbiRmYS12YXItdHJ1Y2stcGxhbmU6IFxcZTU4ZjtcbiRmYS12YXItcmVjb3JkLXZpbnlsOiBcXGY4ZDk7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXN0YXJzOiBcXGY1ODc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nOiBcXGY2N2I7XG4kZmEtdmFyLXBhc3RhZmFyaWFuaXNtOiBcXGY2N2I7XG4kZmEtdmFyLWFycm93LWRvd24tdXAtYWNyb3NzLWxpbmU6IFxcZTRhZjtcbiRmYS12YXItc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbC1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci1qYXItd2hlYXQ6IFxcZTUxNztcbiRmYS12YXItZW52ZWxvcGVzLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbC1idWxrOiBcXGY2NzQ7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZWI7XG4kZmEtdmFyLWNpcmNsZS1oOiBcXGY0N2U7XG4kZmEtdmFyLWhvc3BpdGFsLXN5bWJvbDogXFxmNDdlO1xuJGZhLXZhci1wYWdlcjogXFxmODE1O1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItY29udGFjdC1ib29rOiBcXGYyYjk7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFxcZjBjYztcbiRmYS12YXItazogXFw0YjtcbiRmYS12YXItbGFuZG1hcmstZmxhZzogXFxlNTFjO1xuJGZhLXZhci1wZW5jaWw6IFxcZjMwMztcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1iYWNrd2FyZDogXFxmMDRhO1xuJGZhLXZhci1jYXJldC1yaWdodDogXFxmMGRhO1xuJGZhLXZhci1jb21tZW50czogXFxmMDg2O1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1maWxlLWNsaXBib2FyZDogXFxmMGVhO1xuJGZhLXZhci1jb2RlLXB1bGwtcmVxdWVzdDogXFxlMTNjO1xuJGZhLXZhci1jbGlwYm9hcmQtbGlzdDogXFxmNDZkO1xuJGZhLXZhci10cnVjay1yYW1wLWJveDogXFxmNGRlO1xuJGZhLXZhci10cnVjay1sb2FkaW5nOiBcXGY0ZGU7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdmlhbC12aXJ1czogXFxlNTk3O1xuJGZhLXZhci1zaGVldC1wbGFzdGljOiBcXGU1NzE7XG4kZmEtdmFyLWJsb2c6IFxcZjc4MTtcbiRmYS12YXItdXNlci1uaW5qYTogXFxmNTA0O1xuJGZhLXZhci1wZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lOiBcXGU1Mzk7XG4kZmEtdmFyLXNjcm9sbC10b3JhaDogXFxmNmEwO1xuJGZhLXZhci10b3JhaDogXFxmNmEwO1xuJGZhLXZhci1icm9vbS1iYWxsOiBcXGY0NTg7XG4kZmEtdmFyLXF1aWRkaXRjaDogXFxmNDU4O1xuJGZhLXZhci1xdWlkZGl0Y2gtYnJvb20tYmFsbDogXFxmNDU4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLWJveC1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItcGVyc29uLWRyb3duaW5nOiBcXGU1NDU7XG4kZmEtdmFyLWFycm93LWRvd24tOS0xOiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdDogXFxmODg2O1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItc3ByYXktY2FuOiBcXGY1YmQ7XG4kZmEtdmFyLXRydWNrLW1vbnN0ZXI6IFxcZjYzYjtcbiRmYS12YXItdzogXFw1NztcbiRmYS12YXItZWFydGgtYWZyaWNhOiBcXGY1N2M7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci10YWJsZXQtc2NyZWVuLWJ1dHRvbjogXFxmM2ZhO1xuJGZhLXZhci10YWJsZXQtYWx0OiBcXGYzZmE7XG4kZmEtdmFyLXBhdzogXFxmMWIwO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci10cm93ZWwtYnJpY2tzOiBcXGU1OGE7XG4kZmEtdmFyLWZhY2UtZmx1c2hlZDogXFxmNTc5O1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWhvc3BpdGFsLXVzZXI6IFxcZjgwZDtcbiRmYS12YXItdGVudC1hcnJvdy1sZWZ0LXJpZ2h0OiBcXGU1N2Y7XG4kZmEtdmFyLWdhdmVsOiBcXGYwZTM7XG4kZmEtdmFyLWxlZ2FsOiBcXGYwZTM7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFxcZjFlNTtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXFxmMTMxO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFxcZjIxYztcbiRmYS12YXItYmVsbC1jb25jaWVyZ2U6IFxcZjU2MjtcbiRmYS12YXItY29uY2llcmdlLWJlbGw6IFxcZjU2MjtcbiRmYS12YXItcGVuLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlbmNpbC1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW9wbGUtYXJyb3dzOiBcXGUwNjg7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodDogXFxlMDY4O1xuJGZhLXZhci1tYXJzLWFuZC12ZW51cy1idXJzdDogXFxlNTIzO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcXGYwYzQ7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1zdW4tcGxhbnQtd2lsdDogXFxlNTdhO1xuJGZhLXZhci10b2lsZXRzLXBvcnRhYmxlOiBcXGU1ODQ7XG4kZmEtdmFyLWhvY2tleS1wdWNrOiBcXGY0NTM7XG4kZmEtdmFyLXRhYmxlOiBcXGYwY2U7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQ6IFxcZTUyMTtcbiRmYS12YXItdGFjaG9ncmFwaC1kaWdpdGFsOiBcXGY1NjY7XG4kZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaDogXFxmNTY2O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci1jbG92ZXI6IFxcZTEzOTtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItbWFpbC1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1ob3VzZS1maXJlOiBcXGU1MGM7XG4kZmEtdmFyLXNxdWFyZS1taW51czogXFxmMTQ2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItaGVsaWNvcHRlcjogXFxmNTMzO1xuJGZhLXZhci1jb21wYXNzOiBcXGYxNGU7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXF1ZXN0aW9uOiBcXGU0ZWY7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZTogXFxmNDg1O1xuJGZhLXZhci1iYXJzOiBcXGYwYzk7XG4kZmEtdmFyLW5hdmljb246IFxcZjBjOTtcbiRmYS12YXItcGVvcGxlLWdyb3VwOiBcXGU1MzM7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLTM6IFxcZjI1MztcbiRmYS12YXItaGVhcnQtY3JhY2s6IFxcZjdhOTtcbiRmYS12YXItaGVhcnQtYnJva2VuOiBcXGY3YTk7XG4kZmEtdmFyLXNxdWFyZS11cC1yaWdodDogXFxmMzYwO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZmFjZS1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1wZW9wbGUtcm9iYmVyeTogXFxlNTM2O1xuJGZhLXZhci1saWdodGJ1bGI6IFxcZjBlYjtcbiRmYS12YXItY2FyZXQtbGVmdDogXFxmMGQ5O1xuJGZhLXZhci1jaXJjbGUtZXhjbGFtYXRpb246IFxcZjA2YTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUteG1hcms6IFxcZTU2ZDtcbiRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0OiBcXGYwOGI7XG4kZmEtdmFyLXNpZ24tb3V0OiBcXGYwOGI7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXFxmMTNhO1xuJGZhLXZhci11bmxvY2sta2V5aG9sZTogXFxmMTNlO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnk6IFxcZjc0MDtcbiRmYS12YXItaGVhZHBob25lcy1zaW1wbGU6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1jaXJjbGUtZG9sbGFyLXRvLXNsb3Q6IFxcZjRiOTtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1yb2FkLXNwaWtlczogXFxlNTY4O1xuJGZhLXZhci1maXJlLWJ1cm5lcjogXFxlNGYxO1xuJGZhLXZhci1mbGFnOiBcXGYwMjQ7XG4kZmEtdmFyLWhhbnVraWFoOiBcXGY2ZTY7XG4kZmEtdmFyLWZlYXRoZXI6IFxcZjUyZDtcbiRmYS12YXItdm9sdW1lLWxvdzogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNsb3VkLXN1bi1yYWluOiBcXGY3NDM7XG4kZmEtdmFyLWNvbXByZXNzOiBcXGYwNjY7XG4kZmEtdmFyLXdoZWF0LWF3bjogXFxlMmNkO1xuJGZhLXZhci13aGVhdC1hbHQ6IFxcZTJjZDtcbiRmYS12YXItYW5raDogXFxmNjQ0O1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNoaWxkOiBcXGU0ZmE7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXDJhO1xuJGZhLXZhci1zcXVhcmUtY2hlY2s6IFxcZjE0YTtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLXBlc2V0YS1zaWduOiBcXGUyMjE7XG4kZmEtdmFyLWhlYWRpbmc6IFxcZjFkYztcbiRmYS12YXItaGVhZGVyOiBcXGYxZGM7XG4kZmEtdmFyLWdob3N0OiBcXGY2ZTI7XG4kZmEtdmFyLWxpc3Q6IFxcZjAzYTtcbiRmYS12YXItbGlzdC1zcXVhcmVzOiBcXGYwM2E7XG4kZmEtdmFyLXNxdWFyZS1waG9uZS1mbGlwOiBcXGY4N2I7XG4kZmEtdmFyLXBob25lLXNxdWFyZS1hbHQ6IFxcZjg3YjtcbiRmYS12YXItY2FydC1wbHVzOiBcXGYyMTc7XG4kZmEtdmFyLWdhbWVwYWQ6IFxcZjExYjtcbiRmYS12YXItY2lyY2xlLWRvdDogXFxmMTkyO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWZhY2UtZGl6enk6IFxcZjU2NztcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrOiBcXGU1MTM7XG4kZmEtdmFyLWNhbXBncm91bmQ6IFxcZjZiYjtcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZnV0Ym9sOiBcXGYxZTM7XG4kZmEtdmFyLWZ1dGJvbC1iYWxsOiBcXGYxZTM7XG4kZmEtdmFyLXNvY2Nlci1iYWxsOiBcXGYxZTM7XG4kZmEtdmFyLXBhaW50YnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItbG9jazogXFxmMDIzO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1ob3QtdHViLXBlcnNvbjogXFxmNTkzO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLW1hcC1sb2NhdGlvbjogXFxmNTlmO1xuJGZhLXZhci1tYXAtbWFya2VkOiBcXGY1OWY7XG4kZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyOiBcXGU1MGU7XG4kZmEtdmFyLXRyZWU6IFxcZjFiYjtcbiRmYS12YXItYnJpZGdlLWxvY2s6IFxcZTRjYztcbiRmYS12YXItc2Fjay1kb2xsYXI6IFxcZjgxZDtcbiRmYS12YXItcGVuLXRvLXNxdWFyZTogXFxmMDQ0O1xuJGZhLXZhci1lZGl0OiBcXGYwNDQ7XG4kZmEtdmFyLWNhci1zaWRlOiBcXGY1ZTQ7XG4kZmEtdmFyLXNoYXJlLW5vZGVzOiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdDogXFxmMWUwO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtbWludXM6IFxcZTRmZjtcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLTI6IFxcZjI1MjtcbiRmYS12YXItbWljcm9zY29wZTogXFxmNjEwO1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLWJhZy1zaG9wcGluZzogXFxmMjkwO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItYXJyb3ctZG93bi16LWE6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS1kZXNjOiBcXGY4ODE7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLXBlcnNvbi1yYXlzOiBcXGU1NGQ7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mbGFzay12aWFsOiBcXGU0ZjM7XG4kZmEtdmFyLWhhbmQ6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wYXBlcjogXFxmMjU2O1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci13b3JtOiBcXGU1OTk7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS14bWFyazogXFxlNTBiO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFxcZjA3NztcbiRmYS12YXItaGFuZC1zcG9jazogXFxmMjU5O1xuJGZhLXZhci1zdG9wd2F0Y2g6IFxcZjJmMjtcbiRmYS12YXItZmFjZS1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWtpc3M6IFxcZjU5NjtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS14bWFyazogXFxlNGNiO1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWNoZXNzLWJpc2hvcDogXFxmNDNhO1xuJGZhLXZhci1mYWNlLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZWFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWFmbmVzczogXFxmMmE0O1xuJGZhLXZhci1oYXJkLW9mLWhlYXJpbmc6IFxcZjJhNDtcbiRmYS12YXItcm9hZC1jaXJjbGUtY2hlY2s6IFxcZTU2NDtcbiRmYS12YXItZGljZS1maXZlOiBcXGY1MjM7XG4kZmEtdmFyLXNxdWFyZS1yc3M6IFxcZjE0MztcbiRmYS12YXItcnNzLXNxdWFyZTogXFxmMTQzO1xuJGZhLXZhci1sYW5kLW1pbmUtb246IFxcZTUxYjtcbiRmYS12YXItaS1jdXJzb3I6IFxcZjI0NjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhaXJzOiBcXGUyODk7XG4kZmEtdmFyLWk6IFxcNDk7XG4kZmEtdmFyLWhyeXZuaWEtc2lnbjogXFxmNmYyO1xuJGZhLXZhci1ocnl2bmlhOiBcXGY2ZjI7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLWZhY2UtZ3Jpbi13aWRlOiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLXRvb3RoOiBcXGY1Yzk7XG4kZmEtdmFyLXY6IFxcNTY7XG4kZmEtdmFyLWJhbmdsYWRlc2hpLXRha2Etc2lnbjogXFxlMmU2O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLXN0YWZmLXNuYWtlOiBcXGU1Nzk7XG4kZmEtdmFyLXJvZC1hc2NsZXBpdXM6IFxcZTU3OTtcbiRmYS12YXItcm9kLXNuYWtlOiBcXGU1Nzk7XG4kZmEtdmFyLXN0YWZmLWFlc2N1bGFwaXVzOiBcXGU1Nzk7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaDogXFxlMDYyO1xuJGZhLXZhci10cnVjay1tZWRpY2FsOiBcXGYwZjk7XG4kZmEtdmFyLWFtYnVsYW5jZTogXFxmMGY5O1xuJGZhLXZhci13aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1OTg7XG4kZmEtdmFyLXNub3dtYW46IFxcZjdkMDtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1yb2FkLWJhcnJpZXI6IFxcZTU2MjtcbiRmYS12YXItc2Nob29sOiBcXGY1NDk7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWpvaW50OiBcXGY1OTU7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcXGYxMDU7XG4kZmEtdmFyLWhvcnNlOiBcXGY2ZjA7XG4kZmEtdmFyLXE6IFxcNTE7XG4kZmEtdmFyLWc6IFxcNDc7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGFsZjogXFxmMmM5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS0yOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTI6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjogXFxmMmM5O1xuJGZhLXZhci1kb25nLXNpZ246IFxcZTE2OTtcbiRmYS12YXItY2Fwc3VsZXM6IFxcZjQ2YjtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvby1ib2x0OiBcXGY3NWE7XG4kZmEtdmFyLWZhY2UtZnJvd24tb3BlbjogXFxmNTdhO1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWhhbmQtcG9pbnQtdXA6IFxcZjBhNjtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcXGYwMzk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLWhlbG1ldC11bjogXFxlNTAzO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1iYWNvbjogXFxmN2U1O1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItYXJyb3ctdXAtZnJvbS1icmFja2V0OiBcXGUwOWE7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItYmxhbms6IFxcZjA3YjtcbiRmYS12YXItZmlsZS13YXZlZm9ybTogXFxmNDc4O1xuJGZhLXZhci1maWxlLW1lZGljYWwtYWx0OiBcXGY0Nzg7XG4kZmEtdmFyLXJhZGlhdGlvbjogXFxmN2I5O1xuJGZhLXZhci1jaGFydC1zaW1wbGU6IFxcZTQ3MztcbiRmYS12YXItbWFycy1zdHJva2U6IFxcZjIyOTtcbiRmYS12YXItdmlhbDogXFxmNDkyO1xuJGZhLXZhci1nYXVnZTogXFxmNjI0O1xuJGZhLXZhci1kYXNoYm9hcmQ6IFxcZjYyNDtcbiRmYS12YXItZ2F1Z2UtbWVkOiBcXGY2MjQ7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2U6IFxcZjYyNDtcbiRmYS12YXItd2FuZC1tYWdpYy1zcGFya2xlczogXFxlMmNhO1xuJGZhLXZhci1tYWdpYy13YW5kLXNwYXJrbGVzOiBcXGUyY2E7XG4kZmEtdmFyLWU6IFxcNDU7XG4kZmEtdmFyLXBlbi1jbGlwOiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1hbHQ6IFxcZjMwNTtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGNhO1xuJGZhLXZhci11c2VyOiBcXGYwMDc7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUtY2hlY2s6IFxcZTU2YjtcbiRmYS12YXItZHVtcHN0ZXI6IFxcZjc5MztcbiRmYS12YXItdmFuLXNodXR0bGU6IFxcZjViNjtcbiRmYS12YXItc2h1dHRsZS12YW46IFxcZjViNjtcbiRmYS12YXItYnVpbGRpbmctdXNlcjogXFxlNGRhO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1oaWdobGlnaHRlcjogXFxmNTkxO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXItYnVsbGhvcm46IFxcZjBhMTtcbiRmYS12YXItZ2xvYmU6IFxcZjBhYztcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXBlcnNvbi1oYWxmLWRyZXNzOiBcXGU1NDg7XG4kZmEtdmFyLXJvYWQtYnJpZGdlOiBcXGU1NjM7XG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcXGYxMjQ7XG4kZmEtdmFyLWM6IFxcNDM7XG4kZmEtdmFyLXRhYmxldC1idXR0b246IFxcZjEwYTtcbiRmYS12YXItYnVpbGRpbmctbG9jazogXFxlNGQ2O1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItY2hhcnQtYXJlYTogXFxmMWZlO1xuJGZhLXZhci1hcmVhLWNoYXJ0OiBcXGYxZmU7XG4kZmEtdmFyLWhvdXNlLWZsYWc6IFxcZTUwZDtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1taW51czogXFxlNTQwO1xuJGZhLXZhci1iYW46IFxcZjA1ZTtcbiRmYS12YXItY2FuY2VsOiBcXGYwNWU7XG4kZmEtdmFyLWNhbWVyYS1yb3RhdGU6IFxcZTBkODtcbiRmYS12YXItc3ByYXktY2FuLXNwYXJrbGVzOiBcXGY1ZDA7XG4kZmEtdmFyLWFpci1mcmVzaGVuZXI6IFxcZjVkMDtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1yZXBlYXQ6IFxcZjM2MztcbiRmYS12YXItY3Jvc3M6IFxcZjY1NDtcbiRmYS12YXItYm94OiBcXGY0NjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItYXJyb3ctcG9pbnRlcjogXFxmMjQ1O1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW1heGltaXplOiBcXGYzMWU7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWNoYXJnaW5nLXN0YXRpb246IFxcZjVlNztcbiRmYS12YXItc2hhcGVzOiBcXGY2MWY7XG4kZmEtdmFyLXRyaWFuZ2xlLWNpcmNsZS1zcXVhcmU6IFxcZjYxZjtcbiRmYS12YXItc2h1ZmZsZTogXFxmMDc0O1xuJGZhLXZhci1yYW5kb206IFxcZjA3NDtcbiRmYS12YXItcGVyc29uLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1tb2JpbGUtcmV0cm86IFxcZTUyNztcbiRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbDogXFxmN2E1O1xuJGZhLXZhci1zcGlkZXI6IFxcZjcxNztcbiRmYS12YXItaGFuZHMtYm91bmQ6IFxcZTRmOTtcbiRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcjogXFxmNTcxO1xuJGZhLXZhci1wbGFuZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU1NjtcbiRmYS12YXIteC1yYXk6IFxcZjQ5NztcbiRmYS12YXItc3BlbGwtY2hlY2s6IFxcZjg5MTtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItY29tcHV0ZXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tYnJhY2tldDogXFxmMDkwO1xuJGZhLXZhci1zaWduLWluOiBcXGYwOTA7XG4kZmEtdmFyLXNob3Atc2xhc2g6IFxcZTA3MDtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXNlcnZlcjogXFxmMjMzO1xuJGZhLXZhci12aXJ1cy1jb3ZpZC1zbGFzaDogXFxlNGE5O1xuJGZhLXZhci1zaG9wLWxvY2s6IFxcZTRhNTtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcXGYyNTE7XG4kZmEtdmFyLWJsZW5kZXItcGhvbmU6IFxcZjZiNjtcbiRmYS12YXItYnVpbGRpbmctd2hlYXQ6IFxcZTRkYjtcbiRmYS12YXItcGVyc29uLWJyZWFzdGZlZWRpbmc6IFxcZTUzYTtcbiRmYS12YXItcmlnaHQtdG8tYnJhY2tldDogXFxmMmY2O1xuJGZhLXZhci1zaWduLWluLWFsdDogXFxmMmY2O1xuJGZhLXZhci12ZW51czogXFxmMjIxO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1oZWFydC1wdWxzZTogXFxmMjFlO1xuJGZhLXZhci1oZWFydGJlYXQ6IFxcZjIxZTtcbiRmYS12YXItcGVvcGxlLWNhcnJ5LWJveDogXFxmNGNlO1xuJGZhLXZhci1wZW9wbGUtY2Fycnk6IFxcZjRjZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItY3Jvd246IFxcZjUyMTtcbiRmYS12YXItd2VpZ2h0LWhhbmdpbmc6IFxcZjVjZDtcbiRmYS12YXIteG1hcmtzLWxpbmVzOiBcXGU1OWE7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLXdlaWdodC1zY2FsZTogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQ6IFxcZjQ5NjtcbiRmYS12YXItdXNlci1ncm91cDogXFxmNTAwO1xuJGZhLXZhci11c2VyLWZyaWVuZHM6IFxcZjUwMDtcbiRmYS12YXItYXJyb3ctdXAtYS16OiBcXGYxNWU7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXA6IFxcZjE1ZTtcbiRmYS12YXItY2hlc3Mta25pZ2h0OiBcXGY0NDE7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcXGYxOTM7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA6IFxcZjBhYTtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nOiBcXGY1NTQ7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItbDogXFw0YztcbiRmYS12YXItZmlyZTogXFxmMDZkO1xuJGZhLXZhci1iZWQtcHVsc2U6IFxcZjQ4NztcbiRmYS12YXItcHJvY2VkdXJlczogXFxmNDg3O1xuJGZhLXZhci1zaHV0dGxlLXNwYWNlOiBcXGYxOTc7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItZmFjZS1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1mb2xkZXItb3BlbjogXFxmMDdjO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtcGx1czogXFxlNTAwO1xuJGZhLXZhci1jb2RlLWZvcms6IFxcZTEzYjtcbiRmYS12YXItY2l0eTogXFxmNjRmO1xuJGZhLXZhci1taWNyb3Bob25lLWxpbmVzOiBcXGYzYzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0OiBcXGYzYzk7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLWNvbG9uLXNpZ246IFxcZTE0MDtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1zdG9yZS1zbGFzaDogXFxlMDcxO1xuJGZhLXZhci1yb2FkLWNpcmNsZS14bWFyazogXFxlNTY2O1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXVwOiBcXGYyMmE7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItY2hhbXBhZ25lLWdsYXNzZXM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtY2hlZXJzOiBcXGY3OWY7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1ob3VzZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUwYTtcbiRmYS12YXItZmlsZS1hcnJvdy11cDogXFxmNTc0O1xuJGZhLXZhci1maWxlLXVwbG9hZDogXFxmNTc0O1xuJGZhLXZhci13aWZpOiBcXGYxZWI7XG4kZmEtdmFyLXdpZmktMzogXFxmMWViO1xuJGZhLXZhci13aWZpLXN0cm9uZzogXFxmMWViO1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdGh0dWI6IFxcZjJjZDtcbiRmYS12YXItdW5kZXJsaW5lOiBcXGYwY2Q7XG4kZmEtdmFyLXVzZXItcGVuOiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZWRpdDogXFxmNGZmO1xuJGZhLXZhci1zaWduYXR1cmU6IFxcZjViNztcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItYm9sZDogXFxmMDMyO1xuJGZhLXZhci1hbmNob3ItbG9jazogXFxlNGFkO1xuJGZhLXZhci1idWlsZGluZy1uZ286IFxcZTRkNztcbiRmYS12YXItbWFuYXQtc2lnbjogXFxlMWQ1O1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItYm9yZGVyLXRvcC1sZWZ0OiBcXGY4NTM7XG4kZmEtdmFyLWJvcmRlci1zdHlsZTogXFxmODUzO1xuJGZhLXZhci1tYXAtbG9jYXRpb24tZG90OiBcXGY1YTA7XG4kZmEtdmFyLW1hcC1tYXJrZWQtYWx0OiBcXGY1YTA7XG4kZmEtdmFyLWplZGk6IFxcZjY2OTtcbiRmYS12YXItc3F1YXJlLXBvbGwtdmVydGljYWw6IFxcZjY4MTtcbiRmYS12YXItcG9sbDogXFxmNjgxO1xuJGZhLXZhci1tdWctaG90OiBcXGY3YjY7XG4kZmEtdmFyLWNhci1iYXR0ZXJ5OiBcXGY1ZGY7XG4kZmEtdmFyLWJhdHRlcnktY2FyOiBcXGY1ZGY7XG4kZmEtdmFyLWdpZnQ6IFxcZjA2YjtcbiRmYS12YXItZGljZS10d286IFxcZjUyODtcbiRmYS12YXItY2hlc3MtcXVlZW46IFxcZjQ0NTtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtY2hlY2s6IFxcZTRkMjtcbiRmYS12YXItcGVyc29uLWNoYWxrYm9hcmQ6IFxcZTUzZDtcbiRmYS12YXItbWFycy1zdHJva2UtcmlnaHQ6IFxcZjIyYjtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXFxmMjJiO1xuJGZhLXZhci1oYW5kLWJhY2stZmlzdDogXFxmMjU1O1xuJGZhLXZhci1oYW5kLXJvY2s6IFxcZjI1NTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLXdhdGVyOiBcXGU0ZTQ7XG4kZmEtdmFyLWNoYXJ0LWJhcjogXFxmMDgwO1xuJGZhLXZhci1iYXItY2hhcnQ6IFxcZjA4MDtcbiRmYS12YXItaGFuZHMtYnViYmxlczogXFxlMDVlO1xuJGZhLXZhci1oYW5kcy13YXNoOiBcXGUwNWU7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci1leWUtbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcXGYyYTg7XG4kZmEtdmFyLWNyb3c6IFxcZjUyMDtcbiRmYS12YXItc2FpbGJvYXQ6IFxcZTQ0NTtcbiRmYS12YXItd2luZG93LXJlc3RvcmU6IFxcZjJkMjtcbiRmYS12YXItc3F1YXJlLXBsdXM6IFxcZjBmZTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWJ1Y2tldDogXFxlNGNmO1xuJGZhLXZhci1pbWFnZTogXFxmMDNlO1xuJGZhLXZhci1taWNyb3Bob25lOiBcXGYxMzA7XG4kZmEtdmFyLWNvdzogXFxmNmM4O1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1mb2xkZXItY2xvc2VkOiBcXGUxODU7XG4kZmEtdmFyLWhvdXNlLXRzdW5hbWk6IFxcZTUxNTtcbiRmYS12YXItc3F1YXJlLW5maTogXFxlNTc2O1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlcjogXFxlNGI1O1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzOiBcXGY1N2I7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0OiBcXGY1N2I7XG4kZmEtdmFyLXJvdGF0ZS1sZWZ0OiBcXGYyZWE7XG4kZmEtdmFyLXJvdGF0ZS1iYWNrOiBcXGYyZWE7XG4kZmEtdmFyLXJvdGF0ZS1iYWNrd2FyZDogXFxmMmVhO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci10YWJsZS1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbHVtbnM6IFxcZjBkYjtcbiRmYS12YXItbGVtb246IFxcZjA5NDtcbiRmYS12YXItaGVhZC1zaWRlLW1hc2s6IFxcZTA2MztcbiRmYS12YXItaGFuZHNoYWtlOiBcXGYyYjU7XG4kZmEtdmFyLWdlbTogXFxmM2E1O1xuJGZhLXZhci1kb2xseTogXFxmNDcyO1xuJGZhLXZhci1kb2xseS1ib3g6IFxcZjQ3MjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1taW5pbWl6ZTogXFxmNzhjO1xuJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0OiBcXGY3OGM7XG4kZmEtdmFyLW1vbnVtZW50OiBcXGY1YTY7XG4kZmEtdmFyLXNub3dwbG93OiBcXGY3ZDI7XG4kZmEtdmFyLWFuZ2xlcy1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItY2FubmFiaXM6IFxcZjU1ZjtcbiRmYS12YXItY2lyY2xlLXBsYXk6IFxcZjE0NDtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldXJvLXNpZ246IFxcZjE1MztcbiRmYS12YXItZXVyOiBcXGYxNTM7XG4kZmEtdmFyLWV1cm86IFxcZjE1MztcbiRmYS12YXItY2hhaXI6IFxcZjZjMDtcbiRmYS12YXItY2lyY2xlLWNoZWNrOiBcXGYwNTg7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaXJjbGUtc3RvcDogXFxmMjhkO1xuJGZhLXZhci1zdG9wLWNpcmNsZTogXFxmMjhkO1xuJGZhLXZhci1jb21wYXNzLWRyYWZ0aW5nOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3M6IFxcZjU2ODtcbiRmYS12YXItcGxhdGUtd2hlYXQ6IFxcZTU1YTtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1wZXJzb24tc2hlbHRlcjogXFxlNTRmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItaWQtYmFkZ2U6IFxcZjJjMTtcbiRmYS12YXItbWFya2VyOiBcXGY1YTE7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtYmVhbTogXFxmNTlhO1xuJGZhLXZhci1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWhlbGljb3B0ZXItc3ltYm9sOiBcXGU1MDI7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tdXA6IFxcZjEzOTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA6IFxcZjEzOTtcbiRmYS12YXItbGFyaS1zaWduOiBcXGUxYzg7XG4kZmEtdmFyLXZvbGNhbm86IFxcZjc3MDtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQ6IFxcZTU1MztcbiRmYS12YXItc3Rlcmxpbmctc2lnbjogXFxmMTU0O1xuJGZhLXZhci1nYnA6IFxcZjE1NDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci12aXJ1c2VzOiBcXGUwNzY7XG4kZmEtdmFyLXNxdWFyZS1wZXJzb24tY29uZmluZWQ6IFxcZTU3NztcbiRmYS12YXItdXNlci10aWU6IFxcZjUwODtcbiRmYS12YXItYXJyb3ctZG93bi1sb25nOiBcXGYxNzU7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXFxmMTc1O1xuJGZhLXZhci10ZW50LWFycm93LWRvd24tdG8tbGluZTogXFxlNTdlO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItc3VpdGNhc2U6IFxcZjBmMjtcbiRmYS12YXItcGVyc29uLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2thdGluZzogXFxmN2M1O1xuJGZhLXZhci1maWx0ZXItY2lyY2xlLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctZG93bjogXFxmMGFiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXFxmMGFiO1xuJGZhLXZhci1maWxlLWltcG9ydDogXFxmNTZmO1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1maWxlOiBcXGY1NmY7XG4kZmEtdmFyLXNxdWFyZS1hcnJvdy11cC1yaWdodDogXFxmMTRjO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTogXFxmMTRjO1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1zY3JvbGw6IFxcZjcwZTtcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLWxvY2F0aW9uLXBpbi1sb2NrOiBcXGU1MWY7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLWhpbGwtYXZhbGFuY2hlOiBcXGU1MDc7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWVtcHR5OiBcXGYyY2I7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTA6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMDogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci1ib21iOiBcXGYxZTI7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWNvbnRhY3QtY2FyZDogXFxmMmJiO1xuJGZhLXZhci12Y2FyZDogXFxmMmJiO1xuJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLWZsaXA6IFxcZjUxNjtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodDogXFxmNTE2O1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItZGlhbW9uZC10dXJuLXJpZ2h0OiBcXGY1ZWI7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItYnVyc3Q6IFxcZTRkYztcbiRmYS12YXItaG91c2UtbGFwdG9wOiBcXGUwNjY7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1mYWNlLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLW1vbmV5LWJpbGxzOiBcXGUxZjM7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItY3J1dGNoOiBcXGY3Zjc7XG4kZmEtdmFyLWNsb3VkLWFycm93LXVwOiBcXGYwZWU7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZDogXFxmMGVlO1xuJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0OiBcXGYwZWU7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItYXJyb3dzLXR1cm4tcmlnaHQ6IFxcZTRjMDtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci1mZXJyeTogXFxlNGVhO1xuJGZhLXZhci1hcnJvd3MtZG93bi10by1wZW9wbGU6IFxcZTRiOTtcbiRmYS12YXItc2VlZGxpbmc6IFxcZjRkODtcbiRmYS12YXItc3Byb3V0OiBcXGY0ZDg7XG4kZmEtdmFyLWxlZnQtcmlnaHQ6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC1oOiBcXGYzMzc7XG4kZmEtdmFyLWJveGVzLXBhY2tpbmc6IFxcZTRjNztcbiRmYS12YXItY2lyY2xlLWFycm93LWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItZ3JvdXAtYXJyb3dzLXJvdGF0ZTogXFxlNGY2O1xuJGZhLXZhci1ib3dsLWZvb2Q6IFxcZTRjNjtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1hcnJvdy1kb3duLXdpZGUtc2hvcnQ6IFxcZjE2MDtcbiRmYS12YXItc29ydC1hbW91bnQtYXNjOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd246IFxcZjE2MDtcbiRmYS12YXItY2xvdWQtYm9sdDogXFxmNzZjO1xuJGZhLXZhci10aHVuZGVyc3Rvcm06IFxcZjc2YztcbiRmYS12YXItdGV4dC1zbGFzaDogXFxmODdkO1xuJGZhLXZhci1yZW1vdmUtZm9ybWF0OiBcXGY4N2Q7XG4kZmEtdmFyLWZhY2Utc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLWZpbGUtd29yZDogXFxmMWMyO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQ6IFxcZjFjNDtcbiRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQ6IFxcZjA3ZTtcbiRmYS12YXItYXJyb3dzLWg6IFxcZjA3ZTtcbiRmYS12YXItaG91c2UtbG9jazogXFxlNTEwO1xuJGZhLXZhci1jbG91ZC1hcnJvdy1kb3duOiBcXGYwZWQ7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcXGYwZWQ7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdDogXFxmMGVkO1xuJGZhLXZhci1jaGlsZHJlbjogXFxlNGUxO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWJsYWNrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItdXNlci1sYXJnZS1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcXGYyYjY7XG4kZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUtc2xhc2g6IFxcZTA1ZjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1tYXR0cmVzcy1waWxsb3c6IFxcZTUyNTtcbiRmYS12YXItZ3VhcmFuaS1zaWduOiBcXGUxOWE7XG4kZmEtdmFyLWFycm93cy1yb3RhdGU6IFxcZjAyMTtcbiRmYS12YXItcmVmcmVzaDogXFxmMDIxO1xuJGZhLXZhci1zeW5jOiBcXGYwMjE7XG4kZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOiBcXGYxMzQ7XG4kZmEtdmFyLWNydXplaXJvLXNpZ246IFxcZTE1MjtcbiRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsOiBcXGY1MzI7XG4kZmEtdmFyLXNoaWVsZC1oYWx2ZWQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLWFsdDogXFxmM2VkO1xuJGZhLXZhci1ib29rLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLWVudmVsb3BlLWNpcmNsZS1jaGVjazogXFxlNGU4O1xuJGZhLXZhci1sYXllci1ncm91cDogXFxmNWZkO1xuJGZhLXZhci1hcnJvd3MtdG8tZG90OiBcXGU0YmU7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItaGVhcnQtY2lyY2xlLWNoZWNrOiBcXGU0ZmQ7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktY3JhY2s6IFxcZjZmMTtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWZpbGUtemlwcGVyOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZTogXFxmMWM2O1xuJGZhLXZhci1zcXVhcmU6IFxcZjBjODtcbiRmYS12YXItbWFydGluaS1nbGFzcy1lbXB0eTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pOiBcXGYwMDA7XG4kZmEtdmFyLWNvdWNoOiBcXGY0Yjg7XG4kZmEtdmFyLWNlZGktc2lnbjogXFxlMGRmO1xuJGZhLXZhci1pdGFsaWM6IFxcZjAzMztcbiRmYS12YXItY2h1cmNoOiBcXGY1MWQ7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1kZW1vY3JhdDogXFxmNzQ3O1xuJGZhLXZhci16OiBcXDVhO1xuJGZhLXZhci1wZXJzb24tc2tpaW5nOiBcXGY3Yzk7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1yb2FkLWxvY2s6IFxcZTU2NztcbiRmYS12YXItYTogXFw0MTtcbiRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctZG93bjogXFxlMDNmO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLWZlYXRoZXItcG9pbnRlZDogXFxmNTZiO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1wOiBcXDUwO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLXJlY3RhbmdsZS1hZDogXFxmNjQxO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWZpbHRlci1jaXJjbGUteG1hcms6IFxcZTE3YjtcbiRmYS12YXItbG9jdXN0OiBcXGU1MjA7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItdW5zb3J0ZWQ6IFxcZjBkYztcbiRmYS12YXItbGlzdC1vbDogXFxmMGNiO1xuJGZhLXZhci1saXN0LTEtMjogXFxmMGNiO1xuJGZhLXZhci1saXN0LW51bWVyaWM6IFxcZjBjYjtcbiRmYS12YXItcGVyc29uLWRyZXNzLWJ1cnN0OiBcXGU1NDQ7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWRvbGxhcjogXFxmNTNkO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItdmVjdG9yLXNxdWFyZTogXFxmNWNiO1xuJGZhLXZhci1icmVhZC1zbGljZTogXFxmN2VjO1xuJGZhLXZhci1sYW5ndWFnZTogXFxmMWFiO1xuJGZhLXZhci1mYWNlLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXDNmO1xuJGZhLXZhci1maWxlLXNpZ25hdHVyZTogXFxmNTczO1xuJGZhLXZhci11cC1kb3duLWxlZnQtcmlnaHQ6IFxcZjBiMjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LXVzZXI6IFxcZTA2NTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1zdGFyLWhhbGYtc3Ryb2tlOiBcXGY1YzA7XG4kZmEtdmFyLXN0YXItaGFsZi1hbHQ6IFxcZjVjMDtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci13aGlza2V5LWdsYXNzOiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXk6IFxcZjdhMDtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZDM7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtY2hhcnQ6IFxcZTUyMjtcbiRmYS12YXItYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmU6IFxcZjA4ZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXFxmMDhlO1xuJGZhLXZhci1jdWJlcy1zdGFja2VkOiBcXGU0ZTY7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLWtydzogXFxmMTU5O1xuJGZhLXZhci13b246IFxcZjE1OTtcbiRmYS12YXItdmlydXMtY292aWQ6IFxcZTRhODtcbiRmYS12YXItYXVzdHJhbC1zaWduOiBcXGUwYTk7XG4kZmEtdmFyLWY6IFxcNDY7XG4kZmEtdmFyLWxlYWY6IFxcZjA2YztcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci10YXhpOiBcXGYxYmE7XG4kZmEtdmFyLWNhYjogXFxmMWJhO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXBsdXM6IFxcZTU0MTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLXBpZS1jaGFydDogXFxmMjAwO1xuJGZhLXZhci1ib2x0LWxpZ2h0bmluZzogXFxlMGI3O1xuJGZhLXZhci1zYWNrLXhtYXJrOiBcXGU1NmE7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1jb250cmFjdDogXFxmNTZjO1xuJGZhLXZhci1maXNoLWZpbnM6IFxcZTRmMjtcbiRmYS12YXItYnVpbGRpbmctZmxhZzogXFxlNGQ1O1xuJGZhLXZhci1mYWNlLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItcG9vcDogXFxmNjE5O1xuJGZhLXZhci1sb2NhdGlvbi1waW46IFxcZjA0MTtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItaGVsbWV0LXNhZmV0eTogXFxmODA3O1xuJGZhLXZhci1oYXJkLWhhdDogXFxmODA3O1xuJGZhLXZhci1oYXQtaGFyZDogXFxmODA3O1xuJGZhLXZhci1lamVjdDogXFxmMDUyO1xuJGZhLXZhci1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1wbGFuZS1jaXJjbGUtY2hlY2s6IFxcZTU1NTtcbiRmYS12YXItZmFjZS1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItbWVoLXJvbGxpbmctZXllczogXFxmNWE1O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItY2hhcnQtbGluZTogXFxmMjAxO1xuJGZhLXZhci1saW5lLWNoYXJ0OiBcXGYyMDE7XG4kZmEtdmFyLW1hc2stdmVudGlsYXRvcjogXFxlNTI0O1xuJGZhLXZhci1hcnJvdy1yaWdodDogXFxmMDYxO1xuJGZhLXZhci1zaWducy1wb3N0OiBcXGYyNzc7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtcXVlc3Rpb246IFxcZTU0MjtcbiRmYS12YXItaDogXFw0ODtcbiRmYS12YXItdGFycDogXFxlNTdiO1xuJGZhLXZhci1zY3Jld2RyaXZlci13cmVuY2g6IFxcZjdkOTtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItYXJyb3dzLXRvLWV5ZTogXFxlNGJmO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1ib2x0OiBcXGU1NWI7XG4kZmEtdmFyLWhlYXJ0OiBcXGYwMDQ7XG4kZmEtdmFyLW1hcnMtYW5kLXZlbnVzOiBcXGYyMjQ7XG4kZmEtdmFyLWhvdXNlLXVzZXI6IFxcZTFiMDtcbiRmYS12YXItaG9tZS11c2VyOiBcXGUxYjA7XG4kZmEtdmFyLWR1bXBzdGVyLWZpcmU6IFxcZjc5NDtcbiRmYS12YXItaG91c2UtY3JhY2s6IFxcZTNiMTtcbiRmYS12YXItbWFydGluaS1nbGFzcy1jaXRydXM6IFxcZjU2MTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItZmFjZS1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1ib3R0bGUtd2F0ZXI6IFxcZTRjNTtcbiRmYS12YXItY2lyY2xlLXBhdXNlOiBcXGYyOGI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2g6IFxcZTA3MjtcbiRmYS12YXItYXBwbGUtd2hvbGU6IFxcZjVkMTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWtpdGNoZW4tc2V0OiBcXGU1MWE7XG4kZmEtdmFyLXI6IFxcNTI7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGVtcGVyYXR1cmUtMTogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci0xOiBcXGYyY2E7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItY3ViZTogXFxmMWIyO1xuJGZhLXZhci1iaXRjb2luLXNpZ246IFxcZTBiNDtcbiRmYS12YXItc2hpZWxkLWRvZzogXFxlNTczO1xuJGZhLXZhci1zb2xhci1wYW5lbDogXFxmNWJhO1xuJGZhLXZhci1sb2NrLW9wZW46IFxcZjNjMTtcbiRmYS12YXItZWxldmF0b3I6IFxcZTE2ZDtcbiRmYS12YXItbW9uZXktYmlsbC10cmFuc2ZlcjogXFxlNTI4O1xuJGZhLXZhci1tb25leS1iaWxsLXRyZW5kLXVwOiBcXGU1Mjk7XG4kZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodDogXFxlNTBmO1xuJGZhLXZhci1zcXVhcmUtcG9sbC1ob3Jpem9udGFsOiBcXGY2ODI7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1jaXJjbGU6IFxcZjExMTtcbiRmYS12YXItYmFja3dhcmQtZmFzdDogXFxmMDQ5O1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcXGYwNDk7XG4kZmEtdmFyLXJlY3ljbGU6IFxcZjFiODtcbiRmYS12YXItdXNlci1hc3Ryb25hdXQ6IFxcZjRmYjtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLWJhc2tldGJhbGw6IFxcZjQzNDtcbiRmYS12YXItYmFza2V0YmFsbC1iYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLW1vYmlsZS1zY3JlZW4tYnV0dG9uOiBcXGYzY2Q7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItdm9sdW1lLWhpZ2g6IFxcZjAyODtcbiRmYS12YXItdm9sdW1lLXVwOiBcXGYwMjg7XG4kZmEtdmFyLXVzZXJzLXJheXM6IFxcZTU5MztcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLWNsaXBib2FyZC1jaGVjazogXFxmNDZjO1xuJGZhLXZhci1maWxlLWF1ZGlvOiBcXGYxYzc7XG4kZmEtdmFyLWJ1cmdlcjogXFxmODA1O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLWJ1Z3M6IFxcZTRkMDtcbiRmYS12YXItcnVwZWUtc2lnbjogXFxmMTU2O1xuJGZhLXZhci1ydXBlZTogXFxmMTU2O1xuJGZhLXZhci1maWxlLWltYWdlOiBcXGYxYzU7XG4kZmEtdmFyLWNpcmNsZS1xdWVzdGlvbjogXFxmMDU5O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcGxhbmUtZGVwYXJ0dXJlOiBcXGY1YjA7XG4kZmEtdmFyLWhhbmRzaGFrZS1zbGFzaDogXFxlMDYwO1xuJGZhLXZhci1ib29rLWJvb2ttYXJrOiBcXGUwYmI7XG4kZmEtdmFyLWNvZGUtYnJhbmNoOiBcXGYxMjY7XG4kZmEtdmFyLWhhdC1jb3dib3k6IFxcZjhjMDtcbiRmYS12YXItYnJpZGdlOiBcXGU0Yzg7XG4kZmEtdmFyLXBob25lLWZsaXA6IFxcZjg3OTtcbiRmYS12YXItcGhvbmUtYWx0OiBcXGY4Nzk7XG4kZmEtdmFyLXRydWNrLWZyb250OiBcXGUyYjc7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0YWI7XG4kZmEtdmFyLXRydWNrLWZpZWxkOiBcXGU1OGQ7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLWNsaXBib2FyZC1xdWVzdGlvbjogXFxlNGUzO1xuJGZhLXZhci1wYW5vcmFtYTogXFxlMjA5O1xuJGZhLXZhci1jb21tZW50LW1lZGljYWw6IFxcZjdmNTtcbiRmYS12YXItdGVldGgtb3BlbjogXFxmNjJmO1xuJGZhLXZhci1maWxlLWNpcmNsZS1taW51czogXFxlNGVkO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXdpbmUtZ2xhc3M6IFxcZjRlMztcbiRmYS12YXItZm9yd2FyZC1mYXN0OiBcXGYwNTA7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXFxmMDUwO1xuJGZhLXZhci1mYWNlLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtYmxhbms6IFxcZjVhNDtcbiRmYS12YXItc3F1YXJlLXBhcmtpbmc6IFxcZjU0MDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1ob3VzZS1zaWduYWw6IFxcZTAxMjtcbiRmYS12YXItYmFycy1wcm9ncmVzczogXFxmODI4O1xuJGZhLXZhci10YXNrcy1hbHQ6IFxcZjgyODtcbiRmYS12YXItZmF1Y2V0LWRyaXA6IFxcZTAwNjtcbiRmYS12YXItY2FydC1mbGF0YmVkOiBcXGY0NzQ7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItYmFuLXNtb2tpbmc6IFxcZjU0ZDtcbiRmYS12YXItc21va2luZy1iYW46IFxcZjU0ZDtcbiRmYS12YXItdGVybWluYWw6IFxcZjEyMDtcbiRmYS12YXItbW9iaWxlLWJ1dHRvbjogXFxmMTBiO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWZsYWc6IFxcZTUxNDtcbiRmYS12YXItYmFza2V0LXNob3BwaW5nOiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXFxmMjkxO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLWJ1cy1zaW1wbGU6IFxcZjU1ZTtcbiRmYS12YXItYnVzLWFsdDogXFxmNTVlO1xuJGZhLXZhci1leWU6IFxcZjA2ZTtcbiRmYS12YXItZmFjZS1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC1jcnk6IFxcZjViMztcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFxcZjI5ZTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbjogXFxlNTRjO1xuJGZhLXZhci1maWxlLXNoaWVsZDogXFxlNGYwO1xuJGZhLXZhci11c2VyLXNsYXNoOiBcXGY1MDY7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci10b3dlci1vYnNlcnZhdGlvbjogXFxlNTg2O1xuJGZhLXZhci1maWxlLWNvZGU6IFxcZjFjOTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hbC01OiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hbC1wZXJmZWN0OiBcXGYwMTI7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1oZWFydC1jaXJjbGUteG1hcms6IFxcZTUwMTtcbiRmYS12YXItaG91c2UtY2hpbW5leTogXFxlM2FmO1xuJGZhLXZhci1ob21lLWxnOiBcXGUzYWY7XG4kZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTogXFxmMmQwO1xuJGZhLXZhci1mYWNlLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1zaG9wOiBcXGY1NGY7XG4kZmEtdmFyLXN0b3JlLWFsdDogXFxmNTRmO1xuJGZhLXZhci1mbG9wcHktZGlzazogXFxmMGM3O1xuJGZhLXZhci1zYXZlOiBcXGYwYzc7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkOiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdDogXFxmNTE1O1xuJGZhLXZhci1zb3J0LXVwOiBcXGYwZGU7XG4kZmEtdmFyLXNvcnQtYXNjOiBcXGYwZGU7XG4kZmEtdmFyLWNvbW1lbnQtZG90czogXFxmNGFkO1xuJGZhLXZhci1jb21tZW50aW5nOiBcXGY0YWQ7XG4kZmEtdmFyLXBsYW50LXdpbHQ6IFxcZTVhYTtcbiRmYS12YXItZGlhbW9uZDogXFxmMjE5O1xuJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1kb2xsYXI6IFxcZjRjMDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1iYWN0ZXJpdW06IFxcZTA1YTtcbiRmYS12YXItaGFuZC1wb2ludGVyOiBcXGYyNWE7XG4kZmEtdmFyLWRydW0tc3RlZWxwYW46IFxcZjU2YTtcbiRmYS12YXItaGFuZC1zY2lzc29yczogXFxmMjU3O1xuJGZhLXZhci1oYW5kcy1wcmF5aW5nOiBcXGY2ODQ7XG4kZmEtdmFyLXByYXlpbmctaGFuZHM6IFxcZjY4NDtcbiRmYS12YXItYXJyb3ctcm90YXRlLXJpZ2h0OiBcXGYwMWU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXJvdGF0ZTogXFxmMDFlO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtZm9yd2FyZDogXFxmMDFlO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLWJpb2hhemFyZDogXFxmNzgwO1xuJGZhLXZhci1sb2NhdGlvbi1jcm9zc2hhaXJzOiBcXGY2MDE7XG4kZmEtdmFyLWxvY2F0aW9uOiBcXGY2MDE7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcXGYyMjc7XG4kZmEtdmFyLWNoaWxkLWRyZXNzOiBcXGU1OWM7XG4kZmEtdmFyLXVzZXJzLWJldHdlZW4tbGluZXM6IFxcZTU5MTtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItZmFjZS1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdGVhcnM6IFxcZjU4ODtcbiRmYS12YXItcGhvbmU6IFxcZjA5NTtcbiRmYS12YXItY2FsZW5kYXIteG1hcms6IFxcZjI3MztcbiRmYS12YXItY2FsZW5kYXItdGltZXM6IFxcZjI3MztcbiRmYS12YXItY2hpbGQtcmVhY2hpbmc6IFxcZTU5ZDtcbiRmYS12YXItaGVhZC1zaWRlLXZpcnVzOiBcXGUwNjQ7XG4kZmEtdmFyLXVzZXItZ2VhcjogXFxmNGZlO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci1hcnJvdy11cC0xLTk6IFxcZjE2MztcbiRmYS12YXItc29ydC1udW1lcmljLXVwOiBcXGYxNjM7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLXNoaWVsZC12aXJ1czogXFxlMDZjO1xuJGZhLXZhci1kaWNlLXNpeDogXFxmNTI2O1xuJGZhLXZhci1tb3NxdWl0by1uZXQ6IFxcZTUyYztcbiRmYS12YXItYnJpZGdlLXdhdGVyOiBcXGU0Y2U7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLWhhdC13aXphcmQ6IFxcZjZlODtcbiRmYS12YXItcGVuLWZhbmN5OiBcXGY1YWM7XG4kZmEtdmFyLXBlcnNvbi1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLWRpZ2dpbmc6IFxcZjg1ZTtcbiRmYS12YXItdHJhc2g6IFxcZjFmODtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlOiBcXGY2Mjk7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZS1tZWQ6IFxcZjYyOTtcbiRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlOiBcXGY2Mjk7XG4kZmEtdmFyLWJvb2stbWVkaWNhbDogXFxmN2U2O1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFxcZjEwZTtcbiRmYS12YXItcXVvdGUtcmlnaHQtYWx0OiBcXGYxMGU7XG4kZmEtdmFyLXNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXQtc2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWRpdmlkZTogXFxmNTI5O1xuJGZhLXZhci10ZW5nZS1zaWduOiBcXGY3ZDc7XG4kZmEtdmFyLXRlbmdlOiBcXGY3ZDc7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGFuZHMtaG9sZGluZzogXFxmNGMyO1xuJGZhLXZhci1oYW5kcy1jbGFwcGluZzogXFxlMWE4O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItcGVyc29uLWNpcmNsZS14bWFyazogXFxlNTQzO1xuJGZhLXZhci1ydWxlcjogXFxmNTQ1O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItajogXFw0YTtcbiRmYS12YXItdXNlcnMtdmlld2ZpbmRlcjogXFxlNTk1O1xuJGZhLXZhci1maWxlLXZpZGVvOiBcXGYxYzg7XG4kZmEtdmFyLXVwLXJpZ2h0LWZyb20tc3F1YXJlOiBcXGYzNWQ7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0OiBcXGYzNWQ7XG4kZmEtdmFyLXRhYmxlLWNlbGxzOiBcXGYwMGE7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLWZpbGUtcGRmOiBcXGYxYzE7XG4kZmEtdmFyLWJvb2stYmlibGU6IFxcZjY0NztcbiRmYS12YXItYmlibGU6IFxcZjY0NztcbiRmYS12YXItbzogXFw0ZjtcbiRmYS12YXItc3VpdGNhc2UtbWVkaWNhbDogXFxmMGZhO1xuJGZhLXZhci1tZWRraXQ6IFxcZjBmYTtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItcGVyc29uLWRyZXNzOiBcXGYxODI7XG4kZmEtdmFyLWZlbWFsZTogXFxmMTgyO1xuJGZhLXZhci1jb21tZW50LWRvbGxhcjogXFxmNjUxO1xuJGZhLXZhci1idXNpbmVzcy10aW1lOiBcXGY2NGE7XG4kZmEtdmFyLWJyaWVmY2FzZS1jbG9jazogXFxmNjRhO1xuJGZhLXZhci10YWJsZS1jZWxscy1sYXJnZTogXFxmMDA5O1xuJGZhLXZhci10aC1sYXJnZTogXFxmMDA5O1xuJGZhLXZhci1ib29rLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci10YW5ha2g6IFxcZjgyNztcbiRmYS12YXItcGhvbmUtdm9sdW1lOiBcXGYyYTA7XG4kZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOiBcXGYyYTA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1jbGlwYm9hcmQtdXNlcjogXFxmN2YzO1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1saXJhLXNpZ246IFxcZjE5NTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXBsYW5lLWxvY2s6IFxcZTU1ODtcbiRmYS12YXItdGFnOiBcXGYwMmI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY2FrZS1jYW5kbGVzOiBcXGYxZmQ7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFxcZjFmZDtcbiRmYS12YXItY2FrZTogXFxmMWZkO1xuJGZhLXZhci1lbnZlbG9wZTogXFxmMGUwO1xuJGZhLXZhci1hbmdsZXMtdXA6IFxcZjEwMjtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcXGYxMDI7XG4kZmEtdmFyLXBhcGVyY2xpcDogXFxmMGM2O1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1jaXR5OiBcXGU0YjM7XG4kZmEtdmFyLXJpYmJvbjogXFxmNGQ2O1xuJGZhLXZhci1sdW5nczogXFxmNjA0O1xuJGZhLXZhci1hcnJvdy11cC05LTE6IFxcZjg4NztcbiRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdDogXFxmODg3O1xuJGZhLXZhci1saXRlY29pbi1zaWduOiBcXGUxZDM7XG4kZmEtdmFyLWJvcmRlci1ub25lOiBcXGY4NTA7XG4kZmEtdmFyLWNpcmNsZS1ub2RlczogXFxlNGUyO1xuJGZhLXZhci1wYXJhY2h1dGUtYm94OiBcXGY0Y2Q7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci10cnVjay1maWVsZC11bjogXFxlNThlO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVtcHR5OiBcXGYyNTQ7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLXVzZXItZG9jdG9yOiBcXGYwZjA7XG4kZmEtdmFyLXVzZXItbWQ6IFxcZjBmMDtcbiRmYS12YXItY2lyY2xlLWluZm86IFxcZjA1YTtcbiRmYS12YXItaW5mby1jaXJjbGU6IFxcZjA1YTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1hbHQ6IFxcZjAzMDtcbiRmYS12YXItc3F1YXJlLXZpcnVzOiBcXGU1Nzg7XG4kZmEtdmFyLW1ldGVvcjogXFxmNzUzO1xuJGZhLXZhci1jYXItb246IFxcZTRkZDtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLWFycm93LWRvd24tMS05OiBcXGYxNjI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M6IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWRyb3BsZXQ6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyOiBcXGY0YzE7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsOiBcXGY0ODY7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLWxhbmRtYXJrOiBcXGY2NmY7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItcGVyc29uLWNhbmU6IFxcZTUzYztcbiRmYS12YXItdGVudDogXFxlNTdkO1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItY2hlY2stZG91YmxlOiBcXGY1NjA7XG4kZmEtdmFyLWFycm93LWRvd24tYS16OiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bjogXFxmMTVkO1xuJGZhLXZhci1tb25leS1iaWxsLXdoZWF0OiBcXGU1MmE7XG4kZmEtdmFyLWNvb2tpZTogXFxmNTYzO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtbGVmdDogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1sZWZ0LXJvdGF0ZTogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFjazogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFja3dhcmQ6IFxcZjBlMjtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci1oYXJkLWRyaXZlOiBcXGYwYTA7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWR1bWJiZWxsOiBcXGY0NGI7XG4kZmEtdmFyLXJlY3RhbmdsZS1saXN0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLXRhcnAtZHJvcGxldDogXFxlNTdjO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjazogXFxlNTExO1xuJGZhLXZhci1wZXJzb24tc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXM6IFxcZjI3MTtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItdHJhaW4tc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1jaGFydC1nYW50dDogXFxlMGU0O1xuJGZhLXZhci1pbmRpYW4tcnVwZWUtc2lnbjogXFxlMWJjO1xuJGZhLXZhci1pbmRpYW4tcnVwZWU6IFxcZTFiYztcbiRmYS12YXItaW5yOiBcXGUxYmM7XG4kZmEtdmFyLWNyb3Atc2ltcGxlOiBcXGY1NjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLW1vbmV5LWJpbGwtMTogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1sZWZ0LWxvbmc6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdDogXFxmMzBhO1xuJGZhLXZhci1kbmE6IFxcZjQ3MTtcbiRmYS12YXItdmlydXMtc2xhc2g6IFxcZTA3NTtcbiRmYS12YXItbWludXM6IFxcZjA2ODtcbiRmYS12YXItc3VidHJhY3Q6IFxcZjA2ODtcbiRmYS12YXItY2hlc3M6IFxcZjQzOTtcbiRmYS12YXItYXJyb3ctbGVmdC1sb25nOiBcXGYxNzc7XG4kZmEtdmFyLWxvbmctYXJyb3ctbGVmdDogXFxmMTc3O1xuJGZhLXZhci1wbHVnLWNpcmNsZS1jaGVjazogXFxlNTVjO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXFxmMjFkO1xuJGZhLXZhci1mcmFuYy1zaWduOiBcXGUxOGY7XG4kZmEtdmFyLXZvbHVtZS1vZmY6IFxcZjAyNjtcbiRmYS12YXItaGFuZHMtYXNsLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWdlYXI6IFxcZjAxMztcbiRmYS12YXItY29nOiBcXGYwMTM7XG4kZmEtdmFyLWRyb3BsZXQtc2xhc2g6IFxcZjVjNztcbiRmYS12YXItdGludC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW9zcXVpdG86IFxcZTUyYjtcbiRmYS12YXItc3Rhci1vZi1kYXZpZDogXFxmNjlhO1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcmlmbGU6IFxcZTU0YjtcbiRmYS12YXItY2FydC1zaG9wcGluZzogXFxmMDdhO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcXGYwN2E7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXBsdWctY2lyY2xlLXBsdXM6IFxcZTU1ZjtcbiRmYS12YXItcGxhY2Utb2Ytd29yc2hpcDogXFxmNjdmO1xuJGZhLXZhci1ncmlwLXZlcnRpY2FsOiBcXGY1OGU7XG4kZmEtdmFyLWFycm93LXR1cm4tdXA6IFxcZjE0ODtcbiRmYS12YXItbGV2ZWwtdXA6IFxcZjE0ODtcbiRmYS12YXItdTogXFw1NTtcbiRmYS12YXItc3F1YXJlLXJvb3QtdmFyaWFibGU6IFxcZjY5ODtcbiRmYS12YXItc3F1YXJlLXJvb3QtYWx0OiBcXGY2OTg7XG4kZmEtdmFyLWNsb2NrOiBcXGYwMTc7XG4kZmEtdmFyLWNsb2NrLWZvdXI6IFxcZjAxNztcbiRmYS12YXItYmFja3dhcmQtc3RlcDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcXGYwNDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1mYXVjZXQ6IFxcZTAwNTtcbiRmYS12YXItYmFzZWJhbGwtYmF0LWJhbGw6IFxcZjQzMjtcbiRmYS12YXItczogXFw1MztcbiRmYS12YXItdGltZWxpbmU6IFxcZTI5YztcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXItY2FyZXQtZG93bjogXFxmMGQ3O1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItY2xpbmljLW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItdGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGVtcGVyYXR1cmUtMzogXFxmMmM4O1xuJGZhLXZhci10aGVybW9tZXRlci0zOiBcXGYyYzg7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcXGYyYzg7XG4kZmEtdmFyLW1vYmlsZS1zY3JlZW46IFxcZjNjZjtcbiRmYS12YXItbW9iaWxlLWFuZHJvaWQtYWx0OiBcXGYzY2Y7XG4kZmEtdmFyLXBsYW5lLXVwOiBcXGUyMmQ7XG4kZmEtdmFyLXBpZ2d5LWJhbms6IFxcZjRkMztcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcXGYyNDI7XG4kZmEtdmFyLWJhdHRlcnktMzogXFxmMjQyO1xuJGZhLXZhci1tb3VudGFpbi1jaXR5OiBcXGU1MmU7XG4kZmEtdmFyLWNvaW5zOiBcXGY1MWU7XG4kZmEtdmFyLWtoYW5kYTogXFxmNjZkO1xuJGZhLXZhci1zbGlkZXJzOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1mb2xkZXItdHJlZTogXFxmODAyO1xuJGZhLXZhci1uZXR3b3JrLXdpcmVkOiBcXGY2ZmY7XG4kZmEtdmFyLW1hcC1waW46IFxcZjI3NjtcbiRmYS12YXItaGFtc2E6IFxcZjY2NTtcbiRmYS12YXItY2VudC1zaWduOiBcXGUzZjU7XG4kZmEtdmFyLWZsYXNrOiBcXGYwYzM7XG4kZmEtdmFyLXBlcnNvbi1wcmVnbmFudDogXFxlMzFlO1xuJGZhLXZhci13YW5kLXNwYXJrbGVzOiBcXGY3MmI7XG4kZmEtdmFyLWVsbGlwc2lzLXZlcnRpY2FsOiBcXGYxNDI7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItdGlja2V0OiBcXGYxNDU7XG4kZmEtdmFyLXBvd2VyLW9mZjogXFxmMDExO1xuJGZhLXZhci1yaWdodC1sb25nOiBcXGYzMGI7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0OiBcXGYzMGI7XG4kZmEtdmFyLWZsYWctdXNhOiBcXGY3NGQ7XG4kZmEtdmFyLWxhcHRvcC1maWxlOiBcXGU1MWQ7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10ZWxldHlwZTogXFxmMWU0O1xuJGZhLXZhci1kaWFncmFtLW5leHQ6IFxcZTQ3NjtcbiRmYS12YXItcGVyc29uLXJpZmxlOiBcXGU1NGU7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1MTI7XG4kZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nOiBcXGYyMGE7XG4kZmEtdmFyLXBlcnNvbi1oaWtpbmc6IFxcZjZlYztcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXFxmMjI2O1xuJGZhLXZhci1pbWFnZXM6IFxcZjMwMjtcbiRmYS12YXItY2FsY3VsYXRvcjogXFxmMWVjO1xuJGZhLXZhci1wZW9wbGUtcHVsbGluZzogXFxlNTM1O1xuJGZhLXZhci1uOiBcXDRlO1xuJGZhLXZhci1jYWJsZS1jYXI6IFxcZjdkYTtcbiRmYS12YXItdHJhbTogXFxmN2RhO1xuJGZhLXZhci1jbG91ZC1yYWluOiBcXGY3M2Q7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS14bWFyazogXFxlNGQ0O1xuJGZhLXZhci1zaGlwOiBcXGYyMWE7XG4kZmEtdmFyLWFycm93cy1kb3duLXRvLWxpbmU6IFxcZTRiODtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZmFjZS1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW46IFxcZjU4MDtcbiRmYS12YXItZGVsZXRlLWxlZnQ6IFxcZjU1YTtcbiRmYS12YXItYmFja3NwYWNlOiBcXGY1NWE7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyLWVtcHR5OiBcXGYxZmI7XG4kZmEtdmFyLWV5ZWRyb3BwZXI6IFxcZjFmYjtcbiRmYS12YXItZmlsZS1jaXJjbGUtY2hlY2s6IFxcZTVhMDtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1tb2JpbGU6IFxcZjNjZTtcbiRmYS12YXItbW9iaWxlLWFuZHJvaWQ6IFxcZjNjZTtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcXGYzY2U7XG4kZmEtdmFyLWZhY2UtbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laDogXFxmMTFhO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYm9vay1za3VsbDogXFxmNmI3O1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItaWQtY2FyZDogXFxmMmMyO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2U6IFxcZjJjMjtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1kZWRlbnQ6IFxcZjAzYjtcbiRmYS12YXItaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZmU7XG4kZmEtdmFyLWhvdXNlOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWU6IFxcZjAxNTtcbiRmYS12YXItaG9tZS1hbHQ6IFxcZjAxNTtcbiRmYS12YXItaG9tZS1sZy1hbHQ6IFxcZjAxNTtcbiRmYS12YXItY2FsZW5kYXItd2VlazogXFxmNzg0O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1iOiBcXDQyO1xuJGZhLXZhci1maWxlLW1lZGljYWw6IFxcZjQ3NztcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXIta2l3aS1iaXJkOiBcXGY1MzU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWFycm93LWxlZnQ6IFxcZjBlYztcbiRmYS12YXItZXhjaGFuZ2U6IFxcZjBlYztcbiRmYS12YXItcm90YXRlLXJpZ2h0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJvdGF0ZS1mb3J3YXJkOiBcXGYyZjk7XG4kZmEtdmFyLXV0ZW5zaWxzOiBcXGYyZTc7XG4kZmEtdmFyLWN1dGxlcnk6IFxcZjJlNztcbiRmYS12YXItYXJyb3ctdXAtd2lkZS1zaG9ydDogXFxmMTYxO1xuJGZhLXZhci1zb3J0LWFtb3VudC11cDogXFxmMTYxO1xuJGZhLXZhci1taWxsLXNpZ246IFxcZTFlZDtcbiRmYS12YXItYm93bC1yaWNlOiBcXGUyZWI7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXRvd2VyLWJyb2FkY2FzdDogXFxmNTE5O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItdHJ1Y2stcGlja3VwOiBcXGY2M2M7XG4kZmEtdmFyLXVwLWxvbmc6IFxcZjMwYztcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItc3RvcDogXFxmMDRkO1xuJGZhLXZhci1jb2RlLW1lcmdlOiBcXGYzODc7XG4kZmEtdmFyLXVwbG9hZDogXFxmMDkzO1xuJGZhLXZhci1odXJyaWNhbmU6IFxcZjc1MTtcbiRmYS12YXItbW91bmQ6IFxcZTUyZDtcbiRmYS12YXItdG9pbGV0LXBvcnRhYmxlOiBcXGU1ODM7XG4kZmEtdmFyLWNvbXBhY3QtZGlzYzogXFxmNTFmO1xuJGZhLXZhci1maWxlLWFycm93LWRvd246IFxcZjU2ZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1jYXJhdmFuOiBcXGY4ZmY7XG4kZmEtdmFyLXNoaWVsZC1jYXQ6IFxcZTU3MjtcbiRmYS12YXItYm9sdDogXFxmMGU3O1xuJGZhLXZhci16YXA6IFxcZjBlNztcbiRmYS12YXItZ2xhc3Mtd2F0ZXI6IFxcZTRmNDtcbiRmYS12YXItb2lsLXdlbGw6IFxcZTUzMjtcbiRmYS12YXItdmF1bHQ6IFxcZTJjNTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItcGxhbmUtY2lyY2xlLXhtYXJrOiBcXGU1NTc7XG4kZmEtdmFyLXllbi1zaWduOiBcXGYxNTc7XG4kZmEtdmFyLWNueTogXFxmMTU3O1xuJGZhLXZhci1qcHk6IFxcZjE1NztcbiRmYS12YXItcm1iOiBcXGYxNTc7XG4kZmEtdmFyLXllbjogXFxmMTU3O1xuJGZhLXZhci1ydWJsZS1zaWduOiBcXGYxNTg7XG4kZmEtdmFyLXJvdWJsZTogXFxmMTU4O1xuJGZhLXZhci1ydWI6IFxcZjE1ODtcbiRmYS12YXItcnVibGU6IFxcZjE1ODtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLWd1aXRhcjogXFxmN2E2O1xuJGZhLXZhci1mYWNlLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF1Z2gtd2luazogXFxmNTljO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWJvcmUtaG9sZTogXFxlNGMzO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3dzLXR1cm4tdG8tZG90czogXFxlNGMxO1xuJGZhLXZhci1mbG9yaW4tc2lnbjogXFxlMTg0O1xuJGZhLXZhci1hcnJvdy1kb3duLXNob3J0LXdpZGU6IFxcZjg4NDtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXFxmODg0O1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdDogXFxmODg0O1xuJGZhLXZhci1sZXNzLXRoYW46IFxcM2M7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFxcZjEwNztcbiRmYS12YXItY2FyLXR1bm5lbDogXFxlNGRlO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci10aHVtYnMtZG93bjogXFxmMTY1O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItYXJyb3ctcmlnaHQtbG9uZzogXFxmMTc4O1xuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcXGYxNzg7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUteG1hcms6IFxcZTRhYztcbiRmYS12YXItZWxsaXBzaXM6IFxcZjE0MTtcbiRmYS12YXItZWxsaXBzaXMtaDogXFxmMTQxO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWtpdC1tZWRpY2FsOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LWFpZDogXFxmNDc5O1xuJGZhLXZhci1wZXJzb24tdGhyb3VnaC13aW5kb3c6IFxcZTVhOTtcbiRmYS12YXItdG9vbGJveDogXFxmNTUyO1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNpcmNsZTogXFxlNGZiO1xuJGZhLXZhci1idWc6IFxcZjE4ODtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JlZGl0LWNhcmQtYWx0OiBcXGYwOWQ7XG4kZmEtdmFyLWNhcjogXFxmMWI5O1xuJGZhLXZhci1hdXRvbW9iaWxlOiBcXGYxYjk7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1oYW5kOiBcXGU0Zjc7XG4kZmEtdmFyLWJvb2stb3Blbi1yZWFkZXI6IFxcZjVkYTtcbiRmYS12YXItYm9vay1yZWFkZXI6IFxcZjVkYTtcbiRmYS12YXItbW91bnRhaW4tc3VuOiBcXGU1MmY7XG4kZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmU6IFxcZTRiYTtcbiRmYS12YXItZGljZS1kMjA6IFxcZjZjZjtcbiRmYS12YXItdHJ1Y2stZHJvcGxldDogXFxlNThjO1xuJGZhLXZhci1maWxlLWNpcmNsZS14bWFyazogXFxlNWExO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy11cDogXFxlMDQwO1xuJGZhLXZhci10ZW1wZXJhdHVyZS11cDogXFxlMDQwO1xuJGZhLXZhci1tZWRhbDogXFxmNWEyO1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItc3F1YXJlLWg6IFxcZjBmZDtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTQ6IFxcZjJjNztcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFxcZjEyYjtcbiRmYS12YXItcGx1Zy1jaXJjbGUteG1hcms6IFxcZTU2MDtcbiRmYS12YXItc3Rhci1vZi1saWZlOiBcXGY2MjE7XG4kZmEtdmFyLXBob25lLXNsYXNoOiBcXGYzZGQ7XG4kZmEtdmFyLXBhaW50LXJvbGxlcjogXFxmNWFhO1xuJGZhLXZhci1oYW5kc2hha2UtYW5nbGU6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtaGVscGluZzogXFxmNGM0O1xuJGZhLXZhci1sb2NhdGlvbi1kb3Q6IFxcZjNjNTtcbiRmYS12YXItbWFwLW1hcmtlci1hbHQ6IFxcZjNjNTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1ncmVhdGVyLXRoYW46IFxcM2U7XG4kZmEtdmFyLXBlcnNvbi1zd2ltbWluZzogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWVyOiBcXGY1YzQ7XG4kZmEtdmFyLWFycm93LWRvd246IFxcZjA2MztcbiRmYS12YXItZHJvcGxldDogXFxmMDQzO1xuJGZhLXZhci10aW50OiBcXGYwNDM7XG4kZmEtdmFyLWVyYXNlcjogXFxmMTJkO1xuJGZhLXZhci1lYXJ0aC1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1lYXJ0aDogXFxmNTdkO1xuJGZhLXZhci1lYXJ0aC1hbWVyaWNhOiBcXGY1N2Q7XG4kZmEtdmFyLWdsb2JlLWFtZXJpY2FzOiBcXGY1N2Q7XG4kZmEtdmFyLXBlcnNvbi1idXJzdDogXFxlNTNiO1xuJGZhLXZhci1kb3ZlOiBcXGY0YmE7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS0wOiBcXGYyNDQ7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLXNlY3Rpb246IFxcZTQ0NztcbiRmYS12YXItZ2F1Z2UtaGlnaDogXFxmNjI1O1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmNjI1O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1mYXN0OiBcXGY2MjU7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dDogXFxmNjU4O1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjBmODtcbiRmYS12YXItaG9zcGl0YWwtd2lkZTogXFxmMGY4O1xuJGZhLXZhci13aW5lLWJvdHRsZTogXFxmNzJmO1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWJhcnMtc3RhZ2dlcmVkOiBcXGY1NTA7XG4kZmEtdmFyLXJlb3JkZXI6IFxcZjU1MDtcbiRmYS12YXItc3RyZWFtOiBcXGY1NTA7XG4kZmEtdmFyLWRoYXJtYWNoYWtyYTogXFxmNjU1O1xuJGZhLXZhci1ob3Rkb2c6IFxcZjgwZjtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctd2l0aC1jYW5lOiBcXGYyOWQ7XG4kZmEtdmFyLWJsaW5kOiBcXGYyOWQ7XG4kZmEtdmFyLWRydW06IFxcZjU2OTtcbiRmYS12YXItaWNlLWNyZWFtOiBcXGY4MTA7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1ib2x0OiBcXGU0ZmM7XG4kZmEtdmFyLWZheDogXFxmMWFjO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItY2hlY2stdG8tc2xvdDogXFxmNzcyO1xuJGZhLXZhci12b3RlLXllYTogXFxmNzcyO1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItYm94ZXMtc3RhY2tlZDogXFxmNDY4O1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1ib3hlcy1hbHQ6IFxcZjQ2ODtcbiRmYS12YXItbGluazogXFxmMGMxO1xuJGZhLXZhci1jaGFpbjogXFxmMGMxO1xuJGZhLXZhci1lYXItbGlzdGVuOiBcXGYyYTI7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXFxmMmEyO1xuJGZhLXZhci10cmVlLWNpdHk6IFxcZTU4NztcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1mb250OiBcXGYwMzE7XG4kZmEtdmFyLXJ1cGlhaC1zaWduOiBcXGUyM2Q7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3M6IFxcZjAwMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbDogXFxmNDVkO1xuJGZhLXZhci1waW5nLXBvbmctcGFkZGxlLWJhbGw6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGUtdGVubmlzOiBcXGY0NWQ7XG4kZmEtdmFyLXBlcnNvbi1kb3RzLWZyb20tbGluZTogXFxmNDcwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItdHJhc2gtY2FuLWFycm93LXVwOiBcXGY4MmE7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0OiBcXGY4MmE7XG4kZmEtdmFyLW5haXJhLXNpZ246IFxcZTFmNjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLXdhbGtpZS10YWxraWU6IFxcZjhlZjtcbiRmYS12YXItZmlsZS1wZW46IFxcZjMxYztcbiRmYS12YXItZmlsZS1lZGl0OiBcXGYzMWM7XG4kZmEtdmFyLXJlY2VpcHQ6IFxcZjU0MztcbiRmYS12YXItc3F1YXJlLXBlbjogXFxmMTRiO1xuJGZhLXZhci1wZW4tc3F1YXJlOiBcXGYxNGI7XG4kZmEtdmFyLXBlbmNpbC1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItc3VpdGNhc2Utcm9sbGluZzogXFxmNWMxO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1M2Y7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXFxmMDc4O1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeTogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5LTU6IFxcZjI0MDtcbiRmYS12YXItc2t1bGwtY3Jvc3Nib25lczogXFxmNzE0O1xuJGZhLXZhci1jb2RlLWNvbXBhcmU6IFxcZTEzYTtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1saXN0LWRvdHM6IFxcZjBjYTtcbiRmYS12YXItc2Nob29sLWxvY2s6IFxcZTU2ZjtcbiRmYS12YXItdG93ZXItY2VsbDogXFxlNTg1O1xuJGZhLXZhci1kb3duLWxvbmc6IFxcZjMwOTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bjogXFxmMzA5O1xuJGZhLXZhci1yYW5raW5nLXN0YXI6IFxcZTU2MTtcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1wZXJzb24taGFyYXNzaW5nOiBcXGU1NDk7XG4kZmEtdmFyLWJyYXppbGlhbi1yZWFsLXNpZ246IFxcZTQ2YztcbiRmYS12YXItbGFuZG1hcmstZG9tZTogXFxmNzUyO1xuJGZhLXZhci1sYW5kbWFyay1hbHQ6IFxcZjc1MjtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItdHY6IFxcZjI2YztcbiRmYS12YXItdGVsZXZpc2lvbjogXFxmMjZjO1xuJGZhLXZhci10di1hbHQ6IFxcZjI2YztcbiRmYS12YXItc2hyaW1wOiBcXGU0NDg7XG4kZmEtdmFyLWxpc3QtY2hlY2s6IFxcZjBhZTtcbiRmYS12YXItdGFza3M6IFxcZjBhZTtcbiRmYS12YXItanVnLWRldGVyZ2VudDogXFxlNTE5O1xuJGZhLXZhci1jaXJjbGUtdXNlcjogXFxmMmJkO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXFxmMmJkO1xuJGZhLXZhci11c2VyLXNoaWVsZDogXFxmNTA1O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLWNhci1idXJzdDogXFxmNWUxO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXIteTogXFw1OTtcbiRmYS12YXItcGVyc29uLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItdHJ1Y2stZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlwcGluZy1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItdXNlci1ncmFkdWF0ZTogXFxmNTAxO1xuJGZhLXZhci1jaXJjbGUtaGFsZi1zdHJva2U6IFxcZjA0MjtcbiRmYS12YXItYWRqdXN0OiBcXGYwNDI7XG4kZmEtdmFyLWNsYXBwZXJib2FyZDogXFxlMTMxO1xuJGZhLXZhci1jaXJjbGUtcmFkaWF0aW9uOiBcXGY3YmE7XG4kZmEtdmFyLXJhZGlhdGlvbi1hbHQ6IFxcZjdiYTtcbiRmYS12YXItYmFzZWJhbGw6IFxcZjQzMztcbiRmYS12YXItYmFzZWJhbGwtYmFsbDogXFxmNDMzO1xuJGZhLXZhci1qZXQtZmlnaHRlci11cDogXFxlNTE4O1xuJGZhLXZhci1kaWFncmFtLXByb2plY3Q6IFxcZjU0MjtcbiRmYS12YXItcHJvamVjdC1kaWFncmFtOiBcXGY1NDI7XG4kZmEtdmFyLWNvcHk6IFxcZjBjNTtcbiRmYS12YXItdm9sdW1lLXhtYXJrOiBcXGY2YTk7XG4kZmEtdmFyLXZvbHVtZS1tdXRlOiBcXGY2YTk7XG4kZmEtdmFyLXZvbHVtZS10aW1lczogXFxmNmE5O1xuJGZhLXZhci1oYW5kLXNwYXJrbGVzOiBcXGUwNWQ7XG4kZmEtdmFyLWdyaXA6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1ob3Jpem9udGFsOiBcXGY1OGQ7XG4kZmEtdmFyLXNoYXJlLWZyb20tc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1jaGlsZC1jb21iYXRhbnQ6IFxcZTRlMDtcbiRmYS12YXItY2hpbGQtcmlmbGU6IFxcZTRlMDtcbiRmYS12YXItZ3VuOiBcXGUxOWI7XG4kZmEtdmFyLXNxdWFyZS1waG9uZTogXFxmMDk4O1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGx1czogXFwyYjtcbiRmYS12YXItYWRkOiBcXDJiO1xuJGZhLXZhci1leHBhbmQ6IFxcZjA2NTtcbiRmYS12YXItY29tcHV0ZXI6IFxcZTRlNTtcbiRmYS12YXIteG1hcms6IFxcZjAwZDtcbiRmYS12YXItY2xvc2U6IFxcZjAwZDtcbiRmYS12YXItbXVsdGlwbHk6IFxcZjAwZDtcbiRmYS12YXItcmVtb3ZlOiBcXGYwMGQ7XG4kZmEtdmFyLXRpbWVzOiBcXGYwMGQ7XG4kZmEtdmFyLWFycm93cy11cC1kb3duLWxlZnQtcmlnaHQ6IFxcZjA0NztcbiRmYS12YXItYXJyb3dzOiBcXGYwNDc7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdXNlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXI6IFxcZjUxYztcbiRmYS12YXItcGVzby1zaWduOiBcXGUyMjI7XG4kZmEtdmFyLWJ1aWxkaW5nLXNoaWVsZDogXFxlNGQ4O1xuJGZhLXZhci1iYWJ5OiBcXGY3N2M7XG4kZmEtdmFyLXVzZXJzLWxpbmU6IFxcZTU5MjtcbiRmYS12YXItcXVvdGUtbGVmdDogXFxmMTBkO1xuJGZhLXZhci1xdW90ZS1sZWZ0LWFsdDogXFxmMTBkO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYXNoLWFycm93LXVwOiBcXGY4Mjk7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmU6IFxcZjgyOTtcbiRmYS12YXItYXJyb3ctZG93bi11cC1sb2NrOiBcXGU0YjA7XG4kZmEtdmFyLWxpbmVzLWxlYW5pbmc6IFxcZTUxZTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItY29weXJpZ2h0OiBcXGYxZjk7XG4kZmEtdmFyLWVxdWFsczogXFwzZDtcbiRmYS12YXItYmxlbmRlcjogXFxmNTE3O1xuJGZhLXZhci10ZWV0aDogXFxmNjJlO1xuJGZhLXZhci1zaGVrZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1pbHM6IFxcZjIwYjtcbiRmYS12YXItc2hla2VsOiBcXGYyMGI7XG4kZmEtdmFyLXNoZXFlbDogXFxmMjBiO1xuJGZhLXZhci1zaGVxZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1tYXA6IFxcZjI3OTtcbiRmYS12YXItcm9ja2V0OiBcXGYxMzU7XG4kZmEtdmFyLXBob3RvLWZpbG06IFxcZjg3YztcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItZm9sZGVyLW1pbnVzOiBcXGY2NWQ7XG4kZmEtdmFyLXN0b3JlOiBcXGY1NGU7XG4kZmEtdmFyLWFycm93LXRyZW5kLXVwOiBcXGUwOTg7XG4kZmEtdmFyLXBsdWctY2lyY2xlLW1pbnVzOiBcXGU1NWU7XG4kZmEtdmFyLXNpZ24taGFuZ2luZzogXFxmNGQ5O1xuJGZhLXZhci1zaWduOiBcXGY0ZDk7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLXRhYmxldDogXFxmM2ZiO1xuJGZhLXZhci10YWJsZXQtYW5kcm9pZDogXFxmM2ZiO1xuJGZhLXZhci1zY2hvb2wtZmxhZzogXFxlNTZlO1xuJGZhLXZhci1maWxsOiBcXGY1NzU7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcXGYxMDY7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWhvbGx5LWJlcnJ5OiBcXGY3YWE7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXFxmMDUzO1xuJGZhLXZhci1iYWN0ZXJpYTogXFxlMDU5O1xuJGZhLXZhci1oYW5kLWxpemFyZDogXFxmMjU4O1xuJGZhLXZhci1ub3RkZWY6IFxcZTFmZTtcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbDogXFxmNDY5O1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcXGYyMmQ7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1jYXItcmVhcjogXFxmNWRlO1xuJGZhLXZhci1jYXItYWx0OiBcXGY1ZGU7XG4kZmEtdmFyLXB1bXAtc29hcDogXFxlMDZiO1xuJGZhLXZhci12aWRlby1zbGFzaDogXFxmNGUyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS0yOiBcXGYyNDM7XG4kZmEtdmFyLXJhZGlvOiBcXGY4ZDc7XG4kZmEtdmFyLWJhYnktY2FycmlhZ2U6IFxcZjc3ZDtcbiRmYS12YXItY2FycmlhZ2UtYmFieTogXFxmNzdkO1xuJGZhLXZhci10cmFmZmljLWxpZ2h0OiBcXGY2Mzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyOiBcXGY0OTE7XG4kZmEtdmFyLXZyLWNhcmRib2FyZDogXFxmNzI5O1xuJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXI6IFxcZjgwNjtcbiRmYS12YXItcGVyY2VudDogXFwyNTtcbiRmYS12YXItcGVyY2VudGFnZTogXFwyNTtcbiRmYS12YXItdHJ1Y2stbW92aW5nOiBcXGY0ZGY7XG4kZmEtdmFyLWdsYXNzLXdhdGVyLWRyb3BsZXQ6IFxcZTRmNTtcbiRmYS12YXItZGlzcGxheTogXFxlMTYzO1xuJGZhLXZhci1mYWNlLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aHVtYi10YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRyb3BoeTogXFxmMDkxO1xuJGZhLXZhci1wZXJzb24tcHJheWluZzogXFxmNjgzO1xuJGZhLXZhci1wcmF5OiBcXGY2ODM7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW5kLXBlYWNlOiBcXGYyNWI7XG4kZmEtdmFyLXJvdGF0ZTogXFxmMmYxO1xuJGZhLXZhci1zeW5jLWFsdDogXFxmMmYxO1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXJvYm90OiBcXGY1NDQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLWdlYXJzOiBcXGYwODU7XG4kZmEtdmFyLWNvZ3M6IFxcZjA4NTtcbiRmYS12YXItd2FyZWhvdXNlOiBcXGY0OTQ7XG4kZmEtdmFyLWFycm93LXVwLXJpZ2h0LWRvdHM6IFxcZTRiNztcbiRmYS12YXItc3Bsb3RjaDogXFxmNWJjO1xuJGZhLXZhci1mYWNlLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWRpY2UtZm91cjogXFxmNTI0O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci10cmFuc2dlbmRlcjogXFxmMjI1O1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFxcZjIyNTtcbiRmYS12YXItbWVyY3VyeTogXFxmMjIzO1xuJGZhLXZhci1hcnJvdy10dXJuLWRvd246IFxcZjE0OTtcbiRmYS12YXItbGV2ZWwtZG93bjogXFxmMTQ5O1xuJGZhLXZhci1wZXJzb24tZmFsbGluZy1idXJzdDogXFxlNTQ3O1xuJGZhLXZhci1hd2FyZDogXFxmNTU5O1xuJGZhLXZhci10aWNrZXQtc2ltcGxlOiBcXGYzZmY7XG4kZmEtdmFyLXRpY2tldC1hbHQ6IFxcZjNmZjtcbiRmYS12YXItYnVpbGRpbmc6IFxcZjFhZDtcbiRmYS12YXItYW5nbGVzLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0OiBcXGYxZGE7XG4kZmEtdmFyLWhpc3Rvcnk6IFxcZjFkYTtcbiRmYS12YXItZmFjZS1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tZmlsZTogXFxmNTZlO1xuJGZhLXZhci1zaGllbGQ6IFxcZjEzMjtcbiRmYS12YXItc2hpZWxkLWJsYW5rOiBcXGYxMzI7XG4kZmEtdmFyLWFycm93LXVwLXNob3J0LXdpZGU6IFxcZjg4NTtcbiRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0OiBcXGY4ODU7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWw6IFxcZTNiMjtcbiRmYS12YXItZ29sZi1iYWxsLXRlZTogXFxmNDUwO1xuJGZhLXZhci1nb2xmLWJhbGw6IFxcZjQ1MDtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktd2luZG93OiBcXGUwMGQ7XG4kZmEtdmFyLXBlbi1uaWI6IFxcZjVhZDtcbiRmYS12YXItdGVudC1hcnJvdy10dXJuLWxlZnQ6IFxcZTU4MDtcbiRmYS12YXItdGVudHM6IFxcZTU4MjtcbiRmYS12YXItd2FuZC1tYWdpYzogXFxmMGQwO1xuJGZhLXZhci1tYWdpYzogXFxmMGQwO1xuJGZhLXZhci1kb2c6IFxcZjZkMztcbiRmYS12YXItY2Fycm90OiBcXGY3ODc7XG4kZmEtdmFyLW1vb246IFxcZjE4NjtcbiRmYS12YXItd2luZS1nbGFzcy1lbXB0eTogXFxmNWNlO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci1jaGVlc2U6IFxcZjdlZjtcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItY29kZS1jb21taXQ6IFxcZjM4NjtcbiRmYS12YXItdGVtcGVyYXR1cmUtbG93OiBcXGY3NmI7XG4kZmEtdmFyLXBlcnNvbi1iaWtpbmc6IFxcZjg0YTtcbiRmYS12YXItYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJyb29tOiBcXGY1MWE7XG4kZmEtdmFyLXNoaWVsZC1oZWFydDogXFxlNTc0O1xuJGZhLXZhci1nb3B1cmFtOiBcXGY2NjQ7XG4kZmEtdmFyLWVhcnRoLW9jZWFuaWE6IFxcZTQ3YjtcbiRmYS12YXItZ2xvYmUtb2NlYW5pYTogXFxlNDdiO1xuJGZhLXZhci1zcXVhcmUteG1hcms6IFxcZjJkMztcbiRmYS12YXItdGltZXMtc3F1YXJlOiBcXGYyZDM7XG4kZmEtdmFyLXhtYXJrLXNxdWFyZTogXFxmMmQzO1xuJGZhLXZhci1oYXNodGFnOiBcXDIzO1xuJGZhLXZhci11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyOiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hbHQ6IFxcZjQyNDtcbiRmYS12YXItb2lsLWNhbjogXFxmNjEzO1xuJGZhLXZhci10OiBcXDU0O1xuJGZhLXZhci1oaXBwbzogXFxmNmVkO1xuJGZhLXZhci1jaGFydC1jb2x1bW46IFxcZTBlMztcbiRmYS12YXItaW5maW5pdHk6IFxcZjUzNDtcbiRmYS12YXItdmlhbC1jaXJjbGUtY2hlY2s6IFxcZTU5NjtcbiRmYS12YXItcGVyc29uLWFycm93LWRvd24tdG8tbGluZTogXFxlNTM4O1xuJGZhLXZhci12b2ljZW1haWw6IFxcZjg5NztcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWx1Z2dhZ2U6IFxcZTU1NDtcbiRmYS12YXItdXAtZG93bjogXFxmMzM4O1xuJGZhLXZhci1hcnJvd3MtYWx0LXY6IFxcZjMzODtcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLXRyYWlsZXI6IFxcZTA0MTtcbiRmYS12YXItYmFoYWk6IFxcZjY2NjtcbiRmYS12YXItaGF5a2FsOiBcXGY2NjY7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItZHJhZ29uOiBcXGY2ZDU7XG4kZmEtdmFyLXNob2UtcHJpbnRzOiBcXGY1NGI7XG4kZmEtdmFyLWNpcmNsZS1wbHVzOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTVkO1xuJGZhLXZhci1saW5rLXNsYXNoOiBcXGYxMjc7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXFxmMTI3O1xuJGZhLXZhci1jaGFpbi1zbGFzaDogXFxmMTI3O1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0OiBcXGU1NTE7XG4kZmEtdmFyLWFycm93LXVwLXotYTogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1maXJlLWZsYW1lLWN1cnZlZDogXFxmN2U0O1xuJGZhLXZhci1maXJlLWFsdDogXFxmN2U0O1xuJGZhLXZhci10b3JuYWRvOiBcXGY3NmY7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXBsdXM6IFxcZTQ5NDtcbiRmYS12YXItYm9vay1xdXJhbjogXFxmNjg3O1xuJGZhLXZhci1xdXJhbjogXFxmNjg3O1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1mYWNlLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWNvb2tpZS1iaXRlOiBcXGY1NjQ7XG4kZmEtdmFyLWFycm93LXRyZW5kLWRvd246IFxcZTA5NztcbiRmYS12YXItcnNzOiBcXGYwOWU7XG4kZmEtdmFyLWZlZWQ6IFxcZjA5ZTtcbiRmYS12YXItZHJhdy1wb2x5Z29uOiBcXGY1ZWU7XG4kZmEtdmFyLXNjYWxlLWJhbGFuY2VkOiBcXGYyNGU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlLWhpZ2g6IFxcZjYyYTtcbiRmYS12YXItdGFjaG9tZXRlcjogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyLWZhc3Q6IFxcZjYyYTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjM5MDtcbiRmYS12YXItZGVza3RvcC1hbHQ6IFxcZjM5MDtcbiRmYS12YXItbTogXFw0ZDtcbiRmYS12YXItdGFibGUtbGlzdDogXFxmMDBiO1xuJGZhLXZhci10aC1saXN0OiBcXGYwMGI7XG4kZmEtdmFyLWNvbW1lbnQtc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLXNtczogXFxmN2NkO1xuJGZhLXZhci1ib29rOiBcXGYwMmQ7XG4kZmEtdmFyLXVzZXItcGx1czogXFxmMjM0O1xuJGZhLXZhci1jaGVjazogXFxmMDBjO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcXGYyNDE7XG4kZmEtdmFyLWJhdHRlcnktNDogXFxmMjQxO1xuJGZhLXZhci1ob3VzZS1jaXJjbGUtY2hlY2s6IFxcZTUwOTtcbiRmYS12YXItYW5nbGUtbGVmdDogXFxmMTA0O1xuJGZhLXZhci1kaWFncmFtLXN1Y2Nlc3NvcjogXFxlNDdhO1xuJGZhLXZhci10cnVjay1hcnJvdy1yaWdodDogXFxlNThiO1xuJGZhLXZhci1hcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQ6IFxcZTRiYztcbiRmYS12YXItaGFuZC1maXN0OiBcXGY2ZGU7XG4kZmEtdmFyLWZpc3QtcmFpc2VkOiBcXGY2ZGU7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLXBlcnNvbi1mYWxsaW5nOiBcXGU1NDY7XG4kZmEtdmFyLWltYWdlLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXVzZXItdGFnOiBcXGY1MDc7XG4kZmEtdmFyLXJ1ZzogXFxlNTY5O1xuJGZhLXZhci1lYXJ0aC1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ2xvYmUtZXVyb3BlOiBcXGY3YTI7XG4kZmEtdmFyLWNhcnQtZmxhdGJlZC1zdWl0Y2FzZTogXFxmNTlkO1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItcmVjdGFuZ2xlLXhtYXJrOiBcXGY0MTA7XG4kZmEtdmFyLXJlY3RhbmdsZS10aW1lczogXFxmNDEwO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGU6IFxcZjQxMDtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcXGY0MTA7XG4kZmEtdmFyLWJhaHQtc2lnbjogXFxlMGFjO1xuJGZhLXZhci1ib29rLW9wZW46IFxcZjUxODtcbiRmYS12YXItYm9vay1qb3VybmFsLXdoaWxsczogXFxmNjZhO1xuJGZhLXZhci1qb3VybmFsLXdoaWxsczogXFxmNjZhO1xuJGZhLXZhci1oYW5kY3VmZnM6IFxcZTRmODtcbiRmYS12YXItdHJpYW5nbGUtZXhjbGFtYXRpb246IFxcZjA3MTtcbiRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU6IFxcZjA3MTtcbiRmYS12YXItd2FybmluZzogXFxmMDcxO1xuJGZhLXZhci1kYXRhYmFzZTogXFxmMWMwO1xuJGZhLXZhci1zaGFyZTogXFxmMDY0O1xuJGZhLXZhci1tYWlsLWZvcndhcmQ6IFxcZjA2NDtcbiRmYS12YXItYm90dGxlLWRyb3BsZXQ6IFxcZTRjNDtcbiRmYS12YXItbWFzay1mYWNlOiBcXGUxZDc7XG4kZmEtdmFyLWhpbGwtcm9ja3NsaWRlOiBcXGU1MDg7XG4kZmEtdmFyLXJpZ2h0LWxlZnQ6IFxcZjM2MjtcbiRmYS12YXItZXhjaGFuZ2UtYWx0OiBcXGYzNjI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcXGYxZDg7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NjU7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFxcZjAzODtcbiRmYS12YXItbW9uZXktYmlsbC0xLXdhdmU6IFxcZjUzYjtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1saWZlLXJpbmc6IFxcZjFjZDtcbiRmYS12YXItaGFuZHM6IFxcZjJhNztcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduaW5nOiBcXGYyYTc7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci13YXRlci1sYWRkZXI6IFxcZjVjNTtcbiRmYS12YXItbGFkZGVyLXdhdGVyOiBcXGY1YzU7XG4kZmEtdmFyLXN3aW1taW5nLXBvb2w6IFxcZjVjNTtcbiRmYS12YXItYXJyb3dzLXVwLWRvd246IFxcZjA3ZDtcbiRmYS12YXItYXJyb3dzLXY6IFxcZjA3ZDtcbiRmYS12YXItZmFjZS1ncmltYWNlOiBcXGY1N2Y7XG4kZmEtdmFyLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItd2hlZWxjaGFpci1tb3ZlOiBcXGUyY2U7XG4kZmEtdmFyLXdoZWVsY2hhaXItYWx0OiBcXGUyY2U7XG4kZmEtdmFyLXR1cm4tZG93bjogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodDogXFxlNTUyO1xuJGZhLXZhci1zcXVhcmUtZW52ZWxvcGU6IFxcZjE5OTtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWRpY2U6IFxcZjUyMjtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJyYWluOiBcXGY1ZGM7XG4kZmEtdmFyLWJhbmRhZ2U6IFxcZjQ2MjtcbiRmYS12YXItYmFuZC1haWQ6IFxcZjQ2MjtcbiRmYS12YXItY2FsZW5kYXItbWludXM6IFxcZjI3MjtcbiRmYS12YXItY2lyY2xlLXhtYXJrOiBcXGYwNTc7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXFxmMDU3O1xuJGZhLXZhci14bWFyay1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItZ2lmdHM6IFxcZjc5YztcbiRmYS12YXItaG90ZWw6IFxcZjU5NDtcbiRmYS12YXItZWFydGgtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWlkLWNhcmQtY2xpcDogXFxmNDdmO1xuJGZhLXZhci1pZC1jYXJkLWFsdDogXFxmNDdmO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLXBsdXM6IFxcZjAwZTtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFxcZjAwZTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItaGFuZC1kb3RzOiBcXGY0NjE7XG4kZmEtdmFyLWFsbGVyZ2llczogXFxmNDYxO1xuJGZhLXZhci1maWxlLWludm9pY2U6IFxcZjU3MDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLW11Zy1zYXVjZXI6IFxcZjBmNDtcbiRmYS12YXItY29mZmVlOiBcXGYwZjQ7XG4kZmEtdmFyLWJydXNoOiBcXGY1NWQ7XG4kZmEtdmFyLW1hc2s6IFxcZjZmYTtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFxcZjAxMDtcbiRmYS12YXItcnVsZXItdmVydGljYWw6IFxcZjU0ODtcbiRmYS12YXItdXNlci1sYXJnZTogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci10cmFpbi10cmFtOiBcXGU1YjQ7XG4kZmEtdmFyLXVzZXItbnVyc2U6IFxcZjgyZjtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItc3RvcHdhdGNoLTIwOiBcXGUwNmY7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1qYXI6IFxcZTUxNjtcbiRmYS12YXItbm90ZS1zdGlja3k6IFxcZjI0OTtcbiRmYS12YXItc3RpY2t5LW5vdGU6IFxcZjI0OTtcbiRmYS12YXItYnVnLXNsYXNoOiBcXGU0OTA7XG4kZmEtdmFyLWFycm93LXVwLWZyb20td2F0ZXItcHVtcDogXFxlNGI2O1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci1mYWNlLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXRlbnQtYXJyb3dzLWRvd246IFxcZTU4MTtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcMjE7XG4kZmEtdmFyLWFycm93cy1zcGluOiBcXGU0YmI7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYS1zaWduOiBcXGUyYmI7XG4kZmEtdmFyLXRyeTogXFxlMmJiO1xuJGZhLXZhci10dXJraXNoLWxpcmE6IFxcZTJiYjtcbiRmYS12YXItZG9sbGFyLXNpZ246IFxcMjQ7XG4kZmEtdmFyLWRvbGxhcjogXFwyNDtcbiRmYS12YXItdXNkOiBcXDI0O1xuJGZhLXZhci14OiBcXDU4O1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci1zZWFyY2gtZG9sbGFyOiBcXGY2ODg7XG4kZmEtdmFyLXVzZXJzLWdlYXI6IFxcZjUwOTtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1wb2ludGluZzogXFxlNTRhO1xuJGZhLXZhci1idWlsZGluZy1jb2x1bW5zOiBcXGYxOWM7XG4kZmEtdmFyLWJhbms6IFxcZjE5YztcbiRmYS12YXItaW5zdGl0dXRpb246IFxcZjE5YztcbiRmYS12YXItbXVzZXVtOiBcXGYxOWM7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW1icmVsbGE6IFxcZjBlOTtcbiRmYS12YXItdHJvd2VsOiBcXGU1ODk7XG4kZmEtdmFyLWQ6IFxcNDQ7XG4kZmEtdmFyLXN0YXBsZXI6IFxcZTVhZjtcbiRmYS12YXItbWFza3MtdGhlYXRlcjogXFxmNjMwO1xuJGZhLXZhci10aGVhdGVyLW1hc2tzOiBcXGY2MzA7XG4kZmEtdmFyLWtpcC1zaWduOiBcXGUxYzQ7XG4kZmEtdmFyLWhhbmQtcG9pbnQtbGVmdDogXFxmMGE1O1xuJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlOiBcXGY0YzY7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQ6IFxcZjRjNjtcbiRmYS12YXItamV0LWZpZ2h0ZXI6IFxcZjBmYjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItc3F1YXJlLXNoYXJlLW5vZGVzOiBcXGYxZTE7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItYmFyY29kZTogXFxmMDJhO1xuJGZhLXZhci1wbHVzLW1pbnVzOiBcXGU0M2M7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLWNhbWVyYTogXFxmMDNkO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFxcZjE5ZDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItcGVyc29uLWNpcmNsZS1jaGVjazogXFxlNTNlO1xuJGZhLXZhci10dXJuLXVwOiBcXGYzYmY7XG4kZmEtdmFyLWxldmVsLXVwLWFsdDogXFxmM2JmO1xuXG4kZmEtdmFyLW1vbmVybzogXFxmM2QwO1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci15ZWxwOiBcXGYxZTk7XG4kZmEtdmFyLWNjLXZpc2E6IFxcZjFmMDtcbiRmYS12YXItbGFzdGZtOiBcXGYyMDI7XG4kZmEtdmFyLXNob3B3YXJlOiBcXGY1YjU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci15b2FzdDogXFxmMmIxO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci1waXhpdjogXFxlNjQwO1xuJGZhLXZhci13cGV4cGxvcmVyOiBcXGYyZGU7XG4kZmEtdmFyLWR5YWxvZzogXFxmMzk5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLXN0YWNrcGF0aDogXFxmODQyO1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLW1vZHg6IFxcZjI4NTtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci12bnY6IFxcZjQwYjtcbiRmYS12YXItc3F1YXJlLWpzOiBcXGYzYjk7XG4kZmEtdmFyLWpzLXNxdWFyZTogXFxmM2I5O1xuJGZhLXZhci1taWNyb3NvZnQ6IFxcZjNjYTtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItb3JjaWQ6IFxcZjhkMjtcbiRmYS12YXItamF2YTogXFxmNGU0O1xuJGZhLXZhci1pbnZpc2lvbjogXFxmN2IwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWdsaWRlLWc6IFxcZjJhNjtcbiRmYS12YXItZHJ1cGFsOiBcXGYxYTk7XG4kZmEtdmFyLWhpcmUtYS1oZWxwZXI6IFxcZjNiMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieTogXFxmNGU3O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci13aG1jczogXFxmNDBkO1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXZrOiBcXGYxODk7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLWNzczMtYWx0OiBcXGYzOGI7XG4kZmEtdmFyLXNxdWFyZS1yZWRkaXQ6IFxcZjFhMjtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXFxmMWEyO1xuJGZhLXZhci12aW1lby12OiBcXGYyN2Q7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lOiBcXGU1YWQ7XG4kZmEtdmFyLWRlc2twcm86IFxcZjM4ZjtcbiRmYS12YXItYnJhdmU6IFxcZTYzYztcbiRmYS12YXItc2lzdHJpeDogXFxmM2VlO1xuJGZhLXZhci1zcXVhcmUtaW5zdGFncmFtOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmU6IFxcZTA1NTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci10aGUtcmVkLXlldGk6IFxcZjY5ZDtcbiRmYS12YXItc3F1YXJlLWhhY2tlci1uZXdzOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZTogXFxmM2FmO1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLXRocmVhZHM6IFxcZTYxODtcbiRmYS12YXItbmFwc3RlcjogXFxmM2QyO1xuJGZhLXZhci1zcXVhcmUtc25hcGNoYXQ6IFxcZjJhZDtcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItYXJ0c3RhdGlvbjogXFxmNzdhO1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWRpYXNwb3JhOiBcXGY3OTE7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFxcZjE2YztcbiRmYS12YXItZ2l0aHViLWFsdDogXFxmMTEzO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBhZ2VsaW5lczogXFxmMThjO1xuJGZhLXZhci1hbGdvbGlhOiBcXGYzNmM7XG4kZmEtdmFyLXJlZC1yaXZlcjogXFxmM2UzO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhOiBcXGY0ZWY7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2U6IFxcZjM1YztcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1hdGxhc3NpYW46IFxcZjc3YjtcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItZGlnaXRhbC1vY2VhbjogXFxmMzkxO1xuJGZhLXZhci1uaW1ibHI6IFxcZjVhODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOiBcXGY0ZjA7XG4kZmEtdmFyLWFkdmVyc2FsOiBcXGYzNmE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFxcZjI1ZTtcbiRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZzogXFxlMDg3O1xuJGZhLXZhci1mb250aWNvbnM6IFxcZjI4MDtcbiRmYS12YXItd2VpeGluOiBcXGYxZDc7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXFxmMjE0O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWdpdC1hbHQ6IFxcZjg0MTtcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItd2luZG93czogXFxmMTdhO1xuJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdDogXFxmNzMwO1xuJGZhLXZhci1zcXVhcmUtdmlhZGVvOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWRlby1zcXVhcmU6IFxcZjJhYTtcbiRmYS12YXItbWVldHVwOiBcXGYyZTA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1vcGVuc3VzZTogXFxlNjJiO1xuJGZhLXZhci1waWVkLXBpcGVyLWFsdDogXFxmMWE4O1xuJGZhLXZhci1zcXVhcmUtZHJpYmJibGU6IFxcZjM5NztcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbWl4OiBcXGYzY2I7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLWNjLWFwcGxlLXBheTogXFxmNDE2O1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItZGViaWFuOiBcXGU2MGI7XG4kZmEtdmFyLW9wZW5pZDogXFxmMTliO1xuJGZhLXZhci1pbnN0YWxvZDogXFxlMDgxO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFxcZjIzZTtcbiRmYS12YXItc2VsbGNhc3Q6IFxcZjJkYTtcbiRmYS12YXItc3F1YXJlLXR3aXR0ZXI6IFxcZjA4MTtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFxcZjA4MTtcbiRmYS12YXItci1wcm9qZWN0OiBcXGY0Zjc7XG4kZmEtdmFyLWRlbGljaW91czogXFxmMWE1O1xuJGZhLXZhci1mcmVlYnNkOiBcXGYzYTQ7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLWFjY3Vzb2Z0OiBcXGYzNjk7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItZm9udGljb25zLWZpOiBcXGYzYTI7XG4kZmEtdmFyLWFwcC1zdG9yZTogXFxmMzZmO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWdvbGFuZzogXFxlNDBmO1xuJGZhLXZhci1raWNrc3RhcnRlcjogXFxmM2JiO1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLXNxdWFyZS15b3V0dWJlOiBcXGY0MzE7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcXGY0MzE7XG4kZmEtdmFyLXdpa2lwZWRpYS13OiBcXGYyNjY7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItcmVuZGFjdDogXFxmM2U0O1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItbmZjLWRpcmVjdGlvbmFsOiBcXGU1MzA7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLWpvZ2V0OiBcXGYzYjc7XG4kZmEtdmFyLWZlZG9yYTogXFxmNzk4O1xuJGZhLXZhci1zdHJpcGUtczogXFxmNDJhO1xuJGZhLXZhci1tZXRhOiBcXGU0OWI7XG4kZmEtdmFyLWxhcmF2ZWw6IFxcZjNiZDtcbiRmYS12YXItaG90amFyOiBcXGYzYjE7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcXGYyOTQ7XG4kZmEtdmFyLXNxdWFyZS1sZXR0ZXJib3hkOiBcXGU2MmU7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItaGlwczogXFxmNDUyO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLXJlZGRpdDogXFxmMWExO1xuJGZhLXZhci1kaXNjb3JkOiBcXGYzOTI7XG4kZmEtdmFyLWNocm9tZTogXFxmMjY4O1xuJGZhLXZhci1hcHAtc3RvcmUtaW9zOiBcXGYzNzA7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItY29uZmx1ZW5jZTogXFxmNzhkO1xuJGZhLXZhci1zaG9lbGFjZTogXFxlNjBjO1xuJGZhLXZhci1tZGI6IFxcZjhjYTtcbiRmYS12YXItZG9jaHViOiBcXGYzOTQ7XG4kZmEtdmFyLWFjY2Vzc2libGUtaWNvbjogXFxmMzY4O1xuJGZhLXZhci1lYmF5OiBcXGY0ZjQ7XG4kZmEtdmFyLWFtYXpvbjogXFxmMjcwO1xuJGZhLXZhci11bnNwbGFzaDogXFxlMDdjO1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXNxdWFyZS1zdGVhbTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItNTAwcHg6IFxcZjI2ZTtcbiRmYS12YXItc3F1YXJlLXZpbWVvOiBcXGYxOTQ7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXFxmMTk0O1xuJGZhLXZhci1hc3ltbWV0cmlrOiBcXGYzNzI7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGYyYjQ7XG4kZmEtdmFyLWdyYXRpcGF5OiBcXGYxODQ7XG4kZmEtdmFyLWFwcGxlOiBcXGYxNzk7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItZ2l0a3Jha2VuOiBcXGYzYTY7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXItYXBwbGUtcGF5OiBcXGY0MTU7XG4kZmEtdmFyLXBhZGxldDogXFxlNGEwO1xuJGZhLXZhci1hbWF6b24tcGF5OiBcXGY0MmM7XG4kZmEtdmFyLXNxdWFyZS1naXRodWI6IFxcZjA5MjtcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1zdHVtYmxldXBvbjogXFxmMWE0O1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1zaG9waWZ5OiBcXGUwNTc7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItc3F1YXJlLXRocmVhZHM6IFxcZTYxOTtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1yZXNlYXJjaGdhdGU6IFxcZjRmODtcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItYW5ndWxhcjogXFxmNDIwO1xuJGZhLXZhci1zcGVha2FwOiBcXGYzZjM7XG4kZmEtdmFyLWFuZ3J5Y3JlYXRpdmU6IFxcZjM2ZTtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcXGYyM2I7XG4kZmEtdmFyLWVtcGlyZTogXFxmMWQxO1xuJGZhLXZhci1lbnZpcmE6IFxcZjI5OTtcbiRmYS12YXItZ29vZ2xlLXNjaG9sYXI6IFxcZTYzYjtcbiRmYS12YXItc3F1YXJlLWdpdGxhYjogXFxlNWFlO1xuJGZhLXZhci1naXRsYWItc3F1YXJlOiBcXGU1YWU7XG4kZmEtdmFyLXN0dWRpb3ZpbmFyaTogXFxmM2Y4O1xuJGZhLXZhci1waWVkLXBpcGVyOiBcXGYyYWU7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFxcZjI4ODtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1saW5vZGU6IFxcZjJiODtcbiRmYS12YXItZ29vZHJlYWRzOiBcXGYzYTg7XG4kZmEtdmFyLXNxdWFyZS1vZG5va2xhc3NuaWtpOiBcXGYyNjQ7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcXGYyNjQ7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLXNpdGg6IFxcZjUxMjtcbiRmYS12YXItdGhlbWVpc2xlOiBcXGYyYjI7XG4kZmEtdmFyLXBhZ2U0OiBcXGYzZDc7XG4kZmEtdmFyLWhhc2hub2RlOiBcXGU0OTk7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1iaXRjb2luOiBcXGYzNzk7XG4kZmEtdmFyLWtleWNkbjogXFxmM2JhO1xuJGZhLXZhci1vcGVyYTogXFxmMjZhO1xuJGZhLXZhci1pdGNoLWlvOiBcXGY4M2E7XG4kZmEtdmFyLXVtYnJhY286IFxcZjhlODtcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci1kcmFmdDJkaWdpdGFsOiBcXGYzOTY7XG4kZmEtdmFyLXN0cmlwZTogXFxmNDI5O1xuJGZhLXZhci1ob3V6ejogXFxmMjdjO1xuJGZhLXZhci1nZzogXFxmMjYwO1xuJGZhLXZhci1kaGw6IFxcZjc5MDtcbiRmYS12YXItc3F1YXJlLXBpbnRlcmVzdDogXFxmMGQzO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXhpbmc6IFxcZjE2ODtcbiRmYS12YXItYmxhY2tiZXJyeTogXFxmMzdiO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkOiBcXGY0ZWM7XG4kZmEtdmFyLXBsYXlzdGF0aW9uOiBcXGYzZGY7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1sZXNzOiBcXGY0MWQ7XG4kZmEtdmFyLWJsb2dnZXItYjogXFxmMzdkO1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXNpZ25hbC1tZXNzZW5nZXI6IFxcZTY2MztcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLWdpdGxhYjogXFxmMjk2O1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFxcZjI4MTtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1uZmMtc3ltYm9sOiBcXGU1MzE7XG4kZmEtdmFyLW1pbnRiaXQ6IFxcZTYyZjtcbiRmYS12YXItZXRoZXJldW06IFxcZjQyZTtcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6IFxcZjRlOTtcbiRmYS12YXItcGF0cmVvbjogXFxmM2Q5O1xuJGZhLXZhci1hdmlhbmV4OiBcXGYzNzQ7XG4kZmEtdmFyLWVsbG86IFxcZjVmMTtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWJpbW9iamVjdDogXFxmMzc4O1xuJGZhLXZhci1icmF2ZS1yZXZlcnNlOiBcXGU2M2Q7XG4kZmEtdmFyLWZhY2Vib29rLWY6IFxcZjM5ZTtcbiRmYS12YXItc3F1YXJlLWdvb2dsZS1wbHVzOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTogXFxmMGQ0O1xuJGZhLXZhci1tYW5kYWxvcmlhbjogXFxmNTBmO1xuJGZhLXZhci1maXJzdC1vcmRlci1hbHQ6IFxcZjUwYTtcbiRmYS12YXItb3NpOiBcXGY0MWE7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItY2xvdWRzY2FsZTogXFxmMzgzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNxdWFyZS14aW5nOiBcXGYxNjk7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcXGYxNjk7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLXdwZm9ybXM6IFxcZjI5ODtcbiRmYS12YXItY2xvdWR2ZXJzaWZ5OiBcXGYzODU7XG4kZmEtdmFyLXVzcHM6IFxcZjdlMTtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWFnZW50bzogXFxmM2M0O1xuJGZhLXZhci1zcG90aWZ5OiBcXGYxYmM7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFxcZjIzYztcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWF2aWF0bzogXFxmNDIxO1xuJGZhLXZhci1pdHVuZXM6IFxcZjNiNDtcbiRmYS12YXItY3V0dGxlZmlzaDogXFxmMzhjO1xuJGZhLXZhci1ibG9nZ2VyOiBcXGYzN2M7XG4kZmEtdmFyLWZsaWNrcjogXFxmMTZlO1xuJGZhLXZhci12aWJlcjogXFxmNDA5O1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcXGYxYmU7XG4kZmEtdmFyLWRpZ2c6IFxcZjFhNjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci1sZXR0ZXJib3hkOiBcXGU2MmQ7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItbWF4Y2RuOiBcXGYxMzY7XG4kZmEtdmFyLWV0c3k6IFxcZjJkNztcbiRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyOiBcXGYzOWY7XG4kZmEtdmFyLWF1ZGlibGU6IFxcZjM3MztcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItYmlsaWJpbGk6IFxcZTNkOTtcbiRmYS12YXItZXJsYW5nOiBcXGYzOWQ7XG4kZmEtdmFyLXgtdHdpdHRlcjogXFxlNjFiO1xuJGZhLXZhci1jb3R0b24tYnVyZWF1OiBcXGY4OWU7XG4kZmEtdmFyLWRhc2hjdWJlOiBcXGYyMTA7XG4kZmEtdmFyLTQyLWdyb3VwOiBcXGUwODA7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcXGYxOGQ7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1zcXVhcmUtcGllZC1waXBlcjogXFxlMDFlO1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kOiBcXGY0ZWI7XG4kZmEtdmFyLXBhbGZlZDogXFxmM2Q4O1xuJGZhLXZhci1zdXBlcnBvd2VyczogXFxmMmRkO1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXIteGJveDogXFxmNDEyO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci10aWt0b2s6IFxcZTA3YjtcbiRmYS12YXItc3F1YXJlLWZhY2Vib29rOiBcXGYwODI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXFxmMDgyO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItbGludXg6IFxcZjE3YztcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1kZXBsb3lkb2c6IFxcZjM4ZTtcbiRmYS12YXItdHdpdGNoOiBcXGYxZTg7XG4kZmEtdmFyLXJhdmVscnk6IFxcZjJkOTtcbiRmYS12YXItbWl4ZXI6IFxcZTA1NjtcbiRmYS12YXItc3F1YXJlLWxhc3RmbTogXFxmMjAzO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLXZpbWVvOiBcXGY0MGE7XG4kZmEtdmFyLW1lbmRlbGV5OiBcXGY3YjM7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6IFxcZjRlZTtcbiRmYS12YXItY2MtYW1hem9uLXBheTogXFxmNDJkO1xuJGZhLXZhci1kcm9wYm94OiBcXGYxNmI7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1jbXBsaWQ6IFxcZTM2MDtcbiRmYS12YXItdXB3b3JrOiBcXGU2NDE7XG4kZmEtdmFyLWZhY2Vib29rOiBcXGYwOWE7XG4kZmEtdmFyLWdyaXBmaXJlOiBcXGYzYWM7XG4kZmEtdmFyLWplZGktb3JkZXI6IFxcZjUwZTtcbiRmYS12YXItdWlraXQ6IFxcZjQwMztcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci11c3N1bm5haDogXFxmNDA3O1xuJGZhLXZhci1lYXJseWJpcmRzOiBcXGYzOWE7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItYXV0b3ByZWZpeGVyOiBcXGY0MWM7XG4kZmEtdmFyLXdoYXRzYXBwOiBcXGYyMzI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItZ29vZ2xlLXBsYXk6IFxcZjNhYjtcbiRmYS12YXItdmlhZGVvOiBcXGYyYTk7XG4kZmEtdmFyLWxpbmU6IFxcZjNjMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItaW1kYjogXFxmMmQ4O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItcmFzcGJlcnJ5LXBpOiBcXGY3YmI7XG4kZmEtdmFyLWppcmE6IFxcZjdiMTtcbiRmYS12YXItZG9ja2VyOiBcXGYzOTU7XG4kZmEtdmFyLXNjcmVlbnBhbDogXFxlNTcwO1xuJGZhLXZhci1ibHVldG9vdGg6IFxcZjI5MztcbiRmYS12YXItZ2l0dGVyOiBcXGY0MjY7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItbWljcm9ibG9nOiBcXGUwMWE7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1waWVkLXBpcGVyLWhhdDogXFxmNGU1O1xuJGZhLXZhci1raWNrc3RhcnRlci1rOiBcXGYzYmM7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItc2VsbHN5OiBcXGYyMTM7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItd2lyc2luZGhhbmR3ZXJrOiBcXGUyZDA7XG4kZmEtdmFyLXdzaDogXFxlMmQwO1xuJGZhLXZhci1idXJvbW9iZWxleHBlcnRlOiBcXGYzN2Y7XG4kZmEtdmFyLXNhbGVzZm9yY2U6IFxcZjgzYjtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1uczg6IFxcZjNkNTtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItY2MtamNiOiBcXGYyNGI7XG4kZmEtdmFyLXNuYXBjaGF0OiBcXGYyYWI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcXGYyYWI7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLXJ1c3Q6IFxcZTA3YTtcbiRmYS12YXItd2l4OiBcXGY1Y2Y7XG4kZmEtdmFyLXNxdWFyZS1iZWhhbmNlOiBcXGYxYjU7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci13ZWJmbG93OiBcXGU2NWM7XG4kZmEtdmFyLXJlYmVsOiBcXGYxZDA7XG4kZmEtdmFyLWNzczM6IFxcZjEzYztcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXItc3BhY2UtYXdlc29tZTogXFxlNWFjO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcXGYxYmQ7XG4kZmEtdmFyLWNwYW5lbDogXFxmMzg4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1zcXVhcmUtZ2l0OiBcXGYxZDI7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItc3F1YXJlLXR1bWJscjogXFxmMTc0O1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcXGYxNzQ7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFxcZjI2NTtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1ncnVudDogXFxmM2FkO1xuJGZhLXZhci13ZWVibHk6IFxcZjVjYztcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFxcZjIwZTtcbiRmYS12YXItbGVhbnB1YjogXFxmMjEyO1xuJGZhLXZhci1ibGFjay10aWU6IFxcZjI3ZTtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1ib3RzOiBcXGUzNDA7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcXGYyYzU7XG4kZmEtdmFyLWhvcm5iaWxsOiBcXGY1OTI7XG4kZmEtdmFyLWpzOiBcXGYzYjg7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1kZXY6IFxcZjZjYztcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsOiBcXGY0MTQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItdWJlcjogXFxmNDAyO1xuJGZhLXZhci1naXRodWI6IFxcZjA5YjtcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci15b3V0dWJlOiBcXGYxNjc7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLWZpcmVmb3gtYnJvd3NlcjogXFxlMDA3O1xuJGZhLXZhci1yZXBseWQ6IFxcZjNlNjtcbiRmYS12YXItc3VzZTogXFxmN2Q2O1xuJGZhLXZhci1qZW5raW5zOiBcXGYzYjY7XG4kZmEtdmFyLXR3aXR0ZXI6IFxcZjA5OTtcbiRmYS12YXItcm9ja3JtczogXFxmM2U5O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLW5wbTogXFxmM2Q0O1xuJGZhLXZhci15YW1tZXI6IFxcZjg0MDtcbiRmYS12YXItYnRjOiBcXGYxNWE7XG4kZmEtdmFyLWRyaWJiYmxlOiBcXGYxN2Q7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXFxmMjZiO1xuJGZhLXZhci1zdHViYmVyOiBcXGU1Yzc7XG4kZmEtdmFyLXRlbGVncmFtOiBcXGYyYzY7XG4kZmEtdmFyLXRlbGVncmFtLXBsYW5lOiBcXGYyYzY7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vZHlzZWU6IFxcZTVjNjtcbiRmYS12YXItc3F1YXJlLXdoYXRzYXBwOiBcXGY0MGM7XG4kZmEtdmFyLXdoYXRzYXBwLXNxdWFyZTogXFxmNDBjO1xuJGZhLXZhci1ub2RlLWpzOiBcXGYzZDM7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjE5ODtcbiRmYS12YXItbWVkcnQ6IFxcZjNjODtcbiRmYS12YXItdXNiOiBcXGYyODc7XG4kZmEtdmFyLXR1bWJscjogXFxmMTczO1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItcXVvcmE6IFxcZjJjNDtcbiRmYS12YXItc3F1YXJlLXgtdHdpdHRlcjogXFxlNjFhO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjIzYTtcbiRmYS12YXItYW1pbGlhOiBcXGYzNmQ7XG4kZmEtdmFyLW1peGNsb3VkOiBcXGYyODk7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLWNyaXRpY2FsLXJvbGU6IFxcZjZjOTtcbiRmYS12YXItc2l0cm94OiBcXGU0NGE7XG4kZmEtdmFyLWRpc2NvdXJzZTogXFxmMzkzO1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItbWFzdG9kb246IFxcZjRmNjtcbiRmYS12YXItYWlyYm5iOiBcXGY4MzQ7XG4kZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb246IFxcZjUxNDtcbiRmYS12YXItYnV5LW4tbGFyZ2U6IFxcZjhhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItc3RyYXZhOiBcXGY0Mjg7XG4kZmEtdmFyLWVtYmVyOiBcXGY0MjM7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLXdvZHU6IFxcZTA4ODtcbiRmYS12YXItZ29vZ2xlLXBheTogXFxlMDc5O1xuJGZhLXZhci1pbnRlcmNvbTogXFxmN2FmO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItcGl4OiBcXGU0M2E7XG4kZmEtdmFyLXN0ZWFtLXN5bWJvbDogXFxmM2Y2O1xuXG4kZmEtaWNvbnM6IChcbiAgXCIwXCI6ICRmYS12YXItMCxcbiAgXCIxXCI6ICRmYS12YXItMSxcbiAgXCIyXCI6ICRmYS12YXItMixcbiAgXCIzXCI6ICRmYS12YXItMyxcbiAgXCI0XCI6ICRmYS12YXItNCxcbiAgXCI1XCI6ICRmYS12YXItNSxcbiAgXCI2XCI6ICRmYS12YXItNixcbiAgXCI3XCI6ICRmYS12YXItNyxcbiAgXCI4XCI6ICRmYS12YXItOCxcbiAgXCI5XCI6ICRmYS12YXItOSxcbiAgXCJmaWxsLWRyaXBcIjogJGZhLXZhci1maWxsLWRyaXAsXG4gIFwiYXJyb3dzLXRvLWNpcmNsZVwiOiAkZmEtdmFyLWFycm93cy10by1jaXJjbGUsXG4gIFwiY2lyY2xlLWNoZXZyb24tcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1yaWdodCxcbiAgXCJjaGV2cm9uLWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0LFxuICBcImF0XCI6ICRmYS12YXItYXQsXG4gIFwidHJhc2gtY2FuXCI6ICRmYS12YXItdHJhc2gtY2FuLFxuICBcInRyYXNoLWFsdFwiOiAkZmEtdmFyLXRyYXNoLWFsdCxcbiAgXCJ0ZXh0LWhlaWdodFwiOiAkZmEtdmFyLXRleHQtaGVpZ2h0LFxuICBcInVzZXIteG1hcmtcIjogJGZhLXZhci11c2VyLXhtYXJrLFxuICBcInVzZXItdGltZXNcIjogJGZhLXZhci11c2VyLXRpbWVzLFxuICBcInN0ZXRob3Njb3BlXCI6ICRmYS12YXItc3RldGhvc2NvcGUsXG4gIFwibWVzc2FnZVwiOiAkZmEtdmFyLW1lc3NhZ2UsXG4gIFwiY29tbWVudC1hbHRcIjogJGZhLXZhci1jb21tZW50LWFsdCxcbiAgXCJpbmZvXCI6ICRmYS12YXItaW5mbyxcbiAgXCJkb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlclwiOiAkZmEtdmFyLWRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyLFxuICBcImNvbXByZXNzLWFsdFwiOiAkZmEtdmFyLWNvbXByZXNzLWFsdCxcbiAgXCJleHBsb3Npb25cIjogJGZhLXZhci1leHBsb3Npb24sXG4gIFwiZmlsZS1saW5lc1wiOiAkZmEtdmFyLWZpbGUtbGluZXMsXG4gIFwiZmlsZS1hbHRcIjogJGZhLXZhci1maWxlLWFsdCxcbiAgXCJmaWxlLXRleHRcIjogJGZhLXZhci1maWxlLXRleHQsXG4gIFwid2F2ZS1zcXVhcmVcIjogJGZhLXZhci13YXZlLXNxdWFyZSxcbiAgXCJyaW5nXCI6ICRmYS12YXItcmluZyxcbiAgXCJidWlsZGluZy11blwiOiAkZmEtdmFyLWJ1aWxkaW5nLXVuLFxuICBcImRpY2UtdGhyZWVcIjogJGZhLXZhci1kaWNlLXRocmVlLFxuICBcImNhbGVuZGFyLWRheXNcIjogJGZhLXZhci1jYWxlbmRhci1kYXlzLFxuICBcImNhbGVuZGFyLWFsdFwiOiAkZmEtdmFyLWNhbGVuZGFyLWFsdCxcbiAgXCJhbmNob3ItY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS1jaGVjayxcbiAgXCJidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwidm9sbGV5YmFsbFwiOiAkZmEtdmFyLXZvbGxleWJhbGwsXG4gIFwidm9sbGV5YmFsbC1iYWxsXCI6ICRmYS12YXItdm9sbGV5YmFsbC1iYWxsLFxuICBcImFycm93cy11cC10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLXVwLXRvLWxpbmUsXG4gIFwic29ydC1kb3duXCI6ICRmYS12YXItc29ydC1kb3duLFxuICBcInNvcnQtZGVzY1wiOiAkZmEtdmFyLXNvcnQtZGVzYyxcbiAgXCJjaXJjbGUtbWludXNcIjogJGZhLXZhci1jaXJjbGUtbWludXMsXG4gIFwibWludXMtY2lyY2xlXCI6ICRmYS12YXItbWludXMtY2lyY2xlLFxuICBcImRvb3Itb3BlblwiOiAkZmEtdmFyLWRvb3Itb3BlbixcbiAgXCJyaWdodC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1yaWdodC1mcm9tLWJyYWNrZXQsXG4gIFwic2lnbi1vdXQtYWx0XCI6ICRmYS12YXItc2lnbi1vdXQtYWx0LFxuICBcImF0b21cIjogJGZhLXZhci1hdG9tLFxuICBcInNvYXBcIjogJGZhLXZhci1zb2FwLFxuICBcImljb25zXCI6ICRmYS12YXItaWNvbnMsXG4gIFwiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHRcIjogJGZhLXZhci1oZWFydC1tdXNpYy1jYW1lcmEtYm9sdCxcbiAgXCJtaWNyb3Bob25lLWxpbmVzLXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1saW5lcy1zbGFzaCxcbiAgXCJtaWNyb3Bob25lLWFsdC1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoLFxuICBcImJyaWRnZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLWNoZWNrLFxuICBcInB1bXAtbWVkaWNhbFwiOiAkZmEtdmFyLXB1bXAtbWVkaWNhbCxcbiAgXCJmaW5nZXJwcmludFwiOiAkZmEtdmFyLWZpbmdlcnByaW50LFxuICBcImhhbmQtcG9pbnQtcmlnaHRcIjogJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb25cIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uLFxuICBcInNlYXJjaC1sb2NhdGlvblwiOiAkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbixcbiAgXCJmb3J3YXJkLXN0ZXBcIjogJGZhLXZhci1mb3J3YXJkLXN0ZXAsXG4gIFwic3RlcC1mb3J3YXJkXCI6ICRmYS12YXItc3RlcC1mb3J3YXJkLFxuICBcImZhY2Utc21pbGUtYmVhbVwiOiAkZmEtdmFyLWZhY2Utc21pbGUtYmVhbSxcbiAgXCJzbWlsZS1iZWFtXCI6ICRmYS12YXItc21pbGUtYmVhbSxcbiAgXCJmbGFnLWNoZWNrZXJlZFwiOiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkLFxuICBcImZvb3RiYWxsXCI6ICRmYS12YXItZm9vdGJhbGwsXG4gIFwiZm9vdGJhbGwtYmFsbFwiOiAkZmEtdmFyLWZvb3RiYWxsLWJhbGwsXG4gIFwic2Nob29sLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY3JvcFwiOiAkZmEtdmFyLWNyb3AsXG4gIFwiYW5nbGVzLWRvd25cIjogJGZhLXZhci1hbmdsZXMtZG93bixcbiAgXCJhbmdsZS1kb3VibGUtZG93blwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duLFxuICBcInVzZXJzLXJlY3RhbmdsZVwiOiAkZmEtdmFyLXVzZXJzLXJlY3RhbmdsZSxcbiAgXCJwZW9wbGUtcm9vZlwiOiAkZmEtdmFyLXBlb3BsZS1yb29mLFxuICBcInBlb3BsZS1saW5lXCI6ICRmYS12YXItcGVvcGxlLWxpbmUsXG4gIFwiYmVlci1tdWctZW1wdHlcIjogJGZhLXZhci1iZWVyLW11Zy1lbXB0eSxcbiAgXCJiZWVyXCI6ICRmYS12YXItYmVlcixcbiAgXCJkaWFncmFtLXByZWRlY2Vzc29yXCI6ICRmYS12YXItZGlhZ3JhbS1wcmVkZWNlc3NvcixcbiAgXCJhcnJvdy11cC1sb25nXCI6ICRmYS12YXItYXJyb3ctdXAtbG9uZyxcbiAgXCJsb25nLWFycm93LXVwXCI6ICRmYS12YXItbG9uZy1hcnJvdy11cCxcbiAgXCJmaXJlLWZsYW1lLXNpbXBsZVwiOiAkZmEtdmFyLWZpcmUtZmxhbWUtc2ltcGxlLFxuICBcImJ1cm5cIjogJGZhLXZhci1idXJuLFxuICBcInBlcnNvblwiOiAkZmEtdmFyLXBlcnNvbixcbiAgXCJtYWxlXCI6ICRmYS12YXItbWFsZSxcbiAgXCJsYXB0b3BcIjogJGZhLXZhci1sYXB0b3AsXG4gIFwiZmlsZS1jc3ZcIjogJGZhLXZhci1maWxlLWNzdixcbiAgXCJtZW5vcmFoXCI6ICRmYS12YXItbWVub3JhaCxcbiAgXCJ0cnVjay1wbGFuZVwiOiAkZmEtdmFyLXRydWNrLXBsYW5lLFxuICBcInJlY29yZC12aW55bFwiOiAkZmEtdmFyLXJlY29yZC12aW55bCxcbiAgXCJmYWNlLWdyaW4tc3RhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tc3RhcnMsXG4gIFwiZ3Jpbi1zdGFyc1wiOiAkZmEtdmFyLWdyaW4tc3RhcnMsXG4gIFwiYm9uZ1wiOiAkZmEtdmFyLWJvbmcsXG4gIFwic3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nXCI6ICRmYS12YXItc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nLFxuICBcInBhc3RhZmFyaWFuaXNtXCI6ICRmYS12YXItcGFzdGFmYXJpYW5pc20sXG4gIFwiYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZVwiOiAkZmEtdmFyLWFycm93LWRvd24tdXAtYWNyb3NzLWxpbmUsXG4gIFwic3Bvb25cIjogJGZhLXZhci1zcG9vbixcbiAgXCJ1dGVuc2lsLXNwb29uXCI6ICRmYS12YXItdXRlbnNpbC1zcG9vbixcbiAgXCJqYXItd2hlYXRcIjogJGZhLXZhci1qYXItd2hlYXQsXG4gIFwiZW52ZWxvcGVzLWJ1bGtcIjogJGZhLXZhci1lbnZlbG9wZXMtYnVsayxcbiAgXCJtYWlsLWJ1bGtcIjogJGZhLXZhci1tYWlsLWJ1bGssXG4gIFwiZmlsZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1maWxlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjaXJjbGUtaFwiOiAkZmEtdmFyLWNpcmNsZS1oLFxuICBcImhvc3BpdGFsLXN5bWJvbFwiOiAkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCxcbiAgXCJwYWdlclwiOiAkZmEtdmFyLXBhZ2VyLFxuICBcImFkZHJlc3MtYm9va1wiOiAkZmEtdmFyLWFkZHJlc3MtYm9vayxcbiAgXCJjb250YWN0LWJvb2tcIjogJGZhLXZhci1jb250YWN0LWJvb2ssXG4gIFwic3RyaWtldGhyb3VnaFwiOiAkZmEtdmFyLXN0cmlrZXRocm91Z2gsXG4gIFwia1wiOiAkZmEtdmFyLWssXG4gIFwibGFuZG1hcmstZmxhZ1wiOiAkZmEtdmFyLWxhbmRtYXJrLWZsYWcsXG4gIFwicGVuY2lsXCI6ICRmYS12YXItcGVuY2lsLFxuICBcInBlbmNpbC1hbHRcIjogJGZhLXZhci1wZW5jaWwtYWx0LFxuICBcImJhY2t3YXJkXCI6ICRmYS12YXItYmFja3dhcmQsXG4gIFwiY2FyZXQtcmlnaHRcIjogJGZhLXZhci1jYXJldC1yaWdodCxcbiAgXCJjb21tZW50c1wiOiAkZmEtdmFyLWNvbW1lbnRzLFxuICBcInBhc3RlXCI6ICRmYS12YXItcGFzdGUsXG4gIFwiZmlsZS1jbGlwYm9hcmRcIjogJGZhLXZhci1maWxlLWNsaXBib2FyZCxcbiAgXCJjb2RlLXB1bGwtcmVxdWVzdFwiOiAkZmEtdmFyLWNvZGUtcHVsbC1yZXF1ZXN0LFxuICBcImNsaXBib2FyZC1saXN0XCI6ICRmYS12YXItY2xpcGJvYXJkLWxpc3QsXG4gIFwidHJ1Y2stcmFtcC1ib3hcIjogJGZhLXZhci10cnVjay1yYW1wLWJveCxcbiAgXCJ0cnVjay1sb2FkaW5nXCI6ICRmYS12YXItdHJ1Y2stbG9hZGluZyxcbiAgXCJ1c2VyLWNoZWNrXCI6ICRmYS12YXItdXNlci1jaGVjayxcbiAgXCJ2aWFsLXZpcnVzXCI6ICRmYS12YXItdmlhbC12aXJ1cyxcbiAgXCJzaGVldC1wbGFzdGljXCI6ICRmYS12YXItc2hlZXQtcGxhc3RpYyxcbiAgXCJibG9nXCI6ICRmYS12YXItYmxvZyxcbiAgXCJ1c2VyLW5pbmphXCI6ICRmYS12YXItdXNlci1uaW5qYSxcbiAgXCJwZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lXCI6ICRmYS12YXItcGVyc29uLWFycm93LXVwLWZyb20tbGluZSxcbiAgXCJzY3JvbGwtdG9yYWhcIjogJGZhLXZhci1zY3JvbGwtdG9yYWgsXG4gIFwidG9yYWhcIjogJGZhLXZhci10b3JhaCxcbiAgXCJicm9vbS1iYWxsXCI6ICRmYS12YXItYnJvb20tYmFsbCxcbiAgXCJxdWlkZGl0Y2hcIjogJGZhLXZhci1xdWlkZGl0Y2gsXG4gIFwicXVpZGRpdGNoLWJyb29tLWJhbGxcIjogJGZhLXZhci1xdWlkZGl0Y2gtYnJvb20tYmFsbCxcbiAgXCJ0b2dnbGUtb2ZmXCI6ICRmYS12YXItdG9nZ2xlLW9mZixcbiAgXCJib3gtYXJjaGl2ZVwiOiAkZmEtdmFyLWJveC1hcmNoaXZlLFxuICBcImFyY2hpdmVcIjogJGZhLXZhci1hcmNoaXZlLFxuICBcInBlcnNvbi1kcm93bmluZ1wiOiAkZmEtdmFyLXBlcnNvbi1kcm93bmluZyxcbiAgXCJhcnJvdy1kb3duLTktMVwiOiAkZmEtdmFyLWFycm93LWRvd24tOS0xLFxuICBcInNvcnQtbnVtZXJpYy1kZXNjXCI6ICRmYS12YXItc29ydC1udW1lcmljLWRlc2MsXG4gIFwic29ydC1udW1lcmljLWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0LFxuICBcImZhY2UtZ3Jpbi10b25ndWUtc3F1aW50XCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQsXG4gIFwiZ3Jpbi10b25ndWUtc3F1aW50XCI6ICRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50LFxuICBcInNwcmF5LWNhblwiOiAkZmEtdmFyLXNwcmF5LWNhbixcbiAgXCJ0cnVjay1tb25zdGVyXCI6ICRmYS12YXItdHJ1Y2stbW9uc3RlcixcbiAgXCJ3XCI6ICRmYS12YXItdyxcbiAgXCJlYXJ0aC1hZnJpY2FcIjogJGZhLXZhci1lYXJ0aC1hZnJpY2EsXG4gIFwiZ2xvYmUtYWZyaWNhXCI6ICRmYS12YXItZ2xvYmUtYWZyaWNhLFxuICBcInJhaW5ib3dcIjogJGZhLXZhci1yYWluYm93LFxuICBcImNpcmNsZS1ub3RjaFwiOiAkZmEtdmFyLWNpcmNsZS1ub3RjaCxcbiAgXCJ0YWJsZXQtc2NyZWVuLWJ1dHRvblwiOiAkZmEtdmFyLXRhYmxldC1zY3JlZW4tYnV0dG9uLFxuICBcInRhYmxldC1hbHRcIjogJGZhLXZhci10YWJsZXQtYWx0LFxuICBcInBhd1wiOiAkZmEtdmFyLXBhdyxcbiAgXCJjbG91ZFwiOiAkZmEtdmFyLWNsb3VkLFxuICBcInRyb3dlbC1icmlja3NcIjogJGZhLXZhci10cm93ZWwtYnJpY2tzLFxuICBcImZhY2UtZmx1c2hlZFwiOiAkZmEtdmFyLWZhY2UtZmx1c2hlZCxcbiAgXCJmbHVzaGVkXCI6ICRmYS12YXItZmx1c2hlZCxcbiAgXCJob3NwaXRhbC11c2VyXCI6ICRmYS12YXItaG9zcGl0YWwtdXNlcixcbiAgXCJ0ZW50LWFycm93LWxlZnQtcmlnaHRcIjogJGZhLXZhci10ZW50LWFycm93LWxlZnQtcmlnaHQsXG4gIFwiZ2F2ZWxcIjogJGZhLXZhci1nYXZlbCxcbiAgXCJsZWdhbFwiOiAkZmEtdmFyLWxlZ2FsLFxuICBcImJpbm9jdWxhcnNcIjogJGZhLXZhci1iaW5vY3VsYXJzLFxuICBcIm1pY3JvcGhvbmUtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLXNsYXNoLFxuICBcImJveC10aXNzdWVcIjogJGZhLXZhci1ib3gtdGlzc3VlLFxuICBcIm1vdG9yY3ljbGVcIjogJGZhLXZhci1tb3RvcmN5Y2xlLFxuICBcImJlbGwtY29uY2llcmdlXCI6ICRmYS12YXItYmVsbC1jb25jaWVyZ2UsXG4gIFwiY29uY2llcmdlLWJlbGxcIjogJGZhLXZhci1jb25jaWVyZ2UtYmVsbCxcbiAgXCJwZW4tcnVsZXJcIjogJGZhLXZhci1wZW4tcnVsZXIsXG4gIFwicGVuY2lsLXJ1bGVyXCI6ICRmYS12YXItcGVuY2lsLXJ1bGVyLFxuICBcInBlb3BsZS1hcnJvd3NcIjogJGZhLXZhci1wZW9wbGUtYXJyb3dzLFxuICBcInBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodFwiOiAkZmEtdmFyLXBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodCxcbiAgXCJtYXJzLWFuZC12ZW51cy1idXJzdFwiOiAkZmEtdmFyLW1hcnMtYW5kLXZlbnVzLWJ1cnN0LFxuICBcInNxdWFyZS1jYXJldC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1yaWdodCxcbiAgXCJjYXJldC1zcXVhcmUtcmlnaHRcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQsXG4gIFwic2Npc3NvcnNcIjogJGZhLXZhci1zY2lzc29ycyxcbiAgXCJjdXRcIjogJGZhLXZhci1jdXQsXG4gIFwic3VuLXBsYW50LXdpbHRcIjogJGZhLXZhci1zdW4tcGxhbnQtd2lsdCxcbiAgXCJ0b2lsZXRzLXBvcnRhYmxlXCI6ICRmYS12YXItdG9pbGV0cy1wb3J0YWJsZSxcbiAgXCJob2NrZXktcHVja1wiOiAkZmEtdmFyLWhvY2tleS1wdWNrLFxuICBcInRhYmxlXCI6ICRmYS12YXItdGFibGUsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQsXG4gIFwidGFjaG9ncmFwaC1kaWdpdGFsXCI6ICRmYS12YXItdGFjaG9ncmFwaC1kaWdpdGFsLFxuICBcImRpZ2l0YWwtdGFjaG9ncmFwaFwiOiAkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCxcbiAgXCJ1c2Vycy1zbGFzaFwiOiAkZmEtdmFyLXVzZXJzLXNsYXNoLFxuICBcImNsb3ZlclwiOiAkZmEtdmFyLWNsb3ZlcixcbiAgXCJyZXBseVwiOiAkZmEtdmFyLXJlcGx5LFxuICBcIm1haWwtcmVwbHlcIjogJGZhLXZhci1tYWlsLXJlcGx5LFxuICBcInN0YXItYW5kLWNyZXNjZW50XCI6ICRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQsXG4gIFwiaG91c2UtZmlyZVwiOiAkZmEtdmFyLWhvdXNlLWZpcmUsXG4gIFwic3F1YXJlLW1pbnVzXCI6ICRmYS12YXItc3F1YXJlLW1pbnVzLFxuICBcIm1pbnVzLXNxdWFyZVwiOiAkZmEtdmFyLW1pbnVzLXNxdWFyZSxcbiAgXCJoZWxpY29wdGVyXCI6ICRmYS12YXItaGVsaWNvcHRlcixcbiAgXCJjb21wYXNzXCI6ICRmYS12YXItY29tcGFzcyxcbiAgXCJzcXVhcmUtY2FyZXQtZG93blwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1kb3duLFxuICBcImNhcmV0LXNxdWFyZS1kb3duXCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24sXG4gIFwiZmlsZS1jaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1maWxlLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJsYXB0b3AtY29kZVwiOiAkZmEtdmFyLWxhcHRvcC1jb2RlLFxuICBcInN3YXRjaGJvb2tcIjogJGZhLXZhci1zd2F0Y2hib29rLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGVcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLFxuICBcImJhcnNcIjogJGZhLXZhci1iYXJzLFxuICBcIm5hdmljb25cIjogJGZhLXZhci1uYXZpY29uLFxuICBcInBlb3BsZS1ncm91cFwiOiAkZmEtdmFyLXBlb3BsZS1ncm91cCxcbiAgXCJob3VyZ2xhc3MtZW5kXCI6ICRmYS12YXItaG91cmdsYXNzLWVuZCxcbiAgXCJob3VyZ2xhc3MtM1wiOiAkZmEtdmFyLWhvdXJnbGFzcy0zLFxuICBcImhlYXJ0LWNyYWNrXCI6ICRmYS12YXItaGVhcnQtY3JhY2ssXG4gIFwiaGVhcnQtYnJva2VuXCI6ICRmYS12YXItaGVhcnQtYnJva2VuLFxuICBcInNxdWFyZS11cC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS11cC1yaWdodCxcbiAgXCJleHRlcm5hbC1saW5rLXNxdWFyZS1hbHRcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQsXG4gIFwiZmFjZS1raXNzLWJlYW1cIjogJGZhLXZhci1mYWNlLWtpc3MtYmVhbSxcbiAgXCJraXNzLWJlYW1cIjogJGZhLXZhci1raXNzLWJlYW0sXG4gIFwiZmlsbVwiOiAkZmEtdmFyLWZpbG0sXG4gIFwicnVsZXItaG9yaXpvbnRhbFwiOiAkZmEtdmFyLXJ1bGVyLWhvcml6b250YWwsXG4gIFwicGVvcGxlLXJvYmJlcnlcIjogJGZhLXZhci1wZW9wbGUtcm9iYmVyeSxcbiAgXCJsaWdodGJ1bGJcIjogJGZhLXZhci1saWdodGJ1bGIsXG4gIFwiY2FyZXQtbGVmdFwiOiAkZmEtdmFyLWNhcmV0LWxlZnQsXG4gIFwiY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImV4Y2xhbWF0aW9uLWNpcmNsZVwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSxcbiAgXCJzY2hvb2wtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS14bWFyayxcbiAgXCJhcnJvdy1yaWdodC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQsXG4gIFwic2lnbi1vdXRcIjogJGZhLXZhci1zaWduLW91dCxcbiAgXCJjaXJjbGUtY2hldnJvbi1kb3duXCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tZG93bixcbiAgXCJjaGV2cm9uLWNpcmNsZS1kb3duXCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bixcbiAgXCJ1bmxvY2sta2V5aG9sZVwiOiAkZmEtdmFyLXVubG9jay1rZXlob2xlLFxuICBcInVubG9jay1hbHRcIjogJGZhLXZhci11bmxvY2stYWx0LFxuICBcImNsb3VkLXNob3dlcnMtaGVhdnlcIjogJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5LFxuICBcImhlYWRwaG9uZXMtc2ltcGxlXCI6ICRmYS12YXItaGVhZHBob25lcy1zaW1wbGUsXG4gIFwiaGVhZHBob25lcy1hbHRcIjogJGZhLXZhci1oZWFkcGhvbmVzLWFsdCxcbiAgXCJzaXRlbWFwXCI6ICRmYS12YXItc2l0ZW1hcCxcbiAgXCJjaXJjbGUtZG9sbGFyLXRvLXNsb3RcIjogJGZhLXZhci1jaXJjbGUtZG9sbGFyLXRvLXNsb3QsXG4gIFwiZG9uYXRlXCI6ICRmYS12YXItZG9uYXRlLFxuICBcIm1lbW9yeVwiOiAkZmEtdmFyLW1lbW9yeSxcbiAgXCJyb2FkLXNwaWtlc1wiOiAkZmEtdmFyLXJvYWQtc3Bpa2VzLFxuICBcImZpcmUtYnVybmVyXCI6ICRmYS12YXItZmlyZS1idXJuZXIsXG4gIFwiZmxhZ1wiOiAkZmEtdmFyLWZsYWcsXG4gIFwiaGFudWtpYWhcIjogJGZhLXZhci1oYW51a2lhaCxcbiAgXCJmZWF0aGVyXCI6ICRmYS12YXItZmVhdGhlcixcbiAgXCJ2b2x1bWUtbG93XCI6ICRmYS12YXItdm9sdW1lLWxvdyxcbiAgXCJ2b2x1bWUtZG93blwiOiAkZmEtdmFyLXZvbHVtZS1kb3duLFxuICBcImNvbW1lbnQtc2xhc2hcIjogJGZhLXZhci1jb21tZW50LXNsYXNoLFxuICBcImNsb3VkLXN1bi1yYWluXCI6ICRmYS12YXItY2xvdWQtc3VuLXJhaW4sXG4gIFwiY29tcHJlc3NcIjogJGZhLXZhci1jb21wcmVzcyxcbiAgXCJ3aGVhdC1hd25cIjogJGZhLXZhci13aGVhdC1hd24sXG4gIFwid2hlYXQtYWx0XCI6ICRmYS12YXItd2hlYXQtYWx0LFxuICBcImFua2hcIjogJGZhLXZhci1hbmtoLFxuICBcImhhbmRzLWhvbGRpbmctY2hpbGRcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNoaWxkLFxuICBcImFzdGVyaXNrXCI6ICRmYS12YXItYXN0ZXJpc2ssXG4gIFwic3F1YXJlLWNoZWNrXCI6ICRmYS12YXItc3F1YXJlLWNoZWNrLFxuICBcImNoZWNrLXNxdWFyZVwiOiAkZmEtdmFyLWNoZWNrLXNxdWFyZSxcbiAgXCJwZXNldGEtc2lnblwiOiAkZmEtdmFyLXBlc2V0YS1zaWduLFxuICBcImhlYWRpbmdcIjogJGZhLXZhci1oZWFkaW5nLFxuICBcImhlYWRlclwiOiAkZmEtdmFyLWhlYWRlcixcbiAgXCJnaG9zdFwiOiAkZmEtdmFyLWdob3N0LFxuICBcImxpc3RcIjogJGZhLXZhci1saXN0LFxuICBcImxpc3Qtc3F1YXJlc1wiOiAkZmEtdmFyLWxpc3Qtc3F1YXJlcyxcbiAgXCJzcXVhcmUtcGhvbmUtZmxpcFwiOiAkZmEtdmFyLXNxdWFyZS1waG9uZS1mbGlwLFxuICBcInBob25lLXNxdWFyZS1hbHRcIjogJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0LFxuICBcImNhcnQtcGx1c1wiOiAkZmEtdmFyLWNhcnQtcGx1cyxcbiAgXCJnYW1lcGFkXCI6ICRmYS12YXItZ2FtZXBhZCxcbiAgXCJjaXJjbGUtZG90XCI6ICRmYS12YXItY2lyY2xlLWRvdCxcbiAgXCJkb3QtY2lyY2xlXCI6ICRmYS12YXItZG90LWNpcmNsZSxcbiAgXCJmYWNlLWRpenp5XCI6ICRmYS12YXItZmFjZS1kaXp6eSxcbiAgXCJkaXp6eVwiOiAkZmEtdmFyLWRpenp5LFxuICBcImVnZ1wiOiAkZmEtdmFyLWVnZyxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrLFxuICBcImNhbXBncm91bmRcIjogJGZhLXZhci1jYW1wZ3JvdW5kLFxuICBcImZvbGRlci1wbHVzXCI6ICRmYS12YXItZm9sZGVyLXBsdXMsXG4gIFwiZnV0Ym9sXCI6ICRmYS12YXItZnV0Ym9sLFxuICBcImZ1dGJvbC1iYWxsXCI6ICRmYS12YXItZnV0Ym9sLWJhbGwsXG4gIFwic29jY2VyLWJhbGxcIjogJGZhLXZhci1zb2NjZXItYmFsbCxcbiAgXCJwYWludGJydXNoXCI6ICRmYS12YXItcGFpbnRicnVzaCxcbiAgXCJwYWludC1icnVzaFwiOiAkZmEtdmFyLXBhaW50LWJydXNoLFxuICBcImxvY2tcIjogJGZhLXZhci1sb2NrLFxuICBcImdhcy1wdW1wXCI6ICRmYS12YXItZ2FzLXB1bXAsXG4gIFwiaG90LXR1Yi1wZXJzb25cIjogJGZhLXZhci1ob3QtdHViLXBlcnNvbixcbiAgXCJob3QtdHViXCI6ICRmYS12YXItaG90LXR1YixcbiAgXCJtYXAtbG9jYXRpb25cIjogJGZhLXZhci1tYXAtbG9jYXRpb24sXG4gIFwibWFwLW1hcmtlZFwiOiAkZmEtdmFyLW1hcC1tYXJrZWQsXG4gIFwiaG91c2UtZmxvb2Qtd2F0ZXJcIjogJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlcixcbiAgXCJ0cmVlXCI6ICRmYS12YXItdHJlZSxcbiAgXCJicmlkZ2UtbG9ja1wiOiAkZmEtdmFyLWJyaWRnZS1sb2NrLFxuICBcInNhY2stZG9sbGFyXCI6ICRmYS12YXItc2Fjay1kb2xsYXIsXG4gIFwicGVuLXRvLXNxdWFyZVwiOiAkZmEtdmFyLXBlbi10by1zcXVhcmUsXG4gIFwiZWRpdFwiOiAkZmEtdmFyLWVkaXQsXG4gIFwiY2FyLXNpZGVcIjogJGZhLXZhci1jYXItc2lkZSxcbiAgXCJzaGFyZS1ub2Rlc1wiOiAkZmEtdmFyLXNoYXJlLW5vZGVzLFxuICBcInNoYXJlLWFsdFwiOiAkZmEtdmFyLXNoYXJlLWFsdCxcbiAgXCJoZWFydC1jaXJjbGUtbWludXNcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtbWludXMsXG4gIFwiaG91cmdsYXNzLWhhbGZcIjogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZixcbiAgXCJob3VyZ2xhc3MtMlwiOiAkZmEtdmFyLWhvdXJnbGFzcy0yLFxuICBcIm1pY3Jvc2NvcGVcIjogJGZhLXZhci1taWNyb3Njb3BlLFxuICBcInNpbmtcIjogJGZhLXZhci1zaW5rLFxuICBcImJhZy1zaG9wcGluZ1wiOiAkZmEtdmFyLWJhZy1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1iYWdcIjogJGZhLXZhci1zaG9wcGluZy1iYWcsXG4gIFwiYXJyb3ctZG93bi16LWFcIjogJGZhLXZhci1hcnJvdy1kb3duLXotYSxcbiAgXCJzb3J0LWFscGhhLWRlc2NcIjogJGZhLXZhci1zb3J0LWFscGhhLWRlc2MsXG4gIFwic29ydC1hbHBoYS1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQsXG4gIFwibWl0dGVuXCI6ICRmYS12YXItbWl0dGVuLFxuICBcInBlcnNvbi1yYXlzXCI6ICRmYS12YXItcGVyc29uLXJheXMsXG4gIFwidXNlcnNcIjogJGZhLXZhci11c2VycyxcbiAgXCJleWUtc2xhc2hcIjogJGZhLXZhci1leWUtc2xhc2gsXG4gIFwiZmxhc2stdmlhbFwiOiAkZmEtdmFyLWZsYXNrLXZpYWwsXG4gIFwiaGFuZFwiOiAkZmEtdmFyLWhhbmQsXG4gIFwiaGFuZC1wYXBlclwiOiAkZmEtdmFyLWhhbmQtcGFwZXIsXG4gIFwib21cIjogJGZhLXZhci1vbSxcbiAgXCJ3b3JtXCI6ICRmYS12YXItd29ybSxcbiAgXCJob3VzZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1ob3VzZS1jaXJjbGUteG1hcmssXG4gIFwicGx1Z1wiOiAkZmEtdmFyLXBsdWcsXG4gIFwiY2hldnJvbi11cFwiOiAkZmEtdmFyLWNoZXZyb24tdXAsXG4gIFwiaGFuZC1zcG9ja1wiOiAkZmEtdmFyLWhhbmQtc3BvY2ssXG4gIFwic3RvcHdhdGNoXCI6ICRmYS12YXItc3RvcHdhdGNoLFxuICBcImZhY2Uta2lzc1wiOiAkZmEtdmFyLWZhY2Uta2lzcyxcbiAgXCJraXNzXCI6ICRmYS12YXIta2lzcyxcbiAgXCJicmlkZ2UtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS14bWFyayxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlXCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZSxcbiAgXCJncmluLXRvbmd1ZVwiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLFxuICBcImNoZXNzLWJpc2hvcFwiOiAkZmEtdmFyLWNoZXNzLWJpc2hvcCxcbiAgXCJmYWNlLWdyaW4td2lua1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi13aW5rLFxuICBcImdyaW4td2lua1wiOiAkZmEtdmFyLWdyaW4td2luayxcbiAgXCJlYXItZGVhZlwiOiAkZmEtdmFyLWVhci1kZWFmLFxuICBcImRlYWZcIjogJGZhLXZhci1kZWFmLFxuICBcImRlYWZuZXNzXCI6ICRmYS12YXItZGVhZm5lc3MsXG4gIFwiaGFyZC1vZi1oZWFyaW5nXCI6ICRmYS12YXItaGFyZC1vZi1oZWFyaW5nLFxuICBcInJvYWQtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcm9hZC1jaXJjbGUtY2hlY2ssXG4gIFwiZGljZS1maXZlXCI6ICRmYS12YXItZGljZS1maXZlLFxuICBcInNxdWFyZS1yc3NcIjogJGZhLXZhci1zcXVhcmUtcnNzLFxuICBcInJzcy1zcXVhcmVcIjogJGZhLXZhci1yc3Mtc3F1YXJlLFxuICBcImxhbmQtbWluZS1vblwiOiAkZmEtdmFyLWxhbmQtbWluZS1vbixcbiAgXCJpLWN1cnNvclwiOiAkZmEtdmFyLWktY3Vyc29yLFxuICBcInN0YW1wXCI6ICRmYS12YXItc3RhbXAsXG4gIFwic3RhaXJzXCI6ICRmYS12YXItc3RhaXJzLFxuICBcImlcIjogJGZhLXZhci1pLFxuICBcImhyeXZuaWEtc2lnblwiOiAkZmEtdmFyLWhyeXZuaWEtc2lnbixcbiAgXCJocnl2bmlhXCI6ICRmYS12YXItaHJ5dm5pYSxcbiAgXCJwaWxsc1wiOiAkZmEtdmFyLXBpbGxzLFxuICBcImZhY2UtZ3Jpbi13aWRlXCI6ICRmYS12YXItZmFjZS1ncmluLXdpZGUsXG4gIFwiZ3Jpbi1hbHRcIjogJGZhLXZhci1ncmluLWFsdCxcbiAgXCJ0b290aFwiOiAkZmEtdmFyLXRvb3RoLFxuICBcInZcIjogJGZhLXZhci12LFxuICBcImJhbmdsYWRlc2hpLXRha2Etc2lnblwiOiAkZmEtdmFyLWJhbmdsYWRlc2hpLXRha2Etc2lnbixcbiAgXCJiaWN5Y2xlXCI6ICRmYS12YXItYmljeWNsZSxcbiAgXCJzdGFmZi1zbmFrZVwiOiAkZmEtdmFyLXN0YWZmLXNuYWtlLFxuICBcInJvZC1hc2NsZXBpdXNcIjogJGZhLXZhci1yb2QtYXNjbGVwaXVzLFxuICBcInJvZC1zbmFrZVwiOiAkZmEtdmFyLXJvZC1zbmFrZSxcbiAgXCJzdGFmZi1hZXNjdWxhcGl1c1wiOiAkZmEtdmFyLXN0YWZmLWFlc2N1bGFwaXVzLFxuICBcImhlYWQtc2lkZS1jb3VnaC1zbGFzaFwiOiAkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaCxcbiAgXCJ0cnVjay1tZWRpY2FsXCI6ICRmYS12YXItdHJ1Y2stbWVkaWNhbCxcbiAgXCJhbWJ1bGFuY2VcIjogJGZhLXZhci1hbWJ1bGFuY2UsXG4gIFwid2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXdoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwic25vd21hblwiOiAkZmEtdmFyLXNub3dtYW4sXG4gIFwibW9ydGFyLXBlc3RsZVwiOiAkZmEtdmFyLW1vcnRhci1wZXN0bGUsXG4gIFwicm9hZC1iYXJyaWVyXCI6ICRmYS12YXItcm9hZC1iYXJyaWVyLFxuICBcInNjaG9vbFwiOiAkZmEtdmFyLXNjaG9vbCxcbiAgXCJpZ2xvb1wiOiAkZmEtdmFyLWlnbG9vLFxuICBcImpvaW50XCI6ICRmYS12YXItam9pbnQsXG4gIFwiYW5nbGUtcmlnaHRcIjogJGZhLXZhci1hbmdsZS1yaWdodCxcbiAgXCJob3JzZVwiOiAkZmEtdmFyLWhvcnNlLFxuICBcInFcIjogJGZhLXZhci1xLFxuICBcImdcIjogJGZhLXZhci1nLFxuICBcIm5vdGVzLW1lZGljYWxcIjogJGZhLXZhci1ub3Rlcy1tZWRpY2FsLFxuICBcInRlbXBlcmF0dXJlLWhhbGZcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1oYWxmLFxuICBcInRlbXBlcmF0dXJlLTJcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0yLFxuICBcInRoZXJtb21ldGVyLTJcIjogJGZhLXZhci10aGVybW9tZXRlci0yLFxuICBcInRoZXJtb21ldGVyLWhhbGZcIjogJGZhLXZhci10aGVybW9tZXRlci1oYWxmLFxuICBcImRvbmctc2lnblwiOiAkZmEtdmFyLWRvbmctc2lnbixcbiAgXCJjYXBzdWxlc1wiOiAkZmEtdmFyLWNhcHN1bGVzLFxuICBcInBvby1zdG9ybVwiOiAkZmEtdmFyLXBvby1zdG9ybSxcbiAgXCJwb28tYm9sdFwiOiAkZmEtdmFyLXBvby1ib2x0LFxuICBcImZhY2UtZnJvd24tb3BlblwiOiAkZmEtdmFyLWZhY2UtZnJvd24tb3BlbixcbiAgXCJmcm93bi1vcGVuXCI6ICRmYS12YXItZnJvd24tb3BlbixcbiAgXCJoYW5kLXBvaW50LXVwXCI6ICRmYS12YXItaGFuZC1wb2ludC11cCxcbiAgXCJtb25leS1iaWxsXCI6ICRmYS12YXItbW9uZXktYmlsbCxcbiAgXCJib29rbWFya1wiOiAkZmEtdmFyLWJvb2ttYXJrLFxuICBcImFsaWduLWp1c3RpZnlcIjogJGZhLXZhci1hbGlnbi1qdXN0aWZ5LFxuICBcInVtYnJlbGxhLWJlYWNoXCI6ICRmYS12YXItdW1icmVsbGEtYmVhY2gsXG4gIFwiaGVsbWV0LXVuXCI6ICRmYS12YXItaGVsbWV0LXVuLFxuICBcImJ1bGxzZXllXCI6ICRmYS12YXItYnVsbHNleWUsXG4gIFwiYmFjb25cIjogJGZhLXZhci1iYWNvbixcbiAgXCJoYW5kLXBvaW50LWRvd25cIjogJGZhLXZhci1oYW5kLXBvaW50LWRvd24sXG4gIFwiYXJyb3ctdXAtZnJvbS1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS1icmFja2V0LFxuICBcImZvbGRlclwiOiAkZmEtdmFyLWZvbGRlcixcbiAgXCJmb2xkZXItYmxhbmtcIjogJGZhLXZhci1mb2xkZXItYmxhbmssXG4gIFwiZmlsZS13YXZlZm9ybVwiOiAkZmEtdmFyLWZpbGUtd2F2ZWZvcm0sXG4gIFwiZmlsZS1tZWRpY2FsLWFsdFwiOiAkZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQsXG4gIFwicmFkaWF0aW9uXCI6ICRmYS12YXItcmFkaWF0aW9uLFxuICBcImNoYXJ0LXNpbXBsZVwiOiAkZmEtdmFyLWNoYXJ0LXNpbXBsZSxcbiAgXCJtYXJzLXN0cm9rZVwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLFxuICBcInZpYWxcIjogJGZhLXZhci12aWFsLFxuICBcImdhdWdlXCI6ICRmYS12YXItZ2F1Z2UsXG4gIFwiZGFzaGJvYXJkXCI6ICRmYS12YXItZGFzaGJvYXJkLFxuICBcImdhdWdlLW1lZFwiOiAkZmEtdmFyLWdhdWdlLW1lZCxcbiAgXCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlXCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQtYXZlcmFnZSxcbiAgXCJ3YW5kLW1hZ2ljLXNwYXJrbGVzXCI6ICRmYS12YXItd2FuZC1tYWdpYy1zcGFya2xlcyxcbiAgXCJtYWdpYy13YW5kLXNwYXJrbGVzXCI6ICRmYS12YXItbWFnaWMtd2FuZC1zcGFya2xlcyxcbiAgXCJlXCI6ICRmYS12YXItZSxcbiAgXCJwZW4tY2xpcFwiOiAkZmEtdmFyLXBlbi1jbGlwLFxuICBcInBlbi1hbHRcIjogJGZhLXZhci1wZW4tYWx0LFxuICBcImJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInVzZXJcIjogJGZhLXZhci11c2VyLFxuICBcInNjaG9vbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLWNoZWNrLFxuICBcImR1bXBzdGVyXCI6ICRmYS12YXItZHVtcHN0ZXIsXG4gIFwidmFuLXNodXR0bGVcIjogJGZhLXZhci12YW4tc2h1dHRsZSxcbiAgXCJzaHV0dGxlLXZhblwiOiAkZmEtdmFyLXNodXR0bGUtdmFuLFxuICBcImJ1aWxkaW5nLXVzZXJcIjogJGZhLXZhci1idWlsZGluZy11c2VyLFxuICBcInNxdWFyZS1jYXJldC1sZWZ0XCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LWxlZnQsXG4gIFwiY2FyZXQtc3F1YXJlLWxlZnRcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdCxcbiAgXCJoaWdobGlnaHRlclwiOiAkZmEtdmFyLWhpZ2hsaWdodGVyLFxuICBcImtleVwiOiAkZmEtdmFyLWtleSxcbiAgXCJidWxsaG9yblwiOiAkZmEtdmFyLWJ1bGxob3JuLFxuICBcImdsb2JlXCI6ICRmYS12YXItZ2xvYmUsXG4gIFwic3luYWdvZ3VlXCI6ICRmYS12YXItc3luYWdvZ3VlLFxuICBcInBlcnNvbi1oYWxmLWRyZXNzXCI6ICRmYS12YXItcGVyc29uLWhhbGYtZHJlc3MsXG4gIFwicm9hZC1icmlkZ2VcIjogJGZhLXZhci1yb2FkLWJyaWRnZSxcbiAgXCJsb2NhdGlvbi1hcnJvd1wiOiAkZmEtdmFyLWxvY2F0aW9uLWFycm93LFxuICBcImNcIjogJGZhLXZhci1jLFxuICBcInRhYmxldC1idXR0b25cIjogJGZhLXZhci10YWJsZXQtYnV0dG9uLFxuICBcImJ1aWxkaW5nLWxvY2tcIjogJGZhLXZhci1idWlsZGluZy1sb2NrLFxuICBcInBpenphLXNsaWNlXCI6ICRmYS12YXItcGl6emEtc2xpY2UsXG4gIFwibW9uZXktYmlsbC13YXZlXCI6ICRmYS12YXItbW9uZXktYmlsbC13YXZlLFxuICBcImNoYXJ0LWFyZWFcIjogJGZhLXZhci1jaGFydC1hcmVhLFxuICBcImFyZWEtY2hhcnRcIjogJGZhLXZhci1hcmVhLWNoYXJ0LFxuICBcImhvdXNlLWZsYWdcIjogJGZhLXZhci1ob3VzZS1mbGFnLFxuICBcInBlcnNvbi1jaXJjbGUtbWludXNcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLW1pbnVzLFxuICBcImJhblwiOiAkZmEtdmFyLWJhbixcbiAgXCJjYW5jZWxcIjogJGZhLXZhci1jYW5jZWwsXG4gIFwiY2FtZXJhLXJvdGF0ZVwiOiAkZmEtdmFyLWNhbWVyYS1yb3RhdGUsXG4gIFwic3ByYXktY2FuLXNwYXJrbGVzXCI6ICRmYS12YXItc3ByYXktY2FuLXNwYXJrbGVzLFxuICBcImFpci1mcmVzaGVuZXJcIjogJGZhLXZhci1haXItZnJlc2hlbmVyLFxuICBcInN0YXJcIjogJGZhLXZhci1zdGFyLFxuICBcInJlcGVhdFwiOiAkZmEtdmFyLXJlcGVhdCxcbiAgXCJjcm9zc1wiOiAkZmEtdmFyLWNyb3NzLFxuICBcImJveFwiOiAkZmEtdmFyLWJveCxcbiAgXCJ2ZW51cy1tYXJzXCI6ICRmYS12YXItdmVudXMtbWFycyxcbiAgXCJhcnJvdy1wb2ludGVyXCI6ICRmYS12YXItYXJyb3ctcG9pbnRlcixcbiAgXCJtb3VzZS1wb2ludGVyXCI6ICRmYS12YXItbW91c2UtcG9pbnRlcixcbiAgXCJtYXhpbWl6ZVwiOiAkZmEtdmFyLW1heGltaXplLFxuICBcImV4cGFuZC1hcnJvd3MtYWx0XCI6ICRmYS12YXItZXhwYW5kLWFycm93cy1hbHQsXG4gIFwiY2hhcmdpbmctc3RhdGlvblwiOiAkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24sXG4gIFwic2hhcGVzXCI6ICRmYS12YXItc2hhcGVzLFxuICBcInRyaWFuZ2xlLWNpcmNsZS1zcXVhcmVcIjogJGZhLXZhci10cmlhbmdsZS1jaXJjbGUtc3F1YXJlLFxuICBcInNodWZmbGVcIjogJGZhLXZhci1zaHVmZmxlLFxuICBcInJhbmRvbVwiOiAkZmEtdmFyLXJhbmRvbSxcbiAgXCJwZXJzb24tcnVubmluZ1wiOiAkZmEtdmFyLXBlcnNvbi1ydW5uaW5nLFxuICBcInJ1bm5pbmdcIjogJGZhLXZhci1ydW5uaW5nLFxuICBcIm1vYmlsZS1yZXRyb1wiOiAkZmEtdmFyLW1vYmlsZS1yZXRybyxcbiAgXCJncmlwLWxpbmVzLXZlcnRpY2FsXCI6ICRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbCxcbiAgXCJzcGlkZXJcIjogJGZhLXZhci1zcGlkZXIsXG4gIFwiaGFuZHMtYm91bmRcIjogJGZhLXZhci1oYW5kcy1ib3VuZCxcbiAgXCJmaWxlLWludm9pY2UtZG9sbGFyXCI6ICRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcixcbiAgXCJwbGFuZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wbGFuZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwieC1yYXlcIjogJGZhLXZhci14LXJheSxcbiAgXCJzcGVsbC1jaGVja1wiOiAkZmEtdmFyLXNwZWxsLWNoZWNrLFxuICBcInNsYXNoXCI6ICRmYS12YXItc2xhc2gsXG4gIFwiY29tcHV0ZXItbW91c2VcIjogJGZhLXZhci1jb21wdXRlci1tb3VzZSxcbiAgXCJtb3VzZVwiOiAkZmEtdmFyLW1vdXNlLFxuICBcImFycm93LXJpZ2h0LXRvLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1icmFja2V0LFxuICBcInNpZ24taW5cIjogJGZhLXZhci1zaWduLWluLFxuICBcInNob3Atc2xhc2hcIjogJGZhLXZhci1zaG9wLXNsYXNoLFxuICBcInN0b3JlLWFsdC1zbGFzaFwiOiAkZmEtdmFyLXN0b3JlLWFsdC1zbGFzaCxcbiAgXCJzZXJ2ZXJcIjogJGZhLXZhci1zZXJ2ZXIsXG4gIFwidmlydXMtY292aWQtc2xhc2hcIjogJGZhLXZhci12aXJ1cy1jb3ZpZC1zbGFzaCxcbiAgXCJzaG9wLWxvY2tcIjogJGZhLXZhci1zaG9wLWxvY2ssXG4gIFwiaG91cmdsYXNzLXN0YXJ0XCI6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0LFxuICBcImhvdXJnbGFzcy0xXCI6ICRmYS12YXItaG91cmdsYXNzLTEsXG4gIFwiYmxlbmRlci1waG9uZVwiOiAkZmEtdmFyLWJsZW5kZXItcGhvbmUsXG4gIFwiYnVpbGRpbmctd2hlYXRcIjogJGZhLXZhci1idWlsZGluZy13aGVhdCxcbiAgXCJwZXJzb24tYnJlYXN0ZmVlZGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1icmVhc3RmZWVkaW5nLFxuICBcInJpZ2h0LXRvLWJyYWNrZXRcIjogJGZhLXZhci1yaWdodC10by1icmFja2V0LFxuICBcInNpZ24taW4tYWx0XCI6ICRmYS12YXItc2lnbi1pbi1hbHQsXG4gIFwidmVudXNcIjogJGZhLXZhci12ZW51cyxcbiAgXCJwYXNzcG9ydFwiOiAkZmEtdmFyLXBhc3Nwb3J0LFxuICBcImhlYXJ0LXB1bHNlXCI6ICRmYS12YXItaGVhcnQtcHVsc2UsXG4gIFwiaGVhcnRiZWF0XCI6ICRmYS12YXItaGVhcnRiZWF0LFxuICBcInBlb3BsZS1jYXJyeS1ib3hcIjogJGZhLXZhci1wZW9wbGUtY2FycnktYm94LFxuICBcInBlb3BsZS1jYXJyeVwiOiAkZmEtdmFyLXBlb3BsZS1jYXJyeSxcbiAgXCJ0ZW1wZXJhdHVyZS1oaWdoXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCxcbiAgXCJtaWNyb2NoaXBcIjogJGZhLXZhci1taWNyb2NoaXAsXG4gIFwiY3Jvd25cIjogJGZhLXZhci1jcm93bixcbiAgXCJ3ZWlnaHQtaGFuZ2luZ1wiOiAkZmEtdmFyLXdlaWdodC1oYW5naW5nLFxuICBcInhtYXJrcy1saW5lc1wiOiAkZmEtdmFyLXhtYXJrcy1saW5lcyxcbiAgXCJmaWxlLXByZXNjcmlwdGlvblwiOiAkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uLFxuICBcIndlaWdodC1zY2FsZVwiOiAkZmEtdmFyLXdlaWdodC1zY2FsZSxcbiAgXCJ3ZWlnaHRcIjogJGZhLXZhci13ZWlnaHQsXG4gIFwidXNlci1ncm91cFwiOiAkZmEtdmFyLXVzZXItZ3JvdXAsXG4gIFwidXNlci1mcmllbmRzXCI6ICRmYS12YXItdXNlci1mcmllbmRzLFxuICBcImFycm93LXVwLWEtelwiOiAkZmEtdmFyLWFycm93LXVwLWEteixcbiAgXCJzb3J0LWFscGhhLXVwXCI6ICRmYS12YXItc29ydC1hbHBoYS11cCxcbiAgXCJjaGVzcy1rbmlnaHRcIjogJGZhLXZhci1jaGVzcy1rbmlnaHQsXG4gIFwiZmFjZS1sYXVnaC1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWxhdWdoLXNxdWludCxcbiAgXCJsYXVnaC1zcXVpbnRcIjogJGZhLXZhci1sYXVnaC1zcXVpbnQsXG4gIFwid2hlZWxjaGFpclwiOiAkZmEtdmFyLXdoZWVsY2hhaXIsXG4gIFwiY2lyY2xlLWFycm93LXVwXCI6ICRmYS12YXItY2lyY2xlLWFycm93LXVwLFxuICBcImFycm93LWNpcmNsZS11cFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS11cCxcbiAgXCJ0b2dnbGUtb25cIjogJGZhLXZhci10b2dnbGUtb24sXG4gIFwicGVyc29uLXdhbGtpbmdcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZyxcbiAgXCJ3YWxraW5nXCI6ICRmYS12YXItd2Fsa2luZyxcbiAgXCJsXCI6ICRmYS12YXItbCxcbiAgXCJmaXJlXCI6ICRmYS12YXItZmlyZSxcbiAgXCJiZWQtcHVsc2VcIjogJGZhLXZhci1iZWQtcHVsc2UsXG4gIFwicHJvY2VkdXJlc1wiOiAkZmEtdmFyLXByb2NlZHVyZXMsXG4gIFwic2h1dHRsZS1zcGFjZVwiOiAkZmEtdmFyLXNodXR0bGUtc3BhY2UsXG4gIFwic3BhY2Utc2h1dHRsZVwiOiAkZmEtdmFyLXNwYWNlLXNodXR0bGUsXG4gIFwiZmFjZS1sYXVnaFwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gsXG4gIFwibGF1Z2hcIjogJGZhLXZhci1sYXVnaCxcbiAgXCJmb2xkZXItb3BlblwiOiAkZmEtdmFyLWZvbGRlci1vcGVuLFxuICBcImhlYXJ0LWNpcmNsZS1wbHVzXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLXBsdXMsXG4gIFwiY29kZS1mb3JrXCI6ICRmYS12YXItY29kZS1mb3JrLFxuICBcImNpdHlcIjogJGZhLXZhci1jaXR5LFxuICBcIm1pY3JvcGhvbmUtbGluZXNcIjogJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLFxuICBcIm1pY3JvcGhvbmUtYWx0XCI6ICRmYS12YXItbWljcm9waG9uZS1hbHQsXG4gIFwicGVwcGVyLWhvdFwiOiAkZmEtdmFyLXBlcHBlci1ob3QsXG4gIFwidW5sb2NrXCI6ICRmYS12YXItdW5sb2NrLFxuICBcImNvbG9uLXNpZ25cIjogJGZhLXZhci1jb2xvbi1zaWduLFxuICBcImhlYWRzZXRcIjogJGZhLXZhci1oZWFkc2V0LFxuICBcInN0b3JlLXNsYXNoXCI6ICRmYS12YXItc3RvcmUtc2xhc2gsXG4gIFwicm9hZC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1yb2FkLWNpcmNsZS14bWFyayxcbiAgXCJ1c2VyLW1pbnVzXCI6ICRmYS12YXItdXNlci1taW51cyxcbiAgXCJtYXJzLXN0cm9rZS11cFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXVwLFxuICBcIm1hcnMtc3Ryb2tlLXZcIjogJGZhLXZhci1tYXJzLXN0cm9rZS12LFxuICBcImNoYW1wYWduZS1nbGFzc2VzXCI6ICRmYS12YXItY2hhbXBhZ25lLWdsYXNzZXMsXG4gIFwiZ2xhc3MtY2hlZXJzXCI6ICRmYS12YXItZ2xhc3MtY2hlZXJzLFxuICBcImNsaXBib2FyZFwiOiAkZmEtdmFyLWNsaXBib2FyZCxcbiAgXCJob3VzZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1ob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZmlsZS1hcnJvdy11cFwiOiAkZmEtdmFyLWZpbGUtYXJyb3ctdXAsXG4gIFwiZmlsZS11cGxvYWRcIjogJGZhLXZhci1maWxlLXVwbG9hZCxcbiAgXCJ3aWZpXCI6ICRmYS12YXItd2lmaSxcbiAgXCJ3aWZpLTNcIjogJGZhLXZhci13aWZpLTMsXG4gIFwid2lmaS1zdHJvbmdcIjogJGZhLXZhci13aWZpLXN0cm9uZyxcbiAgXCJiYXRoXCI6ICRmYS12YXItYmF0aCxcbiAgXCJiYXRodHViXCI6ICRmYS12YXItYmF0aHR1YixcbiAgXCJ1bmRlcmxpbmVcIjogJGZhLXZhci11bmRlcmxpbmUsXG4gIFwidXNlci1wZW5cIjogJGZhLXZhci11c2VyLXBlbixcbiAgXCJ1c2VyLWVkaXRcIjogJGZhLXZhci11c2VyLWVkaXQsXG4gIFwic2lnbmF0dXJlXCI6ICRmYS12YXItc2lnbmF0dXJlLFxuICBcInN0cm9vcHdhZmVsXCI6ICRmYS12YXItc3Ryb29wd2FmZWwsXG4gIFwiYm9sZFwiOiAkZmEtdmFyLWJvbGQsXG4gIFwiYW5jaG9yLWxvY2tcIjogJGZhLXZhci1hbmNob3ItbG9jayxcbiAgXCJidWlsZGluZy1uZ29cIjogJGZhLXZhci1idWlsZGluZy1uZ28sXG4gIFwibWFuYXQtc2lnblwiOiAkZmEtdmFyLW1hbmF0LXNpZ24sXG4gIFwibm90LWVxdWFsXCI6ICRmYS12YXItbm90LWVxdWFsLFxuICBcImJvcmRlci10b3AtbGVmdFwiOiAkZmEtdmFyLWJvcmRlci10b3AtbGVmdCxcbiAgXCJib3JkZXItc3R5bGVcIjogJGZhLXZhci1ib3JkZXItc3R5bGUsXG4gIFwibWFwLWxvY2F0aW9uLWRvdFwiOiAkZmEtdmFyLW1hcC1sb2NhdGlvbi1kb3QsXG4gIFwibWFwLW1hcmtlZC1hbHRcIjogJGZhLXZhci1tYXAtbWFya2VkLWFsdCxcbiAgXCJqZWRpXCI6ICRmYS12YXItamVkaSxcbiAgXCJzcXVhcmUtcG9sbC12ZXJ0aWNhbFwiOiAkZmEtdmFyLXNxdWFyZS1wb2xsLXZlcnRpY2FsLFxuICBcInBvbGxcIjogJGZhLXZhci1wb2xsLFxuICBcIm11Zy1ob3RcIjogJGZhLXZhci1tdWctaG90LFxuICBcImNhci1iYXR0ZXJ5XCI6ICRmYS12YXItY2FyLWJhdHRlcnksXG4gIFwiYmF0dGVyeS1jYXJcIjogJGZhLXZhci1iYXR0ZXJ5LWNhcixcbiAgXCJnaWZ0XCI6ICRmYS12YXItZ2lmdCxcbiAgXCJkaWNlLXR3b1wiOiAkZmEtdmFyLWRpY2UtdHdvLFxuICBcImNoZXNzLXF1ZWVuXCI6ICRmYS12YXItY2hlc3MtcXVlZW4sXG4gIFwiZ2xhc3Nlc1wiOiAkZmEtdmFyLWdsYXNzZXMsXG4gIFwiY2hlc3MtYm9hcmRcIjogJGZhLXZhci1jaGVzcy1ib2FyZCxcbiAgXCJidWlsZGluZy1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLWNoYWxrYm9hcmRcIjogJGZhLXZhci1wZXJzb24tY2hhbGtib2FyZCxcbiAgXCJtYXJzLXN0cm9rZS1yaWdodFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXJpZ2h0LFxuICBcIm1hcnMtc3Ryb2tlLWhcIjogJGZhLXZhci1tYXJzLXN0cm9rZS1oLFxuICBcImhhbmQtYmFjay1maXN0XCI6ICRmYS12YXItaGFuZC1iYWNrLWZpc3QsXG4gIFwiaGFuZC1yb2NrXCI6ICRmYS12YXItaGFuZC1yb2NrLFxuICBcInNxdWFyZS1jYXJldC11cFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC11cCxcbiAgXCJjYXJldC1zcXVhcmUtdXBcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtdXAsXG4gIFwiY2xvdWQtc2hvd2Vycy13YXRlclwiOiAkZmEtdmFyLWNsb3VkLXNob3dlcnMtd2F0ZXIsXG4gIFwiY2hhcnQtYmFyXCI6ICRmYS12YXItY2hhcnQtYmFyLFxuICBcImJhci1jaGFydFwiOiAkZmEtdmFyLWJhci1jaGFydCxcbiAgXCJoYW5kcy1idWJibGVzXCI6ICRmYS12YXItaGFuZHMtYnViYmxlcyxcbiAgXCJoYW5kcy13YXNoXCI6ICRmYS12YXItaGFuZHMtd2FzaCxcbiAgXCJsZXNzLXRoYW4tZXF1YWxcIjogJGZhLXZhci1sZXNzLXRoYW4tZXF1YWwsXG4gIFwidHJhaW5cIjogJGZhLXZhci10cmFpbixcbiAgXCJleWUtbG93LXZpc2lvblwiOiAkZmEtdmFyLWV5ZS1sb3ctdmlzaW9uLFxuICBcImxvdy12aXNpb25cIjogJGZhLXZhci1sb3ctdmlzaW9uLFxuICBcImNyb3dcIjogJGZhLXZhci1jcm93LFxuICBcInNhaWxib2F0XCI6ICRmYS12YXItc2FpbGJvYXQsXG4gIFwid2luZG93LXJlc3RvcmVcIjogJGZhLXZhci13aW5kb3ctcmVzdG9yZSxcbiAgXCJzcXVhcmUtcGx1c1wiOiAkZmEtdmFyLXNxdWFyZS1wbHVzLFxuICBcInBsdXMtc3F1YXJlXCI6ICRmYS12YXItcGx1cy1zcXVhcmUsXG4gIFwidG9yaWktZ2F0ZVwiOiAkZmEtdmFyLXRvcmlpLWdhdGUsXG4gIFwiZnJvZ1wiOiAkZmEtdmFyLWZyb2csXG4gIFwiYnVja2V0XCI6ICRmYS12YXItYnVja2V0LFxuICBcImltYWdlXCI6ICRmYS12YXItaW1hZ2UsXG4gIFwibWljcm9waG9uZVwiOiAkZmEtdmFyLW1pY3JvcGhvbmUsXG4gIFwiY293XCI6ICRmYS12YXItY293LFxuICBcImNhcmV0LXVwXCI6ICRmYS12YXItY2FyZXQtdXAsXG4gIFwic2NyZXdkcml2ZXJcIjogJGZhLXZhci1zY3Jld2RyaXZlcixcbiAgXCJmb2xkZXItY2xvc2VkXCI6ICRmYS12YXItZm9sZGVyLWNsb3NlZCxcbiAgXCJob3VzZS10c3VuYW1pXCI6ICRmYS12YXItaG91c2UtdHN1bmFtaSxcbiAgXCJzcXVhcmUtbmZpXCI6ICRmYS12YXItc3F1YXJlLW5maSxcbiAgXCJhcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlclwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyLFxuICBcIm1hcnRpbmktZ2xhc3NcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLFxuICBcImdsYXNzLW1hcnRpbmktYWx0XCI6ICRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQsXG4gIFwicm90YXRlLWxlZnRcIjogJGZhLXZhci1yb3RhdGUtbGVmdCxcbiAgXCJyb3RhdGUtYmFja1wiOiAkZmEtdmFyLXJvdGF0ZS1iYWNrLFxuICBcInJvdGF0ZS1iYWNrd2FyZFwiOiAkZmEtdmFyLXJvdGF0ZS1iYWNrd2FyZCxcbiAgXCJ1bmRvLWFsdFwiOiAkZmEtdmFyLXVuZG8tYWx0LFxuICBcInRhYmxlLWNvbHVtbnNcIjogJGZhLXZhci10YWJsZS1jb2x1bW5zLFxuICBcImNvbHVtbnNcIjogJGZhLXZhci1jb2x1bW5zLFxuICBcImxlbW9uXCI6ICRmYS12YXItbGVtb24sXG4gIFwiaGVhZC1zaWRlLW1hc2tcIjogJGZhLXZhci1oZWFkLXNpZGUtbWFzayxcbiAgXCJoYW5kc2hha2VcIjogJGZhLXZhci1oYW5kc2hha2UsXG4gIFwiZ2VtXCI6ICRmYS12YXItZ2VtLFxuICBcImRvbGx5XCI6ICRmYS12YXItZG9sbHksXG4gIFwiZG9sbHktYm94XCI6ICRmYS12YXItZG9sbHktYm94LFxuICBcInNtb2tpbmdcIjogJGZhLXZhci1zbW9raW5nLFxuICBcIm1pbmltaXplXCI6ICRmYS12YXItbWluaW1pemUsXG4gIFwiY29tcHJlc3MtYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQsXG4gIFwibW9udW1lbnRcIjogJGZhLXZhci1tb251bWVudCxcbiAgXCJzbm93cGxvd1wiOiAkZmEtdmFyLXNub3dwbG93LFxuICBcImFuZ2xlcy1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlcy1yaWdodCxcbiAgXCJhbmdsZS1kb3VibGUtcmlnaHRcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQsXG4gIFwiY2FubmFiaXNcIjogJGZhLXZhci1jYW5uYWJpcyxcbiAgXCJjaXJjbGUtcGxheVwiOiAkZmEtdmFyLWNpcmNsZS1wbGF5LFxuICBcInBsYXktY2lyY2xlXCI6ICRmYS12YXItcGxheS1jaXJjbGUsXG4gIFwidGFibGV0c1wiOiAkZmEtdmFyLXRhYmxldHMsXG4gIFwiZXRoZXJuZXRcIjogJGZhLXZhci1ldGhlcm5ldCxcbiAgXCJldXJvLXNpZ25cIjogJGZhLXZhci1ldXJvLXNpZ24sXG4gIFwiZXVyXCI6ICRmYS12YXItZXVyLFxuICBcImV1cm9cIjogJGZhLXZhci1ldXJvLFxuICBcImNoYWlyXCI6ICRmYS12YXItY2hhaXIsXG4gIFwiY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItY2lyY2xlLWNoZWNrLFxuICBcImNoZWNrLWNpcmNsZVwiOiAkZmEtdmFyLWNoZWNrLWNpcmNsZSxcbiAgXCJjaXJjbGUtc3RvcFwiOiAkZmEtdmFyLWNpcmNsZS1zdG9wLFxuICBcInN0b3AtY2lyY2xlXCI6ICRmYS12YXItc3RvcC1jaXJjbGUsXG4gIFwiY29tcGFzcy1kcmFmdGluZ1wiOiAkZmEtdmFyLWNvbXBhc3MtZHJhZnRpbmcsXG4gIFwiZHJhZnRpbmctY29tcGFzc1wiOiAkZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3MsXG4gIFwicGxhdGUtd2hlYXRcIjogJGZhLXZhci1wbGF0ZS13aGVhdCxcbiAgXCJpY2ljbGVzXCI6ICRmYS12YXItaWNpY2xlcyxcbiAgXCJwZXJzb24tc2hlbHRlclwiOiAkZmEtdmFyLXBlcnNvbi1zaGVsdGVyLFxuICBcIm5ldXRlclwiOiAkZmEtdmFyLW5ldXRlcixcbiAgXCJpZC1iYWRnZVwiOiAkZmEtdmFyLWlkLWJhZGdlLFxuICBcIm1hcmtlclwiOiAkZmEtdmFyLW1hcmtlcixcbiAgXCJmYWNlLWxhdWdoLWJlYW1cIjogJGZhLXZhci1mYWNlLWxhdWdoLWJlYW0sXG4gIFwibGF1Z2gtYmVhbVwiOiAkZmEtdmFyLWxhdWdoLWJlYW0sXG4gIFwiaGVsaWNvcHRlci1zeW1ib2xcIjogJGZhLXZhci1oZWxpY29wdGVyLXN5bWJvbCxcbiAgXCJ1bml2ZXJzYWwtYWNjZXNzXCI6ICRmYS12YXItdW5pdmVyc2FsLWFjY2VzcyxcbiAgXCJjaXJjbGUtY2hldnJvbi11cFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXVwLFxuICBcImNoZXZyb24tY2lyY2xlLXVwXCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXAsXG4gIFwibGFyaS1zaWduXCI6ICRmYS12YXItbGFyaS1zaWduLFxuICBcInZvbGNhbm9cIjogJGZhLXZhci12b2xjYW5vLFxuICBcInBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQsXG4gIFwic3Rlcmxpbmctc2lnblwiOiAkZmEtdmFyLXN0ZXJsaW5nLXNpZ24sXG4gIFwiZ2JwXCI6ICRmYS12YXItZ2JwLFxuICBcInBvdW5kLXNpZ25cIjogJGZhLXZhci1wb3VuZC1zaWduLFxuICBcInZpcnVzZXNcIjogJGZhLXZhci12aXJ1c2VzLFxuICBcInNxdWFyZS1wZXJzb24tY29uZmluZWRcIjogJGZhLXZhci1zcXVhcmUtcGVyc29uLWNvbmZpbmVkLFxuICBcInVzZXItdGllXCI6ICRmYS12YXItdXNlci10aWUsXG4gIFwiYXJyb3ctZG93bi1sb25nXCI6ICRmYS12YXItYXJyb3ctZG93bi1sb25nLFxuICBcImxvbmctYXJyb3ctZG93blwiOiAkZmEtdmFyLWxvbmctYXJyb3ctZG93bixcbiAgXCJ0ZW50LWFycm93LWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctZG93bi10by1saW5lLFxuICBcImNlcnRpZmljYXRlXCI6ICRmYS12YXItY2VydGlmaWNhdGUsXG4gIFwicmVwbHktYWxsXCI6ICRmYS12YXItcmVwbHktYWxsLFxuICBcIm1haWwtcmVwbHktYWxsXCI6ICRmYS12YXItbWFpbC1yZXBseS1hbGwsXG4gIFwic3VpdGNhc2VcIjogJGZhLXZhci1zdWl0Y2FzZSxcbiAgXCJwZXJzb24tc2thdGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1za2F0aW5nLFxuICBcInNrYXRpbmdcIjogJGZhLXZhci1za2F0aW5nLFxuICBcImZpbHRlci1jaXJjbGUtZG9sbGFyXCI6ICRmYS12YXItZmlsdGVyLWNpcmNsZS1kb2xsYXIsXG4gIFwiZnVubmVsLWRvbGxhclwiOiAkZmEtdmFyLWZ1bm5lbC1kb2xsYXIsXG4gIFwiY2FtZXJhLXJldHJvXCI6ICRmYS12YXItY2FtZXJhLXJldHJvLFxuICBcImNpcmNsZS1hcnJvdy1kb3duXCI6ICRmYS12YXItY2lyY2xlLWFycm93LWRvd24sXG4gIFwiYXJyb3ctY2lyY2xlLWRvd25cIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bixcbiAgXCJmaWxlLWltcG9ydFwiOiAkZmEtdmFyLWZpbGUtaW1wb3J0LFxuICBcImFycm93LXJpZ2h0LXRvLWZpbGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1maWxlLFxuICBcInNxdWFyZS1hcnJvdy11cC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS1hcnJvdy11cC1yaWdodCxcbiAgXCJleHRlcm5hbC1saW5rLXNxdWFyZVwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLFxuICBcImJveC1vcGVuXCI6ICRmYS12YXItYm94LW9wZW4sXG4gIFwic2Nyb2xsXCI6ICRmYS12YXItc2Nyb2xsLFxuICBcInNwYVwiOiAkZmEtdmFyLXNwYSxcbiAgXCJsb2NhdGlvbi1waW4tbG9ja1wiOiAkZmEtdmFyLWxvY2F0aW9uLXBpbi1sb2NrLFxuICBcInBhdXNlXCI6ICRmYS12YXItcGF1c2UsXG4gIFwiaGlsbC1hdmFsYW5jaGVcIjogJGZhLXZhci1oaWxsLWF2YWxhbmNoZSxcbiAgXCJ0ZW1wZXJhdHVyZS1lbXB0eVwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWVtcHR5LFxuICBcInRlbXBlcmF0dXJlLTBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0wLFxuICBcInRoZXJtb21ldGVyLTBcIjogJGZhLXZhci10aGVybW9tZXRlci0wLFxuICBcInRoZXJtb21ldGVyLWVtcHR5XCI6ICRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHksXG4gIFwiYm9tYlwiOiAkZmEtdmFyLWJvbWIsXG4gIFwicmVnaXN0ZXJlZFwiOiAkZmEtdmFyLXJlZ2lzdGVyZWQsXG4gIFwiYWRkcmVzcy1jYXJkXCI6ICRmYS12YXItYWRkcmVzcy1jYXJkLFxuICBcImNvbnRhY3QtY2FyZFwiOiAkZmEtdmFyLWNvbnRhY3QtY2FyZCxcbiAgXCJ2Y2FyZFwiOiAkZmEtdmFyLXZjYXJkLFxuICBcInNjYWxlLXVuYmFsYW5jZWQtZmxpcFwiOiAkZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQtZmxpcCxcbiAgXCJiYWxhbmNlLXNjYWxlLXJpZ2h0XCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCxcbiAgXCJzdWJzY3JpcHRcIjogJGZhLXZhci1zdWJzY3JpcHQsXG4gIFwiZGlhbW9uZC10dXJuLXJpZ2h0XCI6ICRmYS12YXItZGlhbW9uZC10dXJuLXJpZ2h0LFxuICBcImRpcmVjdGlvbnNcIjogJGZhLXZhci1kaXJlY3Rpb25zLFxuICBcImJ1cnN0XCI6ICRmYS12YXItYnVyc3QsXG4gIFwiaG91c2UtbGFwdG9wXCI6ICRmYS12YXItaG91c2UtbGFwdG9wLFxuICBcImxhcHRvcC1ob3VzZVwiOiAkZmEtdmFyLWxhcHRvcC1ob3VzZSxcbiAgXCJmYWNlLXRpcmVkXCI6ICRmYS12YXItZmFjZS10aXJlZCxcbiAgXCJ0aXJlZFwiOiAkZmEtdmFyLXRpcmVkLFxuICBcIm1vbmV5LWJpbGxzXCI6ICRmYS12YXItbW9uZXktYmlsbHMsXG4gIFwic21vZ1wiOiAkZmEtdmFyLXNtb2csXG4gIFwiY3J1dGNoXCI6ICRmYS12YXItY3J1dGNoLFxuICBcImNsb3VkLWFycm93LXVwXCI6ICRmYS12YXItY2xvdWQtYXJyb3ctdXAsXG4gIFwiY2xvdWQtdXBsb2FkXCI6ICRmYS12YXItY2xvdWQtdXBsb2FkLFxuICBcImNsb3VkLXVwbG9hZC1hbHRcIjogJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0LFxuICBcInBhbGV0dGVcIjogJGZhLXZhci1wYWxldHRlLFxuICBcImFycm93cy10dXJuLXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLXR1cm4tcmlnaHQsXG4gIFwidmVzdFwiOiAkZmEtdmFyLXZlc3QsXG4gIFwiZmVycnlcIjogJGZhLXZhci1mZXJyeSxcbiAgXCJhcnJvd3MtZG93bi10by1wZW9wbGVcIjogJGZhLXZhci1hcnJvd3MtZG93bi10by1wZW9wbGUsXG4gIFwic2VlZGxpbmdcIjogJGZhLXZhci1zZWVkbGluZyxcbiAgXCJzcHJvdXRcIjogJGZhLXZhci1zcHJvdXQsXG4gIFwibGVmdC1yaWdodFwiOiAkZmEtdmFyLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWFsdC1oXCI6ICRmYS12YXItYXJyb3dzLWFsdC1oLFxuICBcImJveGVzLXBhY2tpbmdcIjogJGZhLXZhci1ib3hlcy1wYWNraW5nLFxuICBcImNpcmNsZS1hcnJvdy1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWFycm93LWxlZnQsXG4gIFwiYXJyb3ctY2lyY2xlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdCxcbiAgXCJncm91cC1hcnJvd3Mtcm90YXRlXCI6ICRmYS12YXItZ3JvdXAtYXJyb3dzLXJvdGF0ZSxcbiAgXCJib3dsLWZvb2RcIjogJGZhLXZhci1ib3dsLWZvb2QsXG4gIFwiY2FuZHktY2FuZVwiOiAkZmEtdmFyLWNhbmR5LWNhbmUsXG4gIFwiYXJyb3ctZG93bi13aWRlLXNob3J0XCI6ICRmYS12YXItYXJyb3ctZG93bi13aWRlLXNob3J0LFxuICBcInNvcnQtYW1vdW50LWFzY1wiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYyxcbiAgXCJzb3J0LWFtb3VudC1kb3duXCI6ICRmYS12YXItc29ydC1hbW91bnQtZG93bixcbiAgXCJjbG91ZC1ib2x0XCI6ICRmYS12YXItY2xvdWQtYm9sdCxcbiAgXCJ0aHVuZGVyc3Rvcm1cIjogJGZhLXZhci10aHVuZGVyc3Rvcm0sXG4gIFwidGV4dC1zbGFzaFwiOiAkZmEtdmFyLXRleHQtc2xhc2gsXG4gIFwicmVtb3ZlLWZvcm1hdFwiOiAkZmEtdmFyLXJlbW92ZS1mb3JtYXQsXG4gIFwiZmFjZS1zbWlsZS13aW5rXCI6ICRmYS12YXItZmFjZS1zbWlsZS13aW5rLFxuICBcInNtaWxlLXdpbmtcIjogJGZhLXZhci1zbWlsZS13aW5rLFxuICBcImZpbGUtd29yZFwiOiAkZmEtdmFyLWZpbGUtd29yZCxcbiAgXCJmaWxlLXBvd2VycG9pbnRcIjogJGZhLXZhci1maWxlLXBvd2VycG9pbnQsXG4gIFwiYXJyb3dzLWxlZnQtcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtaFwiOiAkZmEtdmFyLWFycm93cy1oLFxuICBcImhvdXNlLWxvY2tcIjogJGZhLXZhci1ob3VzZS1sb2NrLFxuICBcImNsb3VkLWFycm93LWRvd25cIjogJGZhLXZhci1jbG91ZC1hcnJvdy1kb3duLFxuICBcImNsb3VkLWRvd25sb2FkXCI6ICRmYS12YXItY2xvdWQtZG93bmxvYWQsXG4gIFwiY2xvdWQtZG93bmxvYWQtYWx0XCI6ICRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0LFxuICBcImNoaWxkcmVuXCI6ICRmYS12YXItY2hpbGRyZW4sXG4gIFwiY2hhbGtib2FyZFwiOiAkZmEtdmFyLWNoYWxrYm9hcmQsXG4gIFwiYmxhY2tib2FyZFwiOiAkZmEtdmFyLWJsYWNrYm9hcmQsXG4gIFwidXNlci1sYXJnZS1zbGFzaFwiOiAkZmEtdmFyLXVzZXItbGFyZ2Utc2xhc2gsXG4gIFwidXNlci1hbHQtc2xhc2hcIjogJGZhLXZhci11c2VyLWFsdC1zbGFzaCxcbiAgXCJlbnZlbG9wZS1vcGVuXCI6ICRmYS12YXItZW52ZWxvcGUtb3BlbixcbiAgXCJoYW5kc2hha2Utc2ltcGxlLXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCxcbiAgXCJoYW5kc2hha2UtYWx0LXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCxcbiAgXCJtYXR0cmVzcy1waWxsb3dcIjogJGZhLXZhci1tYXR0cmVzcy1waWxsb3csXG4gIFwiZ3VhcmFuaS1zaWduXCI6ICRmYS12YXItZ3VhcmFuaS1zaWduLFxuICBcImFycm93cy1yb3RhdGVcIjogJGZhLXZhci1hcnJvd3Mtcm90YXRlLFxuICBcInJlZnJlc2hcIjogJGZhLXZhci1yZWZyZXNoLFxuICBcInN5bmNcIjogJGZhLXZhci1zeW5jLFxuICBcImZpcmUtZXh0aW5ndWlzaGVyXCI6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXIsXG4gIFwiY3J1emVpcm8tc2lnblwiOiAkZmEtdmFyLWNydXplaXJvLXNpZ24sXG4gIFwiZ3JlYXRlci10aGFuLWVxdWFsXCI6ICRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsLFxuICBcInNoaWVsZC1oYWx2ZWRcIjogJGZhLXZhci1zaGllbGQtaGFsdmVkLFxuICBcInNoaWVsZC1hbHRcIjogJGZhLXZhci1zaGllbGQtYWx0LFxuICBcImJvb2stYXRsYXNcIjogJGZhLXZhci1ib29rLWF0bGFzLFxuICBcImF0bGFzXCI6ICRmYS12YXItYXRsYXMsXG4gIFwidmlydXNcIjogJGZhLXZhci12aXJ1cyxcbiAgXCJlbnZlbG9wZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1lbnZlbG9wZS1jaXJjbGUtY2hlY2ssXG4gIFwibGF5ZXItZ3JvdXBcIjogJGZhLXZhci1sYXllci1ncm91cCxcbiAgXCJhcnJvd3MtdG8tZG90XCI6ICRmYS12YXItYXJyb3dzLXRvLWRvdCxcbiAgXCJhcmNod2F5XCI6ICRmYS12YXItYXJjaHdheSxcbiAgXCJoZWFydC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtY2hlY2ssXG4gIFwiaG91c2UtY2hpbW5leS1jcmFja1wiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktY3JhY2ssXG4gIFwiaG91c2UtZGFtYWdlXCI6ICRmYS12YXItaG91c2UtZGFtYWdlLFxuICBcImZpbGUtemlwcGVyXCI6ICRmYS12YXItZmlsZS16aXBwZXIsXG4gIFwiZmlsZS1hcmNoaXZlXCI6ICRmYS12YXItZmlsZS1hcmNoaXZlLFxuICBcInNxdWFyZVwiOiAkZmEtdmFyLXNxdWFyZSxcbiAgXCJtYXJ0aW5pLWdsYXNzLWVtcHR5XCI6ICRmYS12YXItbWFydGluaS1nbGFzcy1lbXB0eSxcbiAgXCJnbGFzcy1tYXJ0aW5pXCI6ICRmYS12YXItZ2xhc3MtbWFydGluaSxcbiAgXCJjb3VjaFwiOiAkZmEtdmFyLWNvdWNoLFxuICBcImNlZGktc2lnblwiOiAkZmEtdmFyLWNlZGktc2lnbixcbiAgXCJpdGFsaWNcIjogJGZhLXZhci1pdGFsaWMsXG4gIFwiY2h1cmNoXCI6ICRmYS12YXItY2h1cmNoLFxuICBcImNvbW1lbnRzLWRvbGxhclwiOiAkZmEtdmFyLWNvbW1lbnRzLWRvbGxhcixcbiAgXCJkZW1vY3JhdFwiOiAkZmEtdmFyLWRlbW9jcmF0LFxuICBcInpcIjogJGZhLXZhci16LFxuICBcInBlcnNvbi1za2lpbmdcIjogJGZhLXZhci1wZXJzb24tc2tpaW5nLFxuICBcInNraWluZ1wiOiAkZmEtdmFyLXNraWluZyxcbiAgXCJyb2FkLWxvY2tcIjogJGZhLXZhci1yb2FkLWxvY2ssXG4gIFwiYVwiOiAkZmEtdmFyLWEsXG4gIFwidGVtcGVyYXR1cmUtYXJyb3ctZG93blwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LWRvd24sXG4gIFwidGVtcGVyYXR1cmUtZG93blwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWRvd24sXG4gIFwiZmVhdGhlci1wb2ludGVkXCI6ICRmYS12YXItZmVhdGhlci1wb2ludGVkLFxuICBcImZlYXRoZXItYWx0XCI6ICRmYS12YXItZmVhdGhlci1hbHQsXG4gIFwicFwiOiAkZmEtdmFyLXAsXG4gIFwic25vd2ZsYWtlXCI6ICRmYS12YXItc25vd2ZsYWtlLFxuICBcIm5ld3NwYXBlclwiOiAkZmEtdmFyLW5ld3NwYXBlcixcbiAgXCJyZWN0YW5nbGUtYWRcIjogJGZhLXZhci1yZWN0YW5nbGUtYWQsXG4gIFwiYWRcIjogJGZhLXZhci1hZCxcbiAgXCJjaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwiYXJyb3ctY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0LFxuICBcImZpbHRlci1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1maWx0ZXItY2lyY2xlLXhtYXJrLFxuICBcImxvY3VzdFwiOiAkZmEtdmFyLWxvY3VzdCxcbiAgXCJzb3J0XCI6ICRmYS12YXItc29ydCxcbiAgXCJ1bnNvcnRlZFwiOiAkZmEtdmFyLXVuc29ydGVkLFxuICBcImxpc3Qtb2xcIjogJGZhLXZhci1saXN0LW9sLFxuICBcImxpc3QtMS0yXCI6ICRmYS12YXItbGlzdC0xLTIsXG4gIFwibGlzdC1udW1lcmljXCI6ICRmYS12YXItbGlzdC1udW1lcmljLFxuICBcInBlcnNvbi1kcmVzcy1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1kcmVzcy1idXJzdCxcbiAgXCJtb25leS1jaGVjay1kb2xsYXJcIjogJGZhLXZhci1tb25leS1jaGVjay1kb2xsYXIsXG4gIFwibW9uZXktY2hlY2stYWx0XCI6ICRmYS12YXItbW9uZXktY2hlY2stYWx0LFxuICBcInZlY3Rvci1zcXVhcmVcIjogJGZhLXZhci12ZWN0b3Itc3F1YXJlLFxuICBcImJyZWFkLXNsaWNlXCI6ICRmYS12YXItYnJlYWQtc2xpY2UsXG4gIFwibGFuZ3VhZ2VcIjogJGZhLXZhci1sYW5ndWFnZSxcbiAgXCJmYWNlLWtpc3Mtd2luay1oZWFydFwiOiAkZmEtdmFyLWZhY2Uta2lzcy13aW5rLWhlYXJ0LFxuICBcImtpc3Mtd2luay1oZWFydFwiOiAkZmEtdmFyLWtpc3Mtd2luay1oZWFydCxcbiAgXCJmaWx0ZXJcIjogJGZhLXZhci1maWx0ZXIsXG4gIFwicXVlc3Rpb25cIjogJGZhLXZhci1xdWVzdGlvbixcbiAgXCJmaWxlLXNpZ25hdHVyZVwiOiAkZmEtdmFyLWZpbGUtc2lnbmF0dXJlLFxuICBcInVwLWRvd24tbGVmdC1yaWdodFwiOiAkZmEtdmFyLXVwLWRvd24tbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtYWx0XCI6ICRmYS12YXItYXJyb3dzLWFsdCxcbiAgXCJob3VzZS1jaGltbmV5LXVzZXJcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LXVzZXIsXG4gIFwiaGFuZC1ob2xkaW5nLWhlYXJ0XCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0LFxuICBcInB1enpsZS1waWVjZVwiOiAkZmEtdmFyLXB1enpsZS1waWVjZSxcbiAgXCJtb25leS1jaGVja1wiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLFxuICBcInN0YXItaGFsZi1zdHJva2VcIjogJGZhLXZhci1zdGFyLWhhbGYtc3Ryb2tlLFxuICBcInN0YXItaGFsZi1hbHRcIjogJGZhLXZhci1zdGFyLWhhbGYtYWx0LFxuICBcImNvZGVcIjogJGZhLXZhci1jb2RlLFxuICBcIndoaXNrZXktZ2xhc3NcIjogJGZhLXZhci13aGlza2V5LWdsYXNzLFxuICBcImdsYXNzLXdoaXNrZXlcIjogJGZhLXZhci1nbGFzcy13aGlza2V5LFxuICBcImJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWNoYXJ0XCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1jaGFydCxcbiAgXCJhcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlLFxuICBcImV4dGVybmFsLWxpbmtcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLFxuICBcImN1YmVzLXN0YWNrZWRcIjogJGZhLXZhci1jdWJlcy1zdGFja2VkLFxuICBcIndvbi1zaWduXCI6ICRmYS12YXItd29uLXNpZ24sXG4gIFwia3J3XCI6ICRmYS12YXIta3J3LFxuICBcIndvblwiOiAkZmEtdmFyLXdvbixcbiAgXCJ2aXJ1cy1jb3ZpZFwiOiAkZmEtdmFyLXZpcnVzLWNvdmlkLFxuICBcImF1c3RyYWwtc2lnblwiOiAkZmEtdmFyLWF1c3RyYWwtc2lnbixcbiAgXCJmXCI6ICRmYS12YXItZixcbiAgXCJsZWFmXCI6ICRmYS12YXItbGVhZixcbiAgXCJyb2FkXCI6ICRmYS12YXItcm9hZCxcbiAgXCJ0YXhpXCI6ICRmYS12YXItdGF4aSxcbiAgXCJjYWJcIjogJGZhLXZhci1jYWIsXG4gIFwicGVyc29uLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1wbHVzLFxuICBcImNoYXJ0LXBpZVwiOiAkZmEtdmFyLWNoYXJ0LXBpZSxcbiAgXCJwaWUtY2hhcnRcIjogJGZhLXZhci1waWUtY2hhcnQsXG4gIFwiYm9sdC1saWdodG5pbmdcIjogJGZhLXZhci1ib2x0LWxpZ2h0bmluZyxcbiAgXCJzYWNrLXhtYXJrXCI6ICRmYS12YXItc2Fjay14bWFyayxcbiAgXCJmaWxlLWV4Y2VsXCI6ICRmYS12YXItZmlsZS1leGNlbCxcbiAgXCJmaWxlLWNvbnRyYWN0XCI6ICRmYS12YXItZmlsZS1jb250cmFjdCxcbiAgXCJmaXNoLWZpbnNcIjogJGZhLXZhci1maXNoLWZpbnMsXG4gIFwiYnVpbGRpbmctZmxhZ1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWZsYWcsXG4gIFwiZmFjZS1ncmluLWJlYW1cIjogJGZhLXZhci1mYWNlLWdyaW4tYmVhbSxcbiAgXCJncmluLWJlYW1cIjogJGZhLXZhci1ncmluLWJlYW0sXG4gIFwib2JqZWN0LXVuZ3JvdXBcIjogJGZhLXZhci1vYmplY3QtdW5ncm91cCxcbiAgXCJwb29wXCI6ICRmYS12YXItcG9vcCxcbiAgXCJsb2NhdGlvbi1waW5cIjogJGZhLXZhci1sb2NhdGlvbi1waW4sXG4gIFwibWFwLW1hcmtlclwiOiAkZmEtdmFyLW1hcC1tYXJrZXIsXG4gIFwia2FhYmFcIjogJGZhLXZhci1rYWFiYSxcbiAgXCJ0b2lsZXQtcGFwZXJcIjogJGZhLXZhci10b2lsZXQtcGFwZXIsXG4gIFwiaGVsbWV0LXNhZmV0eVwiOiAkZmEtdmFyLWhlbG1ldC1zYWZldHksXG4gIFwiaGFyZC1oYXRcIjogJGZhLXZhci1oYXJkLWhhdCxcbiAgXCJoYXQtaGFyZFwiOiAkZmEtdmFyLWhhdC1oYXJkLFxuICBcImVqZWN0XCI6ICRmYS12YXItZWplY3QsXG4gIFwiY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLXJpZ2h0LFxuICBcImFycm93LWFsdC1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0LFxuICBcInBsYW5lLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS1jaGVjayxcbiAgXCJmYWNlLXJvbGxpbmctZXllc1wiOiAkZmEtdmFyLWZhY2Utcm9sbGluZy1leWVzLFxuICBcIm1laC1yb2xsaW5nLWV5ZXNcIjogJGZhLXZhci1tZWgtcm9sbGluZy1leWVzLFxuICBcIm9iamVjdC1ncm91cFwiOiAkZmEtdmFyLW9iamVjdC1ncm91cCxcbiAgXCJjaGFydC1saW5lXCI6ICRmYS12YXItY2hhcnQtbGluZSxcbiAgXCJsaW5lLWNoYXJ0XCI6ICRmYS12YXItbGluZS1jaGFydCxcbiAgXCJtYXNrLXZlbnRpbGF0b3JcIjogJGZhLXZhci1tYXNrLXZlbnRpbGF0b3IsXG4gIFwiYXJyb3ctcmlnaHRcIjogJGZhLXZhci1hcnJvdy1yaWdodCxcbiAgXCJzaWducy1wb3N0XCI6ICRmYS12YXItc2lnbnMtcG9zdCxcbiAgXCJtYXAtc2lnbnNcIjogJGZhLXZhci1tYXAtc2lnbnMsXG4gIFwiY2FzaC1yZWdpc3RlclwiOiAkZmEtdmFyLWNhc2gtcmVnaXN0ZXIsXG4gIFwicGVyc29uLWNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtcXVlc3Rpb24sXG4gIFwiaFwiOiAkZmEtdmFyLWgsXG4gIFwidGFycFwiOiAkZmEtdmFyLXRhcnAsXG4gIFwic2NyZXdkcml2ZXItd3JlbmNoXCI6ICRmYS12YXItc2NyZXdkcml2ZXItd3JlbmNoLFxuICBcInRvb2xzXCI6ICRmYS12YXItdG9vbHMsXG4gIFwiYXJyb3dzLXRvLWV5ZVwiOiAkZmEtdmFyLWFycm93cy10by1leWUsXG4gIFwicGx1Zy1jaXJjbGUtYm9sdFwiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWJvbHQsXG4gIFwiaGVhcnRcIjogJGZhLXZhci1oZWFydCxcbiAgXCJtYXJzLWFuZC12ZW51c1wiOiAkZmEtdmFyLW1hcnMtYW5kLXZlbnVzLFxuICBcImhvdXNlLXVzZXJcIjogJGZhLXZhci1ob3VzZS11c2VyLFxuICBcImhvbWUtdXNlclwiOiAkZmEtdmFyLWhvbWUtdXNlcixcbiAgXCJkdW1wc3Rlci1maXJlXCI6ICRmYS12YXItZHVtcHN0ZXItZmlyZSxcbiAgXCJob3VzZS1jcmFja1wiOiAkZmEtdmFyLWhvdXNlLWNyYWNrLFxuICBcIm1hcnRpbmktZ2xhc3MtY2l0cnVzXCI6ICRmYS12YXItbWFydGluaS1nbGFzcy1jaXRydXMsXG4gIFwiY29ja3RhaWxcIjogJGZhLXZhci1jb2NrdGFpbCxcbiAgXCJmYWNlLXN1cnByaXNlXCI6ICRmYS12YXItZmFjZS1zdXJwcmlzZSxcbiAgXCJzdXJwcmlzZVwiOiAkZmEtdmFyLXN1cnByaXNlLFxuICBcImJvdHRsZS13YXRlclwiOiAkZmEtdmFyLWJvdHRsZS13YXRlcixcbiAgXCJjaXJjbGUtcGF1c2VcIjogJGZhLXZhci1jaXJjbGUtcGF1c2UsXG4gIFwicGF1c2UtY2lyY2xlXCI6ICRmYS12YXItcGF1c2UtY2lyY2xlLFxuICBcInRvaWxldC1wYXBlci1zbGFzaFwiOiAkZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaCxcbiAgXCJhcHBsZS13aG9sZVwiOiAkZmEtdmFyLWFwcGxlLXdob2xlLFxuICBcImFwcGxlLWFsdFwiOiAkZmEtdmFyLWFwcGxlLWFsdCxcbiAgXCJraXRjaGVuLXNldFwiOiAkZmEtdmFyLWtpdGNoZW4tc2V0LFxuICBcInJcIjogJGZhLXZhci1yLFxuICBcInRlbXBlcmF0dXJlLXF1YXJ0ZXJcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1xdWFydGVyLFxuICBcInRlbXBlcmF0dXJlLTFcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0xLFxuICBcInRoZXJtb21ldGVyLTFcIjogJGZhLXZhci10aGVybW9tZXRlci0xLFxuICBcInRoZXJtb21ldGVyLXF1YXJ0ZXJcIjogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyLFxuICBcImN1YmVcIjogJGZhLXZhci1jdWJlLFxuICBcImJpdGNvaW4tc2lnblwiOiAkZmEtdmFyLWJpdGNvaW4tc2lnbixcbiAgXCJzaGllbGQtZG9nXCI6ICRmYS12YXItc2hpZWxkLWRvZyxcbiAgXCJzb2xhci1wYW5lbFwiOiAkZmEtdmFyLXNvbGFyLXBhbmVsLFxuICBcImxvY2stb3BlblwiOiAkZmEtdmFyLWxvY2stb3BlbixcbiAgXCJlbGV2YXRvclwiOiAkZmEtdmFyLWVsZXZhdG9yLFxuICBcIm1vbmV5LWJpbGwtdHJhbnNmZXJcIjogJGZhLXZhci1tb25leS1iaWxsLXRyYW5zZmVyLFxuICBcIm1vbmV5LWJpbGwtdHJlbmQtdXBcIjogJGZhLXZhci1tb25leS1iaWxsLXRyZW5kLXVwLFxuICBcImhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJzcXVhcmUtcG9sbC1ob3Jpem9udGFsXCI6ICRmYS12YXItc3F1YXJlLXBvbGwtaG9yaXpvbnRhbCxcbiAgXCJwb2xsLWhcIjogJGZhLXZhci1wb2xsLWgsXG4gIFwiY2lyY2xlXCI6ICRmYS12YXItY2lyY2xlLFxuICBcImJhY2t3YXJkLWZhc3RcIjogJGZhLXZhci1iYWNrd2FyZC1mYXN0LFxuICBcImZhc3QtYmFja3dhcmRcIjogJGZhLXZhci1mYXN0LWJhY2t3YXJkLFxuICBcInJlY3ljbGVcIjogJGZhLXZhci1yZWN5Y2xlLFxuICBcInVzZXItYXN0cm9uYXV0XCI6ICRmYS12YXItdXNlci1hc3Ryb25hdXQsXG4gIFwicGxhbmUtc2xhc2hcIjogJGZhLXZhci1wbGFuZS1zbGFzaCxcbiAgXCJ0cmFkZW1hcmtcIjogJGZhLXZhci10cmFkZW1hcmssXG4gIFwiYmFza2V0YmFsbFwiOiAkZmEtdmFyLWJhc2tldGJhbGwsXG4gIFwiYmFza2V0YmFsbC1iYWxsXCI6ICRmYS12YXItYmFza2V0YmFsbC1iYWxsLFxuICBcInNhdGVsbGl0ZS1kaXNoXCI6ICRmYS12YXItc2F0ZWxsaXRlLWRpc2gsXG4gIFwiY2lyY2xlLXVwXCI6ICRmYS12YXItY2lyY2xlLXVwLFxuICBcImFycm93LWFsdC1jaXJjbGUtdXBcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwLFxuICBcIm1vYmlsZS1zY3JlZW4tYnV0dG9uXCI6ICRmYS12YXItbW9iaWxlLXNjcmVlbi1idXR0b24sXG4gIFwibW9iaWxlLWFsdFwiOiAkZmEtdmFyLW1vYmlsZS1hbHQsXG4gIFwidm9sdW1lLWhpZ2hcIjogJGZhLXZhci12b2x1bWUtaGlnaCxcbiAgXCJ2b2x1bWUtdXBcIjogJGZhLXZhci12b2x1bWUtdXAsXG4gIFwidXNlcnMtcmF5c1wiOiAkZmEtdmFyLXVzZXJzLXJheXMsXG4gIFwid2FsbGV0XCI6ICRmYS12YXItd2FsbGV0LFxuICBcImNsaXBib2FyZC1jaGVja1wiOiAkZmEtdmFyLWNsaXBib2FyZC1jaGVjayxcbiAgXCJmaWxlLWF1ZGlvXCI6ICRmYS12YXItZmlsZS1hdWRpbyxcbiAgXCJidXJnZXJcIjogJGZhLXZhci1idXJnZXIsXG4gIFwiaGFtYnVyZ2VyXCI6ICRmYS12YXItaGFtYnVyZ2VyLFxuICBcIndyZW5jaFwiOiAkZmEtdmFyLXdyZW5jaCxcbiAgXCJidWdzXCI6ICRmYS12YXItYnVncyxcbiAgXCJydXBlZS1zaWduXCI6ICRmYS12YXItcnVwZWUtc2lnbixcbiAgXCJydXBlZVwiOiAkZmEtdmFyLXJ1cGVlLFxuICBcImZpbGUtaW1hZ2VcIjogJGZhLXZhci1maWxlLWltYWdlLFxuICBcImNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJxdWVzdGlvbi1jaXJjbGVcIjogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUsXG4gIFwicGxhbmUtZGVwYXJ0dXJlXCI6ICRmYS12YXItcGxhbmUtZGVwYXJ0dXJlLFxuICBcImhhbmRzaGFrZS1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCxcbiAgXCJib29rLWJvb2ttYXJrXCI6ICRmYS12YXItYm9vay1ib29rbWFyayxcbiAgXCJjb2RlLWJyYW5jaFwiOiAkZmEtdmFyLWNvZGUtYnJhbmNoLFxuICBcImhhdC1jb3dib3lcIjogJGZhLXZhci1oYXQtY293Ym95LFxuICBcImJyaWRnZVwiOiAkZmEtdmFyLWJyaWRnZSxcbiAgXCJwaG9uZS1mbGlwXCI6ICRmYS12YXItcGhvbmUtZmxpcCxcbiAgXCJwaG9uZS1hbHRcIjogJGZhLXZhci1waG9uZS1hbHQsXG4gIFwidHJ1Y2stZnJvbnRcIjogJGZhLXZhci10cnVjay1mcm9udCxcbiAgXCJjYXRcIjogJGZhLXZhci1jYXQsXG4gIFwiYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwidHJ1Y2stZmllbGRcIjogJGZhLXZhci10cnVjay1maWVsZCxcbiAgXCJyb3V0ZVwiOiAkZmEtdmFyLXJvdXRlLFxuICBcImNsaXBib2FyZC1xdWVzdGlvblwiOiAkZmEtdmFyLWNsaXBib2FyZC1xdWVzdGlvbixcbiAgXCJwYW5vcmFtYVwiOiAkZmEtdmFyLXBhbm9yYW1hLFxuICBcImNvbW1lbnQtbWVkaWNhbFwiOiAkZmEtdmFyLWNvbW1lbnQtbWVkaWNhbCxcbiAgXCJ0ZWV0aC1vcGVuXCI6ICRmYS12YXItdGVldGgtb3BlbixcbiAgXCJmaWxlLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLW1pbnVzLFxuICBcInRhZ3NcIjogJGZhLXZhci10YWdzLFxuICBcIndpbmUtZ2xhc3NcIjogJGZhLXZhci13aW5lLWdsYXNzLFxuICBcImZvcndhcmQtZmFzdFwiOiAkZmEtdmFyLWZvcndhcmQtZmFzdCxcbiAgXCJmYXN0LWZvcndhcmRcIjogJGZhLXZhci1mYXN0LWZvcndhcmQsXG4gIFwiZmFjZS1tZWgtYmxhbmtcIjogJGZhLXZhci1mYWNlLW1laC1ibGFuayxcbiAgXCJtZWgtYmxhbmtcIjogJGZhLXZhci1tZWgtYmxhbmssXG4gIFwic3F1YXJlLXBhcmtpbmdcIjogJGZhLXZhci1zcXVhcmUtcGFya2luZyxcbiAgXCJwYXJraW5nXCI6ICRmYS12YXItcGFya2luZyxcbiAgXCJob3VzZS1zaWduYWxcIjogJGZhLXZhci1ob3VzZS1zaWduYWwsXG4gIFwiYmFycy1wcm9ncmVzc1wiOiAkZmEtdmFyLWJhcnMtcHJvZ3Jlc3MsXG4gIFwidGFza3MtYWx0XCI6ICRmYS12YXItdGFza3MtYWx0LFxuICBcImZhdWNldC1kcmlwXCI6ICRmYS12YXItZmF1Y2V0LWRyaXAsXG4gIFwiY2FydC1mbGF0YmVkXCI6ICRmYS12YXItY2FydC1mbGF0YmVkLFxuICBcImRvbGx5LWZsYXRiZWRcIjogJGZhLXZhci1kb2xseS1mbGF0YmVkLFxuICBcImJhbi1zbW9raW5nXCI6ICRmYS12YXItYmFuLXNtb2tpbmcsXG4gIFwic21va2luZy1iYW5cIjogJGZhLXZhci1zbW9raW5nLWJhbixcbiAgXCJ0ZXJtaW5hbFwiOiAkZmEtdmFyLXRlcm1pbmFsLFxuICBcIm1vYmlsZS1idXR0b25cIjogJGZhLXZhci1tb2JpbGUtYnV0dG9uLFxuICBcImhvdXNlLW1lZGljYWwtZmxhZ1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtZmxhZyxcbiAgXCJiYXNrZXQtc2hvcHBpbmdcIjogJGZhLXZhci1iYXNrZXQtc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctYmFza2V0XCI6ICRmYS12YXItc2hvcHBpbmctYmFza2V0LFxuICBcInRhcGVcIjogJGZhLXZhci10YXBlLFxuICBcImJ1cy1zaW1wbGVcIjogJGZhLXZhci1idXMtc2ltcGxlLFxuICBcImJ1cy1hbHRcIjogJGZhLXZhci1idXMtYWx0LFxuICBcImV5ZVwiOiAkZmEtdmFyLWV5ZSxcbiAgXCJmYWNlLXNhZC1jcnlcIjogJGZhLXZhci1mYWNlLXNhZC1jcnksXG4gIFwic2FkLWNyeVwiOiAkZmEtdmFyLXNhZC1jcnksXG4gIFwiYXVkaW8tZGVzY3JpcHRpb25cIjogJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbixcbiAgXCJwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbixcbiAgXCJmaWxlLXNoaWVsZFwiOiAkZmEtdmFyLWZpbGUtc2hpZWxkLFxuICBcInVzZXItc2xhc2hcIjogJGZhLXZhci11c2VyLXNsYXNoLFxuICBcInBlblwiOiAkZmEtdmFyLXBlbixcbiAgXCJ0b3dlci1vYnNlcnZhdGlvblwiOiAkZmEtdmFyLXRvd2VyLW9ic2VydmF0aW9uLFxuICBcImZpbGUtY29kZVwiOiAkZmEtdmFyLWZpbGUtY29kZSxcbiAgXCJzaWduYWxcIjogJGZhLXZhci1zaWduYWwsXG4gIFwic2lnbmFsLTVcIjogJGZhLXZhci1zaWduYWwtNSxcbiAgXCJzaWduYWwtcGVyZmVjdFwiOiAkZmEtdmFyLXNpZ25hbC1wZXJmZWN0LFxuICBcImJ1c1wiOiAkZmEtdmFyLWJ1cyxcbiAgXCJoZWFydC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1oZWFydC1jaXJjbGUteG1hcmssXG4gIFwiaG91c2UtY2hpbW5leVwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXksXG4gIFwiaG9tZS1sZ1wiOiAkZmEtdmFyLWhvbWUtbGcsXG4gIFwid2luZG93LW1heGltaXplXCI6ICRmYS12YXItd2luZG93LW1heGltaXplLFxuICBcImZhY2UtZnJvd25cIjogJGZhLXZhci1mYWNlLWZyb3duLFxuICBcImZyb3duXCI6ICRmYS12YXItZnJvd24sXG4gIFwicHJlc2NyaXB0aW9uXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLFxuICBcInNob3BcIjogJGZhLXZhci1zaG9wLFxuICBcInN0b3JlLWFsdFwiOiAkZmEtdmFyLXN0b3JlLWFsdCxcbiAgXCJmbG9wcHktZGlza1wiOiAkZmEtdmFyLWZsb3BweS1kaXNrLFxuICBcInNhdmVcIjogJGZhLXZhci1zYXZlLFxuICBcInZpaGFyYVwiOiAkZmEtdmFyLXZpaGFyYSxcbiAgXCJzY2FsZS11bmJhbGFuY2VkXCI6ICRmYS12YXItc2NhbGUtdW5iYWxhbmNlZCxcbiAgXCJiYWxhbmNlLXNjYWxlLWxlZnRcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQsXG4gIFwic29ydC11cFwiOiAkZmEtdmFyLXNvcnQtdXAsXG4gIFwic29ydC1hc2NcIjogJGZhLXZhci1zb3J0LWFzYyxcbiAgXCJjb21tZW50LWRvdHNcIjogJGZhLXZhci1jb21tZW50LWRvdHMsXG4gIFwiY29tbWVudGluZ1wiOiAkZmEtdmFyLWNvbW1lbnRpbmcsXG4gIFwicGxhbnQtd2lsdFwiOiAkZmEtdmFyLXBsYW50LXdpbHQsXG4gIFwiZGlhbW9uZFwiOiAkZmEtdmFyLWRpYW1vbmQsXG4gIFwiZmFjZS1ncmluLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQsXG4gIFwiZ3Jpbi1zcXVpbnRcIjogJGZhLXZhci1ncmluLXNxdWludCxcbiAgXCJoYW5kLWhvbGRpbmctZG9sbGFyXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWRvbGxhcixcbiAgXCJoYW5kLWhvbGRpbmctdXNkXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLXVzZCxcbiAgXCJiYWN0ZXJpdW1cIjogJGZhLXZhci1iYWN0ZXJpdW0sXG4gIFwiaGFuZC1wb2ludGVyXCI6ICRmYS12YXItaGFuZC1wb2ludGVyLFxuICBcImRydW0tc3RlZWxwYW5cIjogJGZhLXZhci1kcnVtLXN0ZWVscGFuLFxuICBcImhhbmQtc2Npc3NvcnNcIjogJGZhLXZhci1oYW5kLXNjaXNzb3JzLFxuICBcImhhbmRzLXByYXlpbmdcIjogJGZhLXZhci1oYW5kcy1wcmF5aW5nLFxuICBcInByYXlpbmctaGFuZHNcIjogJGZhLXZhci1wcmF5aW5nLWhhbmRzLFxuICBcImFycm93LXJvdGF0ZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1yaWdodCxcbiAgXCJhcnJvdy1yaWdodC1yb3RhdGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC1yb3RhdGUsXG4gIFwiYXJyb3ctcm90YXRlLWZvcndhcmRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtZm9yd2FyZCxcbiAgXCJyZWRvXCI6ICRmYS12YXItcmVkbyxcbiAgXCJiaW9oYXphcmRcIjogJGZhLXZhci1iaW9oYXphcmQsXG4gIFwibG9jYXRpb24tY3Jvc3NoYWlyc1wiOiAkZmEtdmFyLWxvY2F0aW9uLWNyb3NzaGFpcnMsXG4gIFwibG9jYXRpb25cIjogJGZhLXZhci1sb2NhdGlvbixcbiAgXCJtYXJzLWRvdWJsZVwiOiAkZmEtdmFyLW1hcnMtZG91YmxlLFxuICBcImNoaWxkLWRyZXNzXCI6ICRmYS12YXItY2hpbGQtZHJlc3MsXG4gIFwidXNlcnMtYmV0d2Vlbi1saW5lc1wiOiAkZmEtdmFyLXVzZXJzLWJldHdlZW4tbGluZXMsXG4gIFwibHVuZ3MtdmlydXNcIjogJGZhLXZhci1sdW5ncy12aXJ1cyxcbiAgXCJmYWNlLWdyaW4tdGVhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tdGVhcnMsXG4gIFwiZ3Jpbi10ZWFyc1wiOiAkZmEtdmFyLWdyaW4tdGVhcnMsXG4gIFwicGhvbmVcIjogJGZhLXZhci1waG9uZSxcbiAgXCJjYWxlbmRhci14bWFya1wiOiAkZmEtdmFyLWNhbGVuZGFyLXhtYXJrLFxuICBcImNhbGVuZGFyLXRpbWVzXCI6ICRmYS12YXItY2FsZW5kYXItdGltZXMsXG4gIFwiY2hpbGQtcmVhY2hpbmdcIjogJGZhLXZhci1jaGlsZC1yZWFjaGluZyxcbiAgXCJoZWFkLXNpZGUtdmlydXNcIjogJGZhLXZhci1oZWFkLXNpZGUtdmlydXMsXG4gIFwidXNlci1nZWFyXCI6ICRmYS12YXItdXNlci1nZWFyLFxuICBcInVzZXItY29nXCI6ICRmYS12YXItdXNlci1jb2csXG4gIFwiYXJyb3ctdXAtMS05XCI6ICRmYS12YXItYXJyb3ctdXAtMS05LFxuICBcInNvcnQtbnVtZXJpYy11cFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy11cCxcbiAgXCJkb29yLWNsb3NlZFwiOiAkZmEtdmFyLWRvb3ItY2xvc2VkLFxuICBcInNoaWVsZC12aXJ1c1wiOiAkZmEtdmFyLXNoaWVsZC12aXJ1cyxcbiAgXCJkaWNlLXNpeFwiOiAkZmEtdmFyLWRpY2Utc2l4LFxuICBcIm1vc3F1aXRvLW5ldFwiOiAkZmEtdmFyLW1vc3F1aXRvLW5ldCxcbiAgXCJicmlkZ2Utd2F0ZXJcIjogJGZhLXZhci1icmlkZ2Utd2F0ZXIsXG4gIFwicGVyc29uLWJvb3RoXCI6ICRmYS12YXItcGVyc29uLWJvb3RoLFxuICBcInRleHQtd2lkdGhcIjogJGZhLXZhci10ZXh0LXdpZHRoLFxuICBcImhhdC13aXphcmRcIjogJGZhLXZhci1oYXQtd2l6YXJkLFxuICBcInBlbi1mYW5jeVwiOiAkZmEtdmFyLXBlbi1mYW5jeSxcbiAgXCJwZXJzb24tZGlnZ2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1kaWdnaW5nLFxuICBcImRpZ2dpbmdcIjogJGZhLXZhci1kaWdnaW5nLFxuICBcInRyYXNoXCI6ICRmYS12YXItdHJhc2gsXG4gIFwiZ2F1Z2Utc2ltcGxlXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLFxuICBcImdhdWdlLXNpbXBsZS1tZWRcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUtbWVkLFxuICBcInRhY2hvbWV0ZXItYXZlcmFnZVwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYXZlcmFnZSxcbiAgXCJib29rLW1lZGljYWxcIjogJGZhLXZhci1ib29rLW1lZGljYWwsXG4gIFwicG9vXCI6ICRmYS12YXItcG9vLFxuICBcInF1b3RlLXJpZ2h0XCI6ICRmYS12YXItcXVvdGUtcmlnaHQsXG4gIFwicXVvdGUtcmlnaHQtYWx0XCI6ICRmYS12YXItcXVvdGUtcmlnaHQtYWx0LFxuICBcInNoaXJ0XCI6ICRmYS12YXItc2hpcnQsXG4gIFwidC1zaGlydFwiOiAkZmEtdmFyLXQtc2hpcnQsXG4gIFwidHNoaXJ0XCI6ICRmYS12YXItdHNoaXJ0LFxuICBcImN1YmVzXCI6ICRmYS12YXItY3ViZXMsXG4gIFwiZGl2aWRlXCI6ICRmYS12YXItZGl2aWRlLFxuICBcInRlbmdlLXNpZ25cIjogJGZhLXZhci10ZW5nZS1zaWduLFxuICBcInRlbmdlXCI6ICRmYS12YXItdGVuZ2UsXG4gIFwiaGVhZHBob25lc1wiOiAkZmEtdmFyLWhlYWRwaG9uZXMsXG4gIFwiaGFuZHMtaG9sZGluZ1wiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmcsXG4gIFwiaGFuZHMtY2xhcHBpbmdcIjogJGZhLXZhci1oYW5kcy1jbGFwcGluZyxcbiAgXCJyZXB1YmxpY2FuXCI6ICRmYS12YXItcmVwdWJsaWNhbixcbiAgXCJhcnJvdy1sZWZ0XCI6ICRmYS12YXItYXJyb3ctbGVmdCxcbiAgXCJwZXJzb24tY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS14bWFyayxcbiAgXCJydWxlclwiOiAkZmEtdmFyLXJ1bGVyLFxuICBcImFsaWduLWxlZnRcIjogJGZhLXZhci1hbGlnbi1sZWZ0LFxuICBcImRpY2UtZDZcIjogJGZhLXZhci1kaWNlLWQ2LFxuICBcInJlc3Ryb29tXCI6ICRmYS12YXItcmVzdHJvb20sXG4gIFwialwiOiAkZmEtdmFyLWosXG4gIFwidXNlcnMtdmlld2ZpbmRlclwiOiAkZmEtdmFyLXVzZXJzLXZpZXdmaW5kZXIsXG4gIFwiZmlsZS12aWRlb1wiOiAkZmEtdmFyLWZpbGUtdmlkZW8sXG4gIFwidXAtcmlnaHQtZnJvbS1zcXVhcmVcIjogJGZhLXZhci11cC1yaWdodC1mcm9tLXNxdWFyZSxcbiAgXCJleHRlcm5hbC1saW5rLWFsdFwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0LFxuICBcInRhYmxlLWNlbGxzXCI6ICRmYS12YXItdGFibGUtY2VsbHMsXG4gIFwidGhcIjogJGZhLXZhci10aCxcbiAgXCJmaWxlLXBkZlwiOiAkZmEtdmFyLWZpbGUtcGRmLFxuICBcImJvb2stYmlibGVcIjogJGZhLXZhci1ib29rLWJpYmxlLFxuICBcImJpYmxlXCI6ICRmYS12YXItYmlibGUsXG4gIFwib1wiOiAkZmEtdmFyLW8sXG4gIFwic3VpdGNhc2UtbWVkaWNhbFwiOiAkZmEtdmFyLXN1aXRjYXNlLW1lZGljYWwsXG4gIFwibWVka2l0XCI6ICRmYS12YXItbWVka2l0LFxuICBcInVzZXItc2VjcmV0XCI6ICRmYS12YXItdXNlci1zZWNyZXQsXG4gIFwib3R0ZXJcIjogJGZhLXZhci1vdHRlcixcbiAgXCJwZXJzb24tZHJlc3NcIjogJGZhLXZhci1wZXJzb24tZHJlc3MsXG4gIFwiZmVtYWxlXCI6ICRmYS12YXItZmVtYWxlLFxuICBcImNvbW1lbnQtZG9sbGFyXCI6ICRmYS12YXItY29tbWVudC1kb2xsYXIsXG4gIFwiYnVzaW5lc3MtdGltZVwiOiAkZmEtdmFyLWJ1c2luZXNzLXRpbWUsXG4gIFwiYnJpZWZjYXNlLWNsb2NrXCI6ICRmYS12YXItYnJpZWZjYXNlLWNsb2NrLFxuICBcInRhYmxlLWNlbGxzLWxhcmdlXCI6ICRmYS12YXItdGFibGUtY2VsbHMtbGFyZ2UsXG4gIFwidGgtbGFyZ2VcIjogJGZhLXZhci10aC1sYXJnZSxcbiAgXCJib29rLXRhbmFraFwiOiAkZmEtdmFyLWJvb2stdGFuYWtoLFxuICBcInRhbmFraFwiOiAkZmEtdmFyLXRhbmFraCxcbiAgXCJwaG9uZS12b2x1bWVcIjogJGZhLXZhci1waG9uZS12b2x1bWUsXG4gIFwidm9sdW1lLWNvbnRyb2wtcGhvbmVcIjogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZSxcbiAgXCJoYXQtY293Ym95LXNpZGVcIjogJGZhLXZhci1oYXQtY293Ym95LXNpZGUsXG4gIFwiY2xpcGJvYXJkLXVzZXJcIjogJGZhLXZhci1jbGlwYm9hcmQtdXNlcixcbiAgXCJjaGlsZFwiOiAkZmEtdmFyLWNoaWxkLFxuICBcImxpcmEtc2lnblwiOiAkZmEtdmFyLWxpcmEtc2lnbixcbiAgXCJzYXRlbGxpdGVcIjogJGZhLXZhci1zYXRlbGxpdGUsXG4gIFwicGxhbmUtbG9ja1wiOiAkZmEtdmFyLXBsYW5lLWxvY2ssXG4gIFwidGFnXCI6ICRmYS12YXItdGFnLFxuICBcImNvbW1lbnRcIjogJGZhLXZhci1jb21tZW50LFxuICBcImNha2UtY2FuZGxlc1wiOiAkZmEtdmFyLWNha2UtY2FuZGxlcyxcbiAgXCJiaXJ0aGRheS1jYWtlXCI6ICRmYS12YXItYmlydGhkYXktY2FrZSxcbiAgXCJjYWtlXCI6ICRmYS12YXItY2FrZSxcbiAgXCJlbnZlbG9wZVwiOiAkZmEtdmFyLWVudmVsb3BlLFxuICBcImFuZ2xlcy11cFwiOiAkZmEtdmFyLWFuZ2xlcy11cCxcbiAgXCJhbmdsZS1kb3VibGUtdXBcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtdXAsXG4gIFwicGFwZXJjbGlwXCI6ICRmYS12YXItcGFwZXJjbGlwLFxuICBcImFycm93LXJpZ2h0LXRvLWNpdHlcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1jaXR5LFxuICBcInJpYmJvblwiOiAkZmEtdmFyLXJpYmJvbixcbiAgXCJsdW5nc1wiOiAkZmEtdmFyLWx1bmdzLFxuICBcImFycm93LXVwLTktMVwiOiAkZmEtdmFyLWFycm93LXVwLTktMSxcbiAgXCJzb3J0LW51bWVyaWMtdXAtYWx0XCI6ICRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCxcbiAgXCJsaXRlY29pbi1zaWduXCI6ICRmYS12YXItbGl0ZWNvaW4tc2lnbixcbiAgXCJib3JkZXItbm9uZVwiOiAkZmEtdmFyLWJvcmRlci1ub25lLFxuICBcImNpcmNsZS1ub2Rlc1wiOiAkZmEtdmFyLWNpcmNsZS1ub2RlcyxcbiAgXCJwYXJhY2h1dGUtYm94XCI6ICRmYS12YXItcGFyYWNodXRlLWJveCxcbiAgXCJpbmRlbnRcIjogJGZhLXZhci1pbmRlbnQsXG4gIFwidHJ1Y2stZmllbGQtdW5cIjogJGZhLXZhci10cnVjay1maWVsZC11bixcbiAgXCJob3VyZ2xhc3NcIjogJGZhLXZhci1ob3VyZ2xhc3MsXG4gIFwiaG91cmdsYXNzLWVtcHR5XCI6ICRmYS12YXItaG91cmdsYXNzLWVtcHR5LFxuICBcIm1vdW50YWluXCI6ICRmYS12YXItbW91bnRhaW4sXG4gIFwidXNlci1kb2N0b3JcIjogJGZhLXZhci11c2VyLWRvY3RvcixcbiAgXCJ1c2VyLW1kXCI6ICRmYS12YXItdXNlci1tZCxcbiAgXCJjaXJjbGUtaW5mb1wiOiAkZmEtdmFyLWNpcmNsZS1pbmZvLFxuICBcImluZm8tY2lyY2xlXCI6ICRmYS12YXItaW5mby1jaXJjbGUsXG4gIFwiY2xvdWQtbWVhdGJhbGxcIjogJGZhLXZhci1jbG91ZC1tZWF0YmFsbCxcbiAgXCJjYW1lcmFcIjogJGZhLXZhci1jYW1lcmEsXG4gIFwiY2FtZXJhLWFsdFwiOiAkZmEtdmFyLWNhbWVyYS1hbHQsXG4gIFwic3F1YXJlLXZpcnVzXCI6ICRmYS12YXItc3F1YXJlLXZpcnVzLFxuICBcIm1ldGVvclwiOiAkZmEtdmFyLW1ldGVvcixcbiAgXCJjYXItb25cIjogJGZhLXZhci1jYXItb24sXG4gIFwic2xlaWdoXCI6ICRmYS12YXItc2xlaWdoLFxuICBcImFycm93LWRvd24tMS05XCI6ICRmYS12YXItYXJyb3ctZG93bi0xLTksXG4gIFwic29ydC1udW1lcmljLWFzY1wiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2MsXG4gIFwic29ydC1udW1lcmljLWRvd25cIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bixcbiAgXCJoYW5kLWhvbGRpbmctZHJvcGxldFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1kcm9wbGV0LFxuICBcImhhbmQtaG9sZGluZy13YXRlclwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcixcbiAgXCJ3YXRlclwiOiAkZmEtdmFyLXdhdGVyLFxuICBcImNhbGVuZGFyLWNoZWNrXCI6ICRmYS12YXItY2FsZW5kYXItY2hlY2ssXG4gIFwiYnJhaWxsZVwiOiAkZmEtdmFyLWJyYWlsbGUsXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGUtYWx0XCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQsXG4gIFwibGFuZG1hcmtcIjogJGZhLXZhci1sYW5kbWFyayxcbiAgXCJ0cnVja1wiOiAkZmEtdmFyLXRydWNrLFxuICBcImNyb3NzaGFpcnNcIjogJGZhLXZhci1jcm9zc2hhaXJzLFxuICBcInBlcnNvbi1jYW5lXCI6ICRmYS12YXItcGVyc29uLWNhbmUsXG4gIFwidGVudFwiOiAkZmEtdmFyLXRlbnQsXG4gIFwidmVzdC1wYXRjaGVzXCI6ICRmYS12YXItdmVzdC1wYXRjaGVzLFxuICBcImNoZWNrLWRvdWJsZVwiOiAkZmEtdmFyLWNoZWNrLWRvdWJsZSxcbiAgXCJhcnJvdy1kb3duLWEtelwiOiAkZmEtdmFyLWFycm93LWRvd24tYS16LFxuICBcInNvcnQtYWxwaGEtYXNjXCI6ICRmYS12YXItc29ydC1hbHBoYS1hc2MsXG4gIFwic29ydC1hbHBoYS1kb3duXCI6ICRmYS12YXItc29ydC1hbHBoYS1kb3duLFxuICBcIm1vbmV5LWJpbGwtd2hlYXRcIjogJGZhLXZhci1tb25leS1iaWxsLXdoZWF0LFxuICBcImNvb2tpZVwiOiAkZmEtdmFyLWNvb2tpZSxcbiAgXCJhcnJvdy1yb3RhdGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1sZWZ0LFxuICBcImFycm93LWxlZnQtcm90YXRlXCI6ICRmYS12YXItYXJyb3ctbGVmdC1yb3RhdGUsXG4gIFwiYXJyb3ctcm90YXRlLWJhY2tcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFjayxcbiAgXCJhcnJvdy1yb3RhdGUtYmFja3dhcmRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFja3dhcmQsXG4gIFwidW5kb1wiOiAkZmEtdmFyLXVuZG8sXG4gIFwiaGFyZC1kcml2ZVwiOiAkZmEtdmFyLWhhcmQtZHJpdmUsXG4gIFwiaGRkXCI6ICRmYS12YXItaGRkLFxuICBcImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LXRlYXJzLFxuICBcImdyaW4tc3F1aW50LXRlYXJzXCI6ICRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnMsXG4gIFwiZHVtYmJlbGxcIjogJGZhLXZhci1kdW1iYmVsbCxcbiAgXCJyZWN0YW5nbGUtbGlzdFwiOiAkZmEtdmFyLXJlY3RhbmdsZS1saXN0LFxuICBcImxpc3QtYWx0XCI6ICRmYS12YXItbGlzdC1hbHQsXG4gIFwidGFycC1kcm9wbGV0XCI6ICRmYS12YXItdGFycC1kcm9wbGV0LFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLXNraWluZy1ub3JkaWNcIjogJGZhLXZhci1wZXJzb24tc2tpaW5nLW5vcmRpYyxcbiAgXCJza2lpbmctbm9yZGljXCI6ICRmYS12YXItc2tpaW5nLW5vcmRpYyxcbiAgXCJjYWxlbmRhci1wbHVzXCI6ICRmYS12YXItY2FsZW5kYXItcGx1cyxcbiAgXCJwbGFuZS1hcnJpdmFsXCI6ICRmYS12YXItcGxhbmUtYXJyaXZhbCxcbiAgXCJjaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1sZWZ0LFxuICBcImFycm93LWFsdC1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdCxcbiAgXCJ0cmFpbi1zdWJ3YXlcIjogJGZhLXZhci10cmFpbi1zdWJ3YXksXG4gIFwic3Vid2F5XCI6ICRmYS12YXItc3Vid2F5LFxuICBcImNoYXJ0LWdhbnR0XCI6ICRmYS12YXItY2hhcnQtZ2FudHQsXG4gIFwiaW5kaWFuLXJ1cGVlLXNpZ25cIjogJGZhLXZhci1pbmRpYW4tcnVwZWUtc2lnbixcbiAgXCJpbmRpYW4tcnVwZWVcIjogJGZhLXZhci1pbmRpYW4tcnVwZWUsXG4gIFwiaW5yXCI6ICRmYS12YXItaW5yLFxuICBcImNyb3Atc2ltcGxlXCI6ICRmYS12YXItY3JvcC1zaW1wbGUsXG4gIFwiY3JvcC1hbHRcIjogJGZhLXZhci1jcm9wLWFsdCxcbiAgXCJtb25leS1iaWxsLTFcIjogJGZhLXZhci1tb25leS1iaWxsLTEsXG4gIFwibW9uZXktYmlsbC1hbHRcIjogJGZhLXZhci1tb25leS1iaWxsLWFsdCxcbiAgXCJsZWZ0LWxvbmdcIjogJGZhLXZhci1sZWZ0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtbGVmdFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQsXG4gIFwiZG5hXCI6ICRmYS12YXItZG5hLFxuICBcInZpcnVzLXNsYXNoXCI6ICRmYS12YXItdmlydXMtc2xhc2gsXG4gIFwibWludXNcIjogJGZhLXZhci1taW51cyxcbiAgXCJzdWJ0cmFjdFwiOiAkZmEtdmFyLXN1YnRyYWN0LFxuICBcImNoZXNzXCI6ICRmYS12YXItY2hlc3MsXG4gIFwiYXJyb3ctbGVmdC1sb25nXCI6ICRmYS12YXItYXJyb3ctbGVmdC1sb25nLFxuICBcImxvbmctYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdCxcbiAgXCJwbHVnLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWNoZWNrLFxuICBcInN0cmVldC12aWV3XCI6ICRmYS12YXItc3RyZWV0LXZpZXcsXG4gIFwiZnJhbmMtc2lnblwiOiAkZmEtdmFyLWZyYW5jLXNpZ24sXG4gIFwidm9sdW1lLW9mZlwiOiAkZmEtdmFyLXZvbHVtZS1vZmYsXG4gIFwiaGFuZHMtYXNsLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWhhbmRzLWFzbC1pbnRlcnByZXRpbmcsXG4gIFwiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyxcbiAgXCJhc2wtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItYXNsLWludGVycHJldGluZyxcbiAgXCJoYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nLFxuICBcImdlYXJcIjogJGZhLXZhci1nZWFyLFxuICBcImNvZ1wiOiAkZmEtdmFyLWNvZyxcbiAgXCJkcm9wbGV0LXNsYXNoXCI6ICRmYS12YXItZHJvcGxldC1zbGFzaCxcbiAgXCJ0aW50LXNsYXNoXCI6ICRmYS12YXItdGludC1zbGFzaCxcbiAgXCJtb3NxdWVcIjogJGZhLXZhci1tb3NxdWUsXG4gIFwibW9zcXVpdG9cIjogJGZhLXZhci1tb3NxdWl0byxcbiAgXCJzdGFyLW9mLWRhdmlkXCI6ICRmYS12YXItc3Rhci1vZi1kYXZpZCxcbiAgXCJwZXJzb24tbWlsaXRhcnktcmlmbGVcIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcmlmbGUsXG4gIFwiY2FydC1zaG9wcGluZ1wiOiAkZmEtdmFyLWNhcnQtc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctY2FydFwiOiAkZmEtdmFyLXNob3BwaW5nLWNhcnQsXG4gIFwidmlhbHNcIjogJGZhLXZhci12aWFscyxcbiAgXCJwbHVnLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtcGx1cyxcbiAgXCJwbGFjZS1vZi13b3JzaGlwXCI6ICRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCxcbiAgXCJncmlwLXZlcnRpY2FsXCI6ICRmYS12YXItZ3JpcC12ZXJ0aWNhbCxcbiAgXCJhcnJvdy10dXJuLXVwXCI6ICRmYS12YXItYXJyb3ctdHVybi11cCxcbiAgXCJsZXZlbC11cFwiOiAkZmEtdmFyLWxldmVsLXVwLFxuICBcInVcIjogJGZhLXZhci11LFxuICBcInNxdWFyZS1yb290LXZhcmlhYmxlXCI6ICRmYS12YXItc3F1YXJlLXJvb3QtdmFyaWFibGUsXG4gIFwic3F1YXJlLXJvb3QtYWx0XCI6ICRmYS12YXItc3F1YXJlLXJvb3QtYWx0LFxuICBcImNsb2NrXCI6ICRmYS12YXItY2xvY2ssXG4gIFwiY2xvY2stZm91clwiOiAkZmEtdmFyLWNsb2NrLWZvdXIsXG4gIFwiYmFja3dhcmQtc3RlcFwiOiAkZmEtdmFyLWJhY2t3YXJkLXN0ZXAsXG4gIFwic3RlcC1iYWNrd2FyZFwiOiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQsXG4gIFwicGFsbGV0XCI6ICRmYS12YXItcGFsbGV0LFxuICBcImZhdWNldFwiOiAkZmEtdmFyLWZhdWNldCxcbiAgXCJiYXNlYmFsbC1iYXQtYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLWJhdC1iYWxsLFxuICBcInNcIjogJGZhLXZhci1zLFxuICBcInRpbWVsaW5lXCI6ICRmYS12YXItdGltZWxpbmUsXG4gIFwia2V5Ym9hcmRcIjogJGZhLXZhci1rZXlib2FyZCxcbiAgXCJjYXJldC1kb3duXCI6ICRmYS12YXItY2FyZXQtZG93bixcbiAgXCJob3VzZS1jaGltbmV5LW1lZGljYWxcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LW1lZGljYWwsXG4gIFwiY2xpbmljLW1lZGljYWxcIjogJGZhLXZhci1jbGluaWMtbWVkaWNhbCxcbiAgXCJ0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzLFxuICBcInRlbXBlcmF0dXJlLTNcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0zLFxuICBcInRoZXJtb21ldGVyLTNcIjogJGZhLXZhci10aGVybW9tZXRlci0zLFxuICBcInRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMsXG4gIFwibW9iaWxlLXNjcmVlblwiOiAkZmEtdmFyLW1vYmlsZS1zY3JlZW4sXG4gIFwibW9iaWxlLWFuZHJvaWQtYWx0XCI6ICRmYS12YXItbW9iaWxlLWFuZHJvaWQtYWx0LFxuICBcInBsYW5lLXVwXCI6ICRmYS12YXItcGxhbmUtdXAsXG4gIFwicGlnZ3ktYmFua1wiOiAkZmEtdmFyLXBpZ2d5LWJhbmssXG4gIFwiYmF0dGVyeS1oYWxmXCI6ICRmYS12YXItYmF0dGVyeS1oYWxmLFxuICBcImJhdHRlcnktM1wiOiAkZmEtdmFyLWJhdHRlcnktMyxcbiAgXCJtb3VudGFpbi1jaXR5XCI6ICRmYS12YXItbW91bnRhaW4tY2l0eSxcbiAgXCJjb2luc1wiOiAkZmEtdmFyLWNvaW5zLFxuICBcImtoYW5kYVwiOiAkZmEtdmFyLWtoYW5kYSxcbiAgXCJzbGlkZXJzXCI6ICRmYS12YXItc2xpZGVycyxcbiAgXCJzbGlkZXJzLWhcIjogJGZhLXZhci1zbGlkZXJzLWgsXG4gIFwiZm9sZGVyLXRyZWVcIjogJGZhLXZhci1mb2xkZXItdHJlZSxcbiAgXCJuZXR3b3JrLXdpcmVkXCI6ICRmYS12YXItbmV0d29yay13aXJlZCxcbiAgXCJtYXAtcGluXCI6ICRmYS12YXItbWFwLXBpbixcbiAgXCJoYW1zYVwiOiAkZmEtdmFyLWhhbXNhLFxuICBcImNlbnQtc2lnblwiOiAkZmEtdmFyLWNlbnQtc2lnbixcbiAgXCJmbGFza1wiOiAkZmEtdmFyLWZsYXNrLFxuICBcInBlcnNvbi1wcmVnbmFudFwiOiAkZmEtdmFyLXBlcnNvbi1wcmVnbmFudCxcbiAgXCJ3YW5kLXNwYXJrbGVzXCI6ICRmYS12YXItd2FuZC1zcGFya2xlcyxcbiAgXCJlbGxpcHNpcy12ZXJ0aWNhbFwiOiAkZmEtdmFyLWVsbGlwc2lzLXZlcnRpY2FsLFxuICBcImVsbGlwc2lzLXZcIjogJGZhLXZhci1lbGxpcHNpcy12LFxuICBcInRpY2tldFwiOiAkZmEtdmFyLXRpY2tldCxcbiAgXCJwb3dlci1vZmZcIjogJGZhLXZhci1wb3dlci1vZmYsXG4gIFwicmlnaHQtbG9uZ1wiOiAkZmEtdmFyLXJpZ2h0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtcmlnaHRcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCxcbiAgXCJmbGFnLXVzYVwiOiAkZmEtdmFyLWZsYWctdXNhLFxuICBcImxhcHRvcC1maWxlXCI6ICRmYS12YXItbGFwdG9wLWZpbGUsXG4gIFwidHR5XCI6ICRmYS12YXItdHR5LFxuICBcInRlbGV0eXBlXCI6ICRmYS12YXItdGVsZXR5cGUsXG4gIFwiZGlhZ3JhbS1uZXh0XCI6ICRmYS12YXItZGlhZ3JhbS1uZXh0LFxuICBcInBlcnNvbi1yaWZsZVwiOiAkZmEtdmFyLXBlcnNvbi1yaWZsZSxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNsb3NlZC1jYXB0aW9uaW5nXCI6ICRmYS12YXItY2xvc2VkLWNhcHRpb25pbmcsXG4gIFwicGVyc29uLWhpa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1oaWtpbmcsXG4gIFwiaGlraW5nXCI6ICRmYS12YXItaGlraW5nLFxuICBcInZlbnVzLWRvdWJsZVwiOiAkZmEtdmFyLXZlbnVzLWRvdWJsZSxcbiAgXCJpbWFnZXNcIjogJGZhLXZhci1pbWFnZXMsXG4gIFwiY2FsY3VsYXRvclwiOiAkZmEtdmFyLWNhbGN1bGF0b3IsXG4gIFwicGVvcGxlLXB1bGxpbmdcIjogJGZhLXZhci1wZW9wbGUtcHVsbGluZyxcbiAgXCJuXCI6ICRmYS12YXItbixcbiAgXCJjYWJsZS1jYXJcIjogJGZhLXZhci1jYWJsZS1jYXIsXG4gIFwidHJhbVwiOiAkZmEtdmFyLXRyYW0sXG4gIFwiY2xvdWQtcmFpblwiOiAkZmEtdmFyLWNsb3VkLXJhaW4sXG4gIFwiYnVpbGRpbmctY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLXhtYXJrLFxuICBcInNoaXBcIjogJGZhLXZhci1zaGlwLFxuICBcImFycm93cy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtZG93bi10by1saW5lLFxuICBcImRvd25sb2FkXCI6ICRmYS12YXItZG93bmxvYWQsXG4gIFwiZmFjZS1ncmluXCI6ICRmYS12YXItZmFjZS1ncmluLFxuICBcImdyaW5cIjogJGZhLXZhci1ncmluLFxuICBcImRlbGV0ZS1sZWZ0XCI6ICRmYS12YXItZGVsZXRlLWxlZnQsXG4gIFwiYmFja3NwYWNlXCI6ICRmYS12YXItYmFja3NwYWNlLFxuICBcImV5ZS1kcm9wcGVyXCI6ICRmYS12YXItZXllLWRyb3BwZXIsXG4gIFwiZXllLWRyb3BwZXItZW1wdHlcIjogJGZhLXZhci1leWUtZHJvcHBlci1lbXB0eSxcbiAgXCJleWVkcm9wcGVyXCI6ICRmYS12YXItZXllZHJvcHBlcixcbiAgXCJmaWxlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLWNoZWNrLFxuICBcImZvcndhcmRcIjogJGZhLXZhci1mb3J3YXJkLFxuICBcIm1vYmlsZVwiOiAkZmEtdmFyLW1vYmlsZSxcbiAgXCJtb2JpbGUtYW5kcm9pZFwiOiAkZmEtdmFyLW1vYmlsZS1hbmRyb2lkLFxuICBcIm1vYmlsZS1waG9uZVwiOiAkZmEtdmFyLW1vYmlsZS1waG9uZSxcbiAgXCJmYWNlLW1laFwiOiAkZmEtdmFyLWZhY2UtbWVoLFxuICBcIm1laFwiOiAkZmEtdmFyLW1laCxcbiAgXCJhbGlnbi1jZW50ZXJcIjogJGZhLXZhci1hbGlnbi1jZW50ZXIsXG4gIFwiYm9vay1za3VsbFwiOiAkZmEtdmFyLWJvb2stc2t1bGwsXG4gIFwiYm9vay1kZWFkXCI6ICRmYS12YXItYm9vay1kZWFkLFxuICBcImlkLWNhcmRcIjogJGZhLXZhci1pZC1jYXJkLFxuICBcImRyaXZlcnMtbGljZW5zZVwiOiAkZmEtdmFyLWRyaXZlcnMtbGljZW5zZSxcbiAgXCJvdXRkZW50XCI6ICRmYS12YXItb3V0ZGVudCxcbiAgXCJkZWRlbnRcIjogJGZhLXZhci1kZWRlbnQsXG4gIFwiaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImhvdXNlXCI6ICRmYS12YXItaG91c2UsXG4gIFwiaG9tZVwiOiAkZmEtdmFyLWhvbWUsXG4gIFwiaG9tZS1hbHRcIjogJGZhLXZhci1ob21lLWFsdCxcbiAgXCJob21lLWxnLWFsdFwiOiAkZmEtdmFyLWhvbWUtbGctYWx0LFxuICBcImNhbGVuZGFyLXdlZWtcIjogJGZhLXZhci1jYWxlbmRhci13ZWVrLFxuICBcImxhcHRvcC1tZWRpY2FsXCI6ICRmYS12YXItbGFwdG9wLW1lZGljYWwsXG4gIFwiYlwiOiAkZmEtdmFyLWIsXG4gIFwiZmlsZS1tZWRpY2FsXCI6ICRmYS12YXItZmlsZS1tZWRpY2FsLFxuICBcImRpY2Utb25lXCI6ICRmYS12YXItZGljZS1vbmUsXG4gIFwia2l3aS1iaXJkXCI6ICRmYS12YXIta2l3aS1iaXJkLFxuICBcImFycm93LXJpZ2h0LWFycm93LWxlZnRcIjogJGZhLXZhci1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0LFxuICBcImV4Y2hhbmdlXCI6ICRmYS12YXItZXhjaGFuZ2UsXG4gIFwicm90YXRlLXJpZ2h0XCI6ICRmYS12YXItcm90YXRlLXJpZ2h0LFxuICBcInJlZG8tYWx0XCI6ICRmYS12YXItcmVkby1hbHQsXG4gIFwicm90YXRlLWZvcndhcmRcIjogJGZhLXZhci1yb3RhdGUtZm9yd2FyZCxcbiAgXCJ1dGVuc2lsc1wiOiAkZmEtdmFyLXV0ZW5zaWxzLFxuICBcImN1dGxlcnlcIjogJGZhLXZhci1jdXRsZXJ5LFxuICBcImFycm93LXVwLXdpZGUtc2hvcnRcIjogJGZhLXZhci1hcnJvdy11cC13aWRlLXNob3J0LFxuICBcInNvcnQtYW1vdW50LXVwXCI6ICRmYS12YXItc29ydC1hbW91bnQtdXAsXG4gIFwibWlsbC1zaWduXCI6ICRmYS12YXItbWlsbC1zaWduLFxuICBcImJvd2wtcmljZVwiOiAkZmEtdmFyLWJvd2wtcmljZSxcbiAgXCJza3VsbFwiOiAkZmEtdmFyLXNrdWxsLFxuICBcInRvd2VyLWJyb2FkY2FzdFwiOiAkZmEtdmFyLXRvd2VyLWJyb2FkY2FzdCxcbiAgXCJicm9hZGNhc3QtdG93ZXJcIjogJGZhLXZhci1icm9hZGNhc3QtdG93ZXIsXG4gIFwidHJ1Y2stcGlja3VwXCI6ICRmYS12YXItdHJ1Y2stcGlja3VwLFxuICBcInVwLWxvbmdcIjogJGZhLXZhci11cC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LXVwXCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXAsXG4gIFwic3RvcFwiOiAkZmEtdmFyLXN0b3AsXG4gIFwiY29kZS1tZXJnZVwiOiAkZmEtdmFyLWNvZGUtbWVyZ2UsXG4gIFwidXBsb2FkXCI6ICRmYS12YXItdXBsb2FkLFxuICBcImh1cnJpY2FuZVwiOiAkZmEtdmFyLWh1cnJpY2FuZSxcbiAgXCJtb3VuZFwiOiAkZmEtdmFyLW1vdW5kLFxuICBcInRvaWxldC1wb3J0YWJsZVwiOiAkZmEtdmFyLXRvaWxldC1wb3J0YWJsZSxcbiAgXCJjb21wYWN0LWRpc2NcIjogJGZhLXZhci1jb21wYWN0LWRpc2MsXG4gIFwiZmlsZS1hcnJvdy1kb3duXCI6ICRmYS12YXItZmlsZS1hcnJvdy1kb3duLFxuICBcImZpbGUtZG93bmxvYWRcIjogJGZhLXZhci1maWxlLWRvd25sb2FkLFxuICBcImNhcmF2YW5cIjogJGZhLXZhci1jYXJhdmFuLFxuICBcInNoaWVsZC1jYXRcIjogJGZhLXZhci1zaGllbGQtY2F0LFxuICBcImJvbHRcIjogJGZhLXZhci1ib2x0LFxuICBcInphcFwiOiAkZmEtdmFyLXphcCxcbiAgXCJnbGFzcy13YXRlclwiOiAkZmEtdmFyLWdsYXNzLXdhdGVyLFxuICBcIm9pbC13ZWxsXCI6ICRmYS12YXItb2lsLXdlbGwsXG4gIFwidmF1bHRcIjogJGZhLXZhci12YXVsdCxcbiAgXCJtYXJzXCI6ICRmYS12YXItbWFycyxcbiAgXCJ0b2lsZXRcIjogJGZhLXZhci10b2lsZXQsXG4gIFwicGxhbmUtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLXhtYXJrLFxuICBcInllbi1zaWduXCI6ICRmYS12YXIteWVuLXNpZ24sXG4gIFwiY255XCI6ICRmYS12YXItY255LFxuICBcImpweVwiOiAkZmEtdmFyLWpweSxcbiAgXCJybWJcIjogJGZhLXZhci1ybWIsXG4gIFwieWVuXCI6ICRmYS12YXIteWVuLFxuICBcInJ1YmxlLXNpZ25cIjogJGZhLXZhci1ydWJsZS1zaWduLFxuICBcInJvdWJsZVwiOiAkZmEtdmFyLXJvdWJsZSxcbiAgXCJydWJcIjogJGZhLXZhci1ydWIsXG4gIFwicnVibGVcIjogJGZhLXZhci1ydWJsZSxcbiAgXCJzdW5cIjogJGZhLXZhci1zdW4sXG4gIFwiZ3VpdGFyXCI6ICRmYS12YXItZ3VpdGFyLFxuICBcImZhY2UtbGF1Z2gtd2lua1wiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtd2luayxcbiAgXCJsYXVnaC13aW5rXCI6ICRmYS12YXItbGF1Z2gtd2luayxcbiAgXCJob3JzZS1oZWFkXCI6ICRmYS12YXItaG9yc2UtaGVhZCxcbiAgXCJib3JlLWhvbGVcIjogJGZhLXZhci1ib3JlLWhvbGUsXG4gIFwiaW5kdXN0cnlcIjogJGZhLXZhci1pbmR1c3RyeSxcbiAgXCJjaXJjbGUtZG93blwiOiAkZmEtdmFyLWNpcmNsZS1kb3duLFxuICBcImFycm93LWFsdC1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bixcbiAgXCJhcnJvd3MtdHVybi10by1kb3RzXCI6ICRmYS12YXItYXJyb3dzLXR1cm4tdG8tZG90cyxcbiAgXCJmbG9yaW4tc2lnblwiOiAkZmEtdmFyLWZsb3Jpbi1zaWduLFxuICBcImFycm93LWRvd24tc2hvcnQtd2lkZVwiOiAkZmEtdmFyLWFycm93LWRvd24tc2hvcnQtd2lkZSxcbiAgXCJzb3J0LWFtb3VudC1kZXNjXCI6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYyxcbiAgXCJzb3J0LWFtb3VudC1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0LFxuICBcImxlc3MtdGhhblwiOiAkZmEtdmFyLWxlc3MtdGhhbixcbiAgXCJhbmdsZS1kb3duXCI6ICRmYS12YXItYW5nbGUtZG93bixcbiAgXCJjYXItdHVubmVsXCI6ICRmYS12YXItY2FyLXR1bm5lbCxcbiAgXCJoZWFkLXNpZGUtY291Z2hcIjogJGZhLXZhci1oZWFkLXNpZGUtY291Z2gsXG4gIFwiZ3JpcC1saW5lc1wiOiAkZmEtdmFyLWdyaXAtbGluZXMsXG4gIFwidGh1bWJzLWRvd25cIjogJGZhLXZhci10aHVtYnMtZG93bixcbiAgXCJ1c2VyLWxvY2tcIjogJGZhLXZhci11c2VyLWxvY2ssXG4gIFwiYXJyb3ctcmlnaHQtbG9uZ1wiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQsXG4gIFwiYW5jaG9yLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUteG1hcmssXG4gIFwiZWxsaXBzaXNcIjogJGZhLXZhci1lbGxpcHNpcyxcbiAgXCJlbGxpcHNpcy1oXCI6ICRmYS12YXItZWxsaXBzaXMtaCxcbiAgXCJjaGVzcy1wYXduXCI6ICRmYS12YXItY2hlc3MtcGF3bixcbiAgXCJraXQtbWVkaWNhbFwiOiAkZmEtdmFyLWtpdC1tZWRpY2FsLFxuICBcImZpcnN0LWFpZFwiOiAkZmEtdmFyLWZpcnN0LWFpZCxcbiAgXCJwZXJzb24tdGhyb3VnaC13aW5kb3dcIjogJGZhLXZhci1wZXJzb24tdGhyb3VnaC13aW5kb3csXG4gIFwidG9vbGJveFwiOiAkZmEtdmFyLXRvb2xib3gsXG4gIFwiaGFuZHMtaG9sZGluZy1jaXJjbGVcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNpcmNsZSxcbiAgXCJidWdcIjogJGZhLXZhci1idWcsXG4gIFwiY3JlZGl0LWNhcmRcIjogJGZhLXZhci1jcmVkaXQtY2FyZCxcbiAgXCJjcmVkaXQtY2FyZC1hbHRcIjogJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQsXG4gIFwiY2FyXCI6ICRmYS12YXItY2FyLFxuICBcImF1dG9tb2JpbGVcIjogJGZhLXZhci1hdXRvbW9iaWxlLFxuICBcImhhbmQtaG9sZGluZy1oYW5kXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWhhbmQsXG4gIFwiYm9vay1vcGVuLXJlYWRlclwiOiAkZmEtdmFyLWJvb2stb3Blbi1yZWFkZXIsXG4gIFwiYm9vay1yZWFkZXJcIjogJGZhLXZhci1ib29rLXJlYWRlcixcbiAgXCJtb3VudGFpbi1zdW5cIjogJGZhLXZhci1tb3VudGFpbi1zdW4sXG4gIFwiYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUsXG4gIFwiZGljZS1kMjBcIjogJGZhLXZhci1kaWNlLWQyMCxcbiAgXCJ0cnVjay1kcm9wbGV0XCI6ICRmYS12YXItdHJ1Y2stZHJvcGxldCxcbiAgXCJmaWxlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXhtYXJrLFxuICBcInRlbXBlcmF0dXJlLWFycm93LXVwXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctdXAsXG4gIFwidGVtcGVyYXR1cmUtdXBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS11cCxcbiAgXCJtZWRhbFwiOiAkZmEtdmFyLW1lZGFsLFxuICBcImJlZFwiOiAkZmEtdmFyLWJlZCxcbiAgXCJzcXVhcmUtaFwiOiAkZmEtdmFyLXNxdWFyZS1oLFxuICBcImgtc3F1YXJlXCI6ICRmYS12YXItaC1zcXVhcmUsXG4gIFwicG9kY2FzdFwiOiAkZmEtdmFyLXBvZGNhc3QsXG4gIFwidGVtcGVyYXR1cmUtZnVsbFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWZ1bGwsXG4gIFwidGVtcGVyYXR1cmUtNFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTQsXG4gIFwidGhlcm1vbWV0ZXItNFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTQsXG4gIFwidGhlcm1vbWV0ZXItZnVsbFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwsXG4gIFwiYmVsbFwiOiAkZmEtdmFyLWJlbGwsXG4gIFwic3VwZXJzY3JpcHRcIjogJGZhLXZhci1zdXBlcnNjcmlwdCxcbiAgXCJwbHVnLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLXhtYXJrLFxuICBcInN0YXItb2YtbGlmZVwiOiAkZmEtdmFyLXN0YXItb2YtbGlmZSxcbiAgXCJwaG9uZS1zbGFzaFwiOiAkZmEtdmFyLXBob25lLXNsYXNoLFxuICBcInBhaW50LXJvbGxlclwiOiAkZmEtdmFyLXBhaW50LXJvbGxlcixcbiAgXCJoYW5kc2hha2UtYW5nbGVcIjogJGZhLXZhci1oYW5kc2hha2UtYW5nbGUsXG4gIFwiaGFuZHMtaGVscGluZ1wiOiAkZmEtdmFyLWhhbmRzLWhlbHBpbmcsXG4gIFwibG9jYXRpb24tZG90XCI6ICRmYS12YXItbG9jYXRpb24tZG90LFxuICBcIm1hcC1tYXJrZXItYWx0XCI6ICRmYS12YXItbWFwLW1hcmtlci1hbHQsXG4gIFwiZmlsZVwiOiAkZmEtdmFyLWZpbGUsXG4gIFwiZ3JlYXRlci10aGFuXCI6ICRmYS12YXItZ3JlYXRlci10aGFuLFxuICBcInBlcnNvbi1zd2ltbWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1zd2ltbWluZyxcbiAgXCJzd2ltbWVyXCI6ICRmYS12YXItc3dpbW1lcixcbiAgXCJhcnJvdy1kb3duXCI6ICRmYS12YXItYXJyb3ctZG93bixcbiAgXCJkcm9wbGV0XCI6ICRmYS12YXItZHJvcGxldCxcbiAgXCJ0aW50XCI6ICRmYS12YXItdGludCxcbiAgXCJlcmFzZXJcIjogJGZhLXZhci1lcmFzZXIsXG4gIFwiZWFydGgtYW1lcmljYXNcIjogJGZhLXZhci1lYXJ0aC1hbWVyaWNhcyxcbiAgXCJlYXJ0aFwiOiAkZmEtdmFyLWVhcnRoLFxuICBcImVhcnRoLWFtZXJpY2FcIjogJGZhLXZhci1lYXJ0aC1hbWVyaWNhLFxuICBcImdsb2JlLWFtZXJpY2FzXCI6ICRmYS12YXItZ2xvYmUtYW1lcmljYXMsXG4gIFwicGVyc29uLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWJ1cnN0LFxuICBcImRvdmVcIjogJGZhLXZhci1kb3ZlLFxuICBcImJhdHRlcnktZW1wdHlcIjogJGZhLXZhci1iYXR0ZXJ5LWVtcHR5LFxuICBcImJhdHRlcnktMFwiOiAkZmEtdmFyLWJhdHRlcnktMCxcbiAgXCJzb2Nrc1wiOiAkZmEtdmFyLXNvY2tzLFxuICBcImluYm94XCI6ICRmYS12YXItaW5ib3gsXG4gIFwic2VjdGlvblwiOiAkZmEtdmFyLXNlY3Rpb24sXG4gIFwiZ2F1Z2UtaGlnaFwiOiAkZmEtdmFyLWdhdWdlLWhpZ2gsXG4gIFwidGFjaG9tZXRlci1hbHRcIjogJGZhLXZhci10YWNob21ldGVyLWFsdCxcbiAgXCJ0YWNob21ldGVyLWFsdC1mYXN0XCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdCxcbiAgXCJlbnZlbG9wZS1vcGVuLXRleHRcIjogJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQsXG4gIFwiaG9zcGl0YWxcIjogJGZhLXZhci1ob3NwaXRhbCxcbiAgXCJob3NwaXRhbC1hbHRcIjogJGZhLXZhci1ob3NwaXRhbC1hbHQsXG4gIFwiaG9zcGl0YWwtd2lkZVwiOiAkZmEtdmFyLWhvc3BpdGFsLXdpZGUsXG4gIFwid2luZS1ib3R0bGVcIjogJGZhLXZhci13aW5lLWJvdHRsZSxcbiAgXCJjaGVzcy1yb29rXCI6ICRmYS12YXItY2hlc3Mtcm9vayxcbiAgXCJiYXJzLXN0YWdnZXJlZFwiOiAkZmEtdmFyLWJhcnMtc3RhZ2dlcmVkLFxuICBcInJlb3JkZXJcIjogJGZhLXZhci1yZW9yZGVyLFxuICBcInN0cmVhbVwiOiAkZmEtdmFyLXN0cmVhbSxcbiAgXCJkaGFybWFjaGFrcmFcIjogJGZhLXZhci1kaGFybWFjaGFrcmEsXG4gIFwiaG90ZG9nXCI6ICRmYS12YXItaG90ZG9nLFxuICBcInBlcnNvbi13YWxraW5nLXdpdGgtY2FuZVwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLXdpdGgtY2FuZSxcbiAgXCJibGluZFwiOiAkZmEtdmFyLWJsaW5kLFxuICBcImRydW1cIjogJGZhLXZhci1kcnVtLFxuICBcImljZS1jcmVhbVwiOiAkZmEtdmFyLWljZS1jcmVhbSxcbiAgXCJoZWFydC1jaXJjbGUtYm9sdFwiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1ib2x0LFxuICBcImZheFwiOiAkZmEtdmFyLWZheCxcbiAgXCJwYXJhZ3JhcGhcIjogJGZhLXZhci1wYXJhZ3JhcGgsXG4gIFwiY2hlY2stdG8tc2xvdFwiOiAkZmEtdmFyLWNoZWNrLXRvLXNsb3QsXG4gIFwidm90ZS15ZWFcIjogJGZhLXZhci12b3RlLXllYSxcbiAgXCJzdGFyLWhhbGZcIjogJGZhLXZhci1zdGFyLWhhbGYsXG4gIFwiYm94ZXMtc3RhY2tlZFwiOiAkZmEtdmFyLWJveGVzLXN0YWNrZWQsXG4gIFwiYm94ZXNcIjogJGZhLXZhci1ib3hlcyxcbiAgXCJib3hlcy1hbHRcIjogJGZhLXZhci1ib3hlcy1hbHQsXG4gIFwibGlua1wiOiAkZmEtdmFyLWxpbmssXG4gIFwiY2hhaW5cIjogJGZhLXZhci1jaGFpbixcbiAgXCJlYXItbGlzdGVuXCI6ICRmYS12YXItZWFyLWxpc3RlbixcbiAgXCJhc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXNcIjogJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMsXG4gIFwidHJlZS1jaXR5XCI6ICRmYS12YXItdHJlZS1jaXR5LFxuICBcInBsYXlcIjogJGZhLXZhci1wbGF5LFxuICBcImZvbnRcIjogJGZhLXZhci1mb250LFxuICBcInJ1cGlhaC1zaWduXCI6ICRmYS12YXItcnVwaWFoLXNpZ24sXG4gIFwibWFnbmlmeWluZy1nbGFzc1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MsXG4gIFwic2VhcmNoXCI6ICRmYS12YXItc2VhcmNoLFxuICBcInRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbFwiOiAkZmEtdmFyLXRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCxcbiAgXCJwaW5nLXBvbmctcGFkZGxlLWJhbGxcIjogJGZhLXZhci1waW5nLXBvbmctcGFkZGxlLWJhbGwsXG4gIFwidGFibGUtdGVubmlzXCI6ICRmYS12YXItdGFibGUtdGVubmlzLFxuICBcInBlcnNvbi1kb3RzLWZyb20tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1kb3RzLWZyb20tbGluZSxcbiAgXCJkaWFnbm9zZXNcIjogJGZhLXZhci1kaWFnbm9zZXMsXG4gIFwidHJhc2gtY2FuLWFycm93LXVwXCI6ICRmYS12YXItdHJhc2gtY2FuLWFycm93LXVwLFxuICBcInRyYXNoLXJlc3RvcmUtYWx0XCI6ICRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQsXG4gIFwibmFpcmEtc2lnblwiOiAkZmEtdmFyLW5haXJhLXNpZ24sXG4gIFwiY2FydC1hcnJvdy1kb3duXCI6ICRmYS12YXItY2FydC1hcnJvdy1kb3duLFxuICBcIndhbGtpZS10YWxraWVcIjogJGZhLXZhci13YWxraWUtdGFsa2llLFxuICBcImZpbGUtcGVuXCI6ICRmYS12YXItZmlsZS1wZW4sXG4gIFwiZmlsZS1lZGl0XCI6ICRmYS12YXItZmlsZS1lZGl0LFxuICBcInJlY2VpcHRcIjogJGZhLXZhci1yZWNlaXB0LFxuICBcInNxdWFyZS1wZW5cIjogJGZhLXZhci1zcXVhcmUtcGVuLFxuICBcInBlbi1zcXVhcmVcIjogJGZhLXZhci1wZW4tc3F1YXJlLFxuICBcInBlbmNpbC1zcXVhcmVcIjogJGZhLXZhci1wZW5jaWwtc3F1YXJlLFxuICBcInN1aXRjYXNlLXJvbGxpbmdcIjogJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nLFxuICBcInBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNoZXZyb24tZG93blwiOiAkZmEtdmFyLWNoZXZyb24tZG93bixcbiAgXCJiYXR0ZXJ5LWZ1bGxcIjogJGZhLXZhci1iYXR0ZXJ5LWZ1bGwsXG4gIFwiYmF0dGVyeVwiOiAkZmEtdmFyLWJhdHRlcnksXG4gIFwiYmF0dGVyeS01XCI6ICRmYS12YXItYmF0dGVyeS01LFxuICBcInNrdWxsLWNyb3NzYm9uZXNcIjogJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzLFxuICBcImNvZGUtY29tcGFyZVwiOiAkZmEtdmFyLWNvZGUtY29tcGFyZSxcbiAgXCJsaXN0LXVsXCI6ICRmYS12YXItbGlzdC11bCxcbiAgXCJsaXN0LWRvdHNcIjogJGZhLXZhci1saXN0LWRvdHMsXG4gIFwic2Nob29sLWxvY2tcIjogJGZhLXZhci1zY2hvb2wtbG9jayxcbiAgXCJ0b3dlci1jZWxsXCI6ICRmYS12YXItdG93ZXItY2VsbCxcbiAgXCJkb3duLWxvbmdcIjogJGZhLXZhci1kb3duLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtZG93blwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24sXG4gIFwicmFua2luZy1zdGFyXCI6ICRmYS12YXItcmFua2luZy1zdGFyLFxuICBcImNoZXNzLWtpbmdcIjogJGZhLXZhci1jaGVzcy1raW5nLFxuICBcInBlcnNvbi1oYXJhc3NpbmdcIjogJGZhLXZhci1wZXJzb24taGFyYXNzaW5nLFxuICBcImJyYXppbGlhbi1yZWFsLXNpZ25cIjogJGZhLXZhci1icmF6aWxpYW4tcmVhbC1zaWduLFxuICBcImxhbmRtYXJrLWRvbWVcIjogJGZhLXZhci1sYW5kbWFyay1kb21lLFxuICBcImxhbmRtYXJrLWFsdFwiOiAkZmEtdmFyLWxhbmRtYXJrLWFsdCxcbiAgXCJhcnJvdy11cFwiOiAkZmEtdmFyLWFycm93LXVwLFxuICBcInR2XCI6ICRmYS12YXItdHYsXG4gIFwidGVsZXZpc2lvblwiOiAkZmEtdmFyLXRlbGV2aXNpb24sXG4gIFwidHYtYWx0XCI6ICRmYS12YXItdHYtYWx0LFxuICBcInNocmltcFwiOiAkZmEtdmFyLXNocmltcCxcbiAgXCJsaXN0LWNoZWNrXCI6ICRmYS12YXItbGlzdC1jaGVjayxcbiAgXCJ0YXNrc1wiOiAkZmEtdmFyLXRhc2tzLFxuICBcImp1Zy1kZXRlcmdlbnRcIjogJGZhLXZhci1qdWctZGV0ZXJnZW50LFxuICBcImNpcmNsZS11c2VyXCI6ICRmYS12YXItY2lyY2xlLXVzZXIsXG4gIFwidXNlci1jaXJjbGVcIjogJGZhLXZhci11c2VyLWNpcmNsZSxcbiAgXCJ1c2VyLXNoaWVsZFwiOiAkZmEtdmFyLXVzZXItc2hpZWxkLFxuICBcIndpbmRcIjogJGZhLXZhci13aW5kLFxuICBcImNhci1idXJzdFwiOiAkZmEtdmFyLWNhci1idXJzdCxcbiAgXCJjYXItY3Jhc2hcIjogJGZhLXZhci1jYXItY3Jhc2gsXG4gIFwieVwiOiAkZmEtdmFyLXksXG4gIFwicGVyc29uLXNub3dib2FyZGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1zbm93Ym9hcmRpbmcsXG4gIFwic25vd2JvYXJkaW5nXCI6ICRmYS12YXItc25vd2JvYXJkaW5nLFxuICBcInRydWNrLWZhc3RcIjogJGZhLXZhci10cnVjay1mYXN0LFxuICBcInNoaXBwaW5nLWZhc3RcIjogJGZhLXZhci1zaGlwcGluZy1mYXN0LFxuICBcImZpc2hcIjogJGZhLXZhci1maXNoLFxuICBcInVzZXItZ3JhZHVhdGVcIjogJGZhLXZhci11c2VyLWdyYWR1YXRlLFxuICBcImNpcmNsZS1oYWxmLXN0cm9rZVwiOiAkZmEtdmFyLWNpcmNsZS1oYWxmLXN0cm9rZSxcbiAgXCJhZGp1c3RcIjogJGZhLXZhci1hZGp1c3QsXG4gIFwiY2xhcHBlcmJvYXJkXCI6ICRmYS12YXItY2xhcHBlcmJvYXJkLFxuICBcImNpcmNsZS1yYWRpYXRpb25cIjogJGZhLXZhci1jaXJjbGUtcmFkaWF0aW9uLFxuICBcInJhZGlhdGlvbi1hbHRcIjogJGZhLXZhci1yYWRpYXRpb24tYWx0LFxuICBcImJhc2ViYWxsXCI6ICRmYS12YXItYmFzZWJhbGwsXG4gIFwiYmFzZWJhbGwtYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLWJhbGwsXG4gIFwiamV0LWZpZ2h0ZXItdXBcIjogJGZhLXZhci1qZXQtZmlnaHRlci11cCxcbiAgXCJkaWFncmFtLXByb2plY3RcIjogJGZhLXZhci1kaWFncmFtLXByb2plY3QsXG4gIFwicHJvamVjdC1kaWFncmFtXCI6ICRmYS12YXItcHJvamVjdC1kaWFncmFtLFxuICBcImNvcHlcIjogJGZhLXZhci1jb3B5LFxuICBcInZvbHVtZS14bWFya1wiOiAkZmEtdmFyLXZvbHVtZS14bWFyayxcbiAgXCJ2b2x1bWUtbXV0ZVwiOiAkZmEtdmFyLXZvbHVtZS1tdXRlLFxuICBcInZvbHVtZS10aW1lc1wiOiAkZmEtdmFyLXZvbHVtZS10aW1lcyxcbiAgXCJoYW5kLXNwYXJrbGVzXCI6ICRmYS12YXItaGFuZC1zcGFya2xlcyxcbiAgXCJncmlwXCI6ICRmYS12YXItZ3JpcCxcbiAgXCJncmlwLWhvcml6b250YWxcIjogJGZhLXZhci1ncmlwLWhvcml6b250YWwsXG4gIFwic2hhcmUtZnJvbS1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1mcm9tLXNxdWFyZSxcbiAgXCJzaGFyZS1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1zcXVhcmUsXG4gIFwiY2hpbGQtY29tYmF0YW50XCI6ICRmYS12YXItY2hpbGQtY29tYmF0YW50LFxuICBcImNoaWxkLXJpZmxlXCI6ICRmYS12YXItY2hpbGQtcmlmbGUsXG4gIFwiZ3VuXCI6ICRmYS12YXItZ3VuLFxuICBcInNxdWFyZS1waG9uZVwiOiAkZmEtdmFyLXNxdWFyZS1waG9uZSxcbiAgXCJwaG9uZS1zcXVhcmVcIjogJGZhLXZhci1waG9uZS1zcXVhcmUsXG4gIFwicGx1c1wiOiAkZmEtdmFyLXBsdXMsXG4gIFwiYWRkXCI6ICRmYS12YXItYWRkLFxuICBcImV4cGFuZFwiOiAkZmEtdmFyLWV4cGFuZCxcbiAgXCJjb21wdXRlclwiOiAkZmEtdmFyLWNvbXB1dGVyLFxuICBcInhtYXJrXCI6ICRmYS12YXIteG1hcmssXG4gIFwiY2xvc2VcIjogJGZhLXZhci1jbG9zZSxcbiAgXCJtdWx0aXBseVwiOiAkZmEtdmFyLW11bHRpcGx5LFxuICBcInJlbW92ZVwiOiAkZmEtdmFyLXJlbW92ZSxcbiAgXCJ0aW1lc1wiOiAkZmEtdmFyLXRpbWVzLFxuICBcImFycm93cy11cC1kb3duLWxlZnQtcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0LFxuICBcImFycm93c1wiOiAkZmEtdmFyLWFycm93cyxcbiAgXCJjaGFsa2JvYXJkLXVzZXJcIjogJGZhLXZhci1jaGFsa2JvYXJkLXVzZXIsXG4gIFwiY2hhbGtib2FyZC10ZWFjaGVyXCI6ICRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyLFxuICBcInBlc28tc2lnblwiOiAkZmEtdmFyLXBlc28tc2lnbixcbiAgXCJidWlsZGluZy1zaGllbGRcIjogJGZhLXZhci1idWlsZGluZy1zaGllbGQsXG4gIFwiYmFieVwiOiAkZmEtdmFyLWJhYnksXG4gIFwidXNlcnMtbGluZVwiOiAkZmEtdmFyLXVzZXJzLWxpbmUsXG4gIFwicXVvdGUtbGVmdFwiOiAkZmEtdmFyLXF1b3RlLWxlZnQsXG4gIFwicXVvdGUtbGVmdC1hbHRcIjogJGZhLXZhci1xdW90ZS1sZWZ0LWFsdCxcbiAgXCJ0cmFjdG9yXCI6ICRmYS12YXItdHJhY3RvcixcbiAgXCJ0cmFzaC1hcnJvdy11cFwiOiAkZmEtdmFyLXRyYXNoLWFycm93LXVwLFxuICBcInRyYXNoLXJlc3RvcmVcIjogJGZhLXZhci10cmFzaC1yZXN0b3JlLFxuICBcImFycm93LWRvd24tdXAtbG9ja1wiOiAkZmEtdmFyLWFycm93LWRvd24tdXAtbG9jayxcbiAgXCJsaW5lcy1sZWFuaW5nXCI6ICRmYS12YXItbGluZXMtbGVhbmluZyxcbiAgXCJydWxlci1jb21iaW5lZFwiOiAkZmEtdmFyLXJ1bGVyLWNvbWJpbmVkLFxuICBcImNvcHlyaWdodFwiOiAkZmEtdmFyLWNvcHlyaWdodCxcbiAgXCJlcXVhbHNcIjogJGZhLXZhci1lcXVhbHMsXG4gIFwiYmxlbmRlclwiOiAkZmEtdmFyLWJsZW5kZXIsXG4gIFwidGVldGhcIjogJGZhLXZhci10ZWV0aCxcbiAgXCJzaGVrZWwtc2lnblwiOiAkZmEtdmFyLXNoZWtlbC1zaWduLFxuICBcImlsc1wiOiAkZmEtdmFyLWlscyxcbiAgXCJzaGVrZWxcIjogJGZhLXZhci1zaGVrZWwsXG4gIFwic2hlcWVsXCI6ICRmYS12YXItc2hlcWVsLFxuICBcInNoZXFlbC1zaWduXCI6ICRmYS12YXItc2hlcWVsLXNpZ24sXG4gIFwibWFwXCI6ICRmYS12YXItbWFwLFxuICBcInJvY2tldFwiOiAkZmEtdmFyLXJvY2tldCxcbiAgXCJwaG90by1maWxtXCI6ICRmYS12YXItcGhvdG8tZmlsbSxcbiAgXCJwaG90by12aWRlb1wiOiAkZmEtdmFyLXBob3RvLXZpZGVvLFxuICBcImZvbGRlci1taW51c1wiOiAkZmEtdmFyLWZvbGRlci1taW51cyxcbiAgXCJzdG9yZVwiOiAkZmEtdmFyLXN0b3JlLFxuICBcImFycm93LXRyZW5kLXVwXCI6ICRmYS12YXItYXJyb3ctdHJlbmQtdXAsXG4gIFwicGx1Zy1jaXJjbGUtbWludXNcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1taW51cyxcbiAgXCJzaWduLWhhbmdpbmdcIjogJGZhLXZhci1zaWduLWhhbmdpbmcsXG4gIFwic2lnblwiOiAkZmEtdmFyLXNpZ24sXG4gIFwiYmV6aWVyLWN1cnZlXCI6ICRmYS12YXItYmV6aWVyLWN1cnZlLFxuICBcImJlbGwtc2xhc2hcIjogJGZhLXZhci1iZWxsLXNsYXNoLFxuICBcInRhYmxldFwiOiAkZmEtdmFyLXRhYmxldCxcbiAgXCJ0YWJsZXQtYW5kcm9pZFwiOiAkZmEtdmFyLXRhYmxldC1hbmRyb2lkLFxuICBcInNjaG9vbC1mbGFnXCI6ICRmYS12YXItc2Nob29sLWZsYWcsXG4gIFwiZmlsbFwiOiAkZmEtdmFyLWZpbGwsXG4gIFwiYW5nbGUtdXBcIjogJGZhLXZhci1hbmdsZS11cCxcbiAgXCJkcnVtc3RpY2stYml0ZVwiOiAkZmEtdmFyLWRydW1zdGljay1iaXRlLFxuICBcImhvbGx5LWJlcnJ5XCI6ICRmYS12YXItaG9sbHktYmVycnksXG4gIFwiY2hldnJvbi1sZWZ0XCI6ICRmYS12YXItY2hldnJvbi1sZWZ0LFxuICBcImJhY3RlcmlhXCI6ICRmYS12YXItYmFjdGVyaWEsXG4gIFwiaGFuZC1saXphcmRcIjogJGZhLXZhci1oYW5kLWxpemFyZCxcbiAgXCJub3RkZWZcIjogJGZhLXZhci1ub3RkZWYsXG4gIFwiZGlzZWFzZVwiOiAkZmEtdmFyLWRpc2Vhc2UsXG4gIFwiYnJpZWZjYXNlLW1lZGljYWxcIjogJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCxcbiAgXCJnZW5kZXJsZXNzXCI6ICRmYS12YXItZ2VuZGVybGVzcyxcbiAgXCJjaGV2cm9uLXJpZ2h0XCI6ICRmYS12YXItY2hldnJvbi1yaWdodCxcbiAgXCJyZXR3ZWV0XCI6ICRmYS12YXItcmV0d2VldCxcbiAgXCJjYXItcmVhclwiOiAkZmEtdmFyLWNhci1yZWFyLFxuICBcImNhci1hbHRcIjogJGZhLXZhci1jYXItYWx0LFxuICBcInB1bXAtc29hcFwiOiAkZmEtdmFyLXB1bXAtc29hcCxcbiAgXCJ2aWRlby1zbGFzaFwiOiAkZmEtdmFyLXZpZGVvLXNsYXNoLFxuICBcImJhdHRlcnktcXVhcnRlclwiOiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcixcbiAgXCJiYXR0ZXJ5LTJcIjogJGZhLXZhci1iYXR0ZXJ5LTIsXG4gIFwicmFkaW9cIjogJGZhLXZhci1yYWRpbyxcbiAgXCJiYWJ5LWNhcnJpYWdlXCI6ICRmYS12YXItYmFieS1jYXJyaWFnZSxcbiAgXCJjYXJyaWFnZS1iYWJ5XCI6ICRmYS12YXItY2FycmlhZ2UtYmFieSxcbiAgXCJ0cmFmZmljLWxpZ2h0XCI6ICRmYS12YXItdHJhZmZpYy1saWdodCxcbiAgXCJ0aGVybW9tZXRlclwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLFxuICBcInZyLWNhcmRib2FyZFwiOiAkZmEtdmFyLXZyLWNhcmRib2FyZCxcbiAgXCJoYW5kLW1pZGRsZS1maW5nZXJcIjogJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXIsXG4gIFwicGVyY2VudFwiOiAkZmEtdmFyLXBlcmNlbnQsXG4gIFwicGVyY2VudGFnZVwiOiAkZmEtdmFyLXBlcmNlbnRhZ2UsXG4gIFwidHJ1Y2stbW92aW5nXCI6ICRmYS12YXItdHJ1Y2stbW92aW5nLFxuICBcImdsYXNzLXdhdGVyLWRyb3BsZXRcIjogJGZhLXZhci1nbGFzcy13YXRlci1kcm9wbGV0LFxuICBcImRpc3BsYXlcIjogJGZhLXZhci1kaXNwbGF5LFxuICBcImZhY2Utc21pbGVcIjogJGZhLXZhci1mYWNlLXNtaWxlLFxuICBcInNtaWxlXCI6ICRmYS12YXItc21pbGUsXG4gIFwidGh1bWJ0YWNrXCI6ICRmYS12YXItdGh1bWJ0YWNrLFxuICBcInRodW1iLXRhY2tcIjogJGZhLXZhci10aHVtYi10YWNrLFxuICBcInRyb3BoeVwiOiAkZmEtdmFyLXRyb3BoeSxcbiAgXCJwZXJzb24tcHJheWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1wcmF5aW5nLFxuICBcInByYXlcIjogJGZhLXZhci1wcmF5LFxuICBcImhhbW1lclwiOiAkZmEtdmFyLWhhbW1lcixcbiAgXCJoYW5kLXBlYWNlXCI6ICRmYS12YXItaGFuZC1wZWFjZSxcbiAgXCJyb3RhdGVcIjogJGZhLXZhci1yb3RhdGUsXG4gIFwic3luYy1hbHRcIjogJGZhLXZhci1zeW5jLWFsdCxcbiAgXCJzcGlubmVyXCI6ICRmYS12YXItc3Bpbm5lcixcbiAgXCJyb2JvdFwiOiAkZmEtdmFyLXJvYm90LFxuICBcInBlYWNlXCI6ICRmYS12YXItcGVhY2UsXG4gIFwiZ2VhcnNcIjogJGZhLXZhci1nZWFycyxcbiAgXCJjb2dzXCI6ICRmYS12YXItY29ncyxcbiAgXCJ3YXJlaG91c2VcIjogJGZhLXZhci13YXJlaG91c2UsXG4gIFwiYXJyb3ctdXAtcmlnaHQtZG90c1wiOiAkZmEtdmFyLWFycm93LXVwLXJpZ2h0LWRvdHMsXG4gIFwic3Bsb3RjaFwiOiAkZmEtdmFyLXNwbG90Y2gsXG4gIFwiZmFjZS1ncmluLWhlYXJ0c1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1oZWFydHMsXG4gIFwiZ3Jpbi1oZWFydHNcIjogJGZhLXZhci1ncmluLWhlYXJ0cyxcbiAgXCJkaWNlLWZvdXJcIjogJGZhLXZhci1kaWNlLWZvdXIsXG4gIFwic2ltLWNhcmRcIjogJGZhLXZhci1zaW0tY2FyZCxcbiAgXCJ0cmFuc2dlbmRlclwiOiAkZmEtdmFyLXRyYW5zZ2VuZGVyLFxuICBcInRyYW5zZ2VuZGVyLWFsdFwiOiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCxcbiAgXCJtZXJjdXJ5XCI6ICRmYS12YXItbWVyY3VyeSxcbiAgXCJhcnJvdy10dXJuLWRvd25cIjogJGZhLXZhci1hcnJvdy10dXJuLWRvd24sXG4gIFwibGV2ZWwtZG93blwiOiAkZmEtdmFyLWxldmVsLWRvd24sXG4gIFwicGVyc29uLWZhbGxpbmctYnVyc3RcIjogJGZhLXZhci1wZXJzb24tZmFsbGluZy1idXJzdCxcbiAgXCJhd2FyZFwiOiAkZmEtdmFyLWF3YXJkLFxuICBcInRpY2tldC1zaW1wbGVcIjogJGZhLXZhci10aWNrZXQtc2ltcGxlLFxuICBcInRpY2tldC1hbHRcIjogJGZhLXZhci10aWNrZXQtYWx0LFxuICBcImJ1aWxkaW5nXCI6ICRmYS12YXItYnVpbGRpbmcsXG4gIFwiYW5nbGVzLWxlZnRcIjogJGZhLXZhci1hbmdsZXMtbGVmdCxcbiAgXCJhbmdsZS1kb3VibGUtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0LFxuICBcInFyY29kZVwiOiAkZmEtdmFyLXFyY29kZSxcbiAgXCJjbG9jay1yb3RhdGUtbGVmdFwiOiAkZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0LFxuICBcImhpc3RvcnlcIjogJGZhLXZhci1oaXN0b3J5LFxuICBcImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0XCI6ICRmYS12YXItZmFjZS1ncmluLWJlYW0tc3dlYXQsXG4gIFwiZ3Jpbi1iZWFtLXN3ZWF0XCI6ICRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0LFxuICBcImZpbGUtZXhwb3J0XCI6ICRmYS12YXItZmlsZS1leHBvcnQsXG4gIFwiYXJyb3ctcmlnaHQtZnJvbS1maWxlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1maWxlLFxuICBcInNoaWVsZFwiOiAkZmEtdmFyLXNoaWVsZCxcbiAgXCJzaGllbGQtYmxhbmtcIjogJGZhLXZhci1zaGllbGQtYmxhbmssXG4gIFwiYXJyb3ctdXAtc2hvcnQtd2lkZVwiOiAkZmEtdmFyLWFycm93LXVwLXNob3J0LXdpZGUsXG4gIFwic29ydC1hbW91bnQtdXAtYWx0XCI6ICRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0LFxuICBcImhvdXNlLW1lZGljYWxcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLFxuICBcImdvbGYtYmFsbC10ZWVcIjogJGZhLXZhci1nb2xmLWJhbGwtdGVlLFxuICBcImdvbGYtYmFsbFwiOiAkZmEtdmFyLWdvbGYtYmFsbCxcbiAgXCJjaXJjbGUtY2hldnJvbi1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tbGVmdCxcbiAgXCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdCxcbiAgXCJob3VzZS1jaGltbmV5LXdpbmRvd1wiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktd2luZG93LFxuICBcInBlbi1uaWJcIjogJGZhLXZhci1wZW4tbmliLFxuICBcInRlbnQtYXJyb3ctdHVybi1sZWZ0XCI6ICRmYS12YXItdGVudC1hcnJvdy10dXJuLWxlZnQsXG4gIFwidGVudHNcIjogJGZhLXZhci10ZW50cyxcbiAgXCJ3YW5kLW1hZ2ljXCI6ICRmYS12YXItd2FuZC1tYWdpYyxcbiAgXCJtYWdpY1wiOiAkZmEtdmFyLW1hZ2ljLFxuICBcImRvZ1wiOiAkZmEtdmFyLWRvZyxcbiAgXCJjYXJyb3RcIjogJGZhLXZhci1jYXJyb3QsXG4gIFwibW9vblwiOiAkZmEtdmFyLW1vb24sXG4gIFwid2luZS1nbGFzcy1lbXB0eVwiOiAkZmEtdmFyLXdpbmUtZ2xhc3MtZW1wdHksXG4gIFwid2luZS1nbGFzcy1hbHRcIjogJGZhLXZhci13aW5lLWdsYXNzLWFsdCxcbiAgXCJjaGVlc2VcIjogJGZhLXZhci1jaGVlc2UsXG4gIFwieWluLXlhbmdcIjogJGZhLXZhci15aW4teWFuZyxcbiAgXCJtdXNpY1wiOiAkZmEtdmFyLW11c2ljLFxuICBcImNvZGUtY29tbWl0XCI6ICRmYS12YXItY29kZS1jb21taXQsXG4gIFwidGVtcGVyYXR1cmUtbG93XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtbG93LFxuICBcInBlcnNvbi1iaWtpbmdcIjogJGZhLXZhci1wZXJzb24tYmlraW5nLFxuICBcImJpa2luZ1wiOiAkZmEtdmFyLWJpa2luZyxcbiAgXCJicm9vbVwiOiAkZmEtdmFyLWJyb29tLFxuICBcInNoaWVsZC1oZWFydFwiOiAkZmEtdmFyLXNoaWVsZC1oZWFydCxcbiAgXCJnb3B1cmFtXCI6ICRmYS12YXItZ29wdXJhbSxcbiAgXCJlYXJ0aC1vY2VhbmlhXCI6ICRmYS12YXItZWFydGgtb2NlYW5pYSxcbiAgXCJnbG9iZS1vY2VhbmlhXCI6ICRmYS12YXItZ2xvYmUtb2NlYW5pYSxcbiAgXCJzcXVhcmUteG1hcmtcIjogJGZhLXZhci1zcXVhcmUteG1hcmssXG4gIFwidGltZXMtc3F1YXJlXCI6ICRmYS12YXItdGltZXMtc3F1YXJlLFxuICBcInhtYXJrLXNxdWFyZVwiOiAkZmEtdmFyLXhtYXJrLXNxdWFyZSxcbiAgXCJoYXNodGFnXCI6ICRmYS12YXItaGFzaHRhZyxcbiAgXCJ1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyXCI6ICRmYS12YXItdXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcixcbiAgXCJleHBhbmQtYWx0XCI6ICRmYS12YXItZXhwYW5kLWFsdCxcbiAgXCJvaWwtY2FuXCI6ICRmYS12YXItb2lsLWNhbixcbiAgXCJ0XCI6ICRmYS12YXItdCxcbiAgXCJoaXBwb1wiOiAkZmEtdmFyLWhpcHBvLFxuICBcImNoYXJ0LWNvbHVtblwiOiAkZmEtdmFyLWNoYXJ0LWNvbHVtbixcbiAgXCJpbmZpbml0eVwiOiAkZmEtdmFyLWluZmluaXR5LFxuICBcInZpYWwtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItdmlhbC1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLWFycm93LWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmUsXG4gIFwidm9pY2VtYWlsXCI6ICRmYS12YXItdm9pY2VtYWlsLFxuICBcImZhblwiOiAkZmEtdmFyLWZhbixcbiAgXCJwZXJzb24td2Fsa2luZy1sdWdnYWdlXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctbHVnZ2FnZSxcbiAgXCJ1cC1kb3duXCI6ICRmYS12YXItdXAtZG93bixcbiAgXCJhcnJvd3MtYWx0LXZcIjogJGZhLXZhci1hcnJvd3MtYWx0LXYsXG4gIFwiY2xvdWQtbW9vbi1yYWluXCI6ICRmYS12YXItY2xvdWQtbW9vbi1yYWluLFxuICBcImNhbGVuZGFyXCI6ICRmYS12YXItY2FsZW5kYXIsXG4gIFwidHJhaWxlclwiOiAkZmEtdmFyLXRyYWlsZXIsXG4gIFwiYmFoYWlcIjogJGZhLXZhci1iYWhhaSxcbiAgXCJoYXlrYWxcIjogJGZhLXZhci1oYXlrYWwsXG4gIFwic2QtY2FyZFwiOiAkZmEtdmFyLXNkLWNhcmQsXG4gIFwiZHJhZ29uXCI6ICRmYS12YXItZHJhZ29uLFxuICBcInNob2UtcHJpbnRzXCI6ICRmYS12YXItc2hvZS1wcmludHMsXG4gIFwiY2lyY2xlLXBsdXNcIjogJGZhLXZhci1jaXJjbGUtcGx1cyxcbiAgXCJwbHVzLWNpcmNsZVwiOiAkZmEtdmFyLXBsdXMtY2lyY2xlLFxuICBcImZhY2UtZ3Jpbi10b25ndWUtd2lua1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtd2luayxcbiAgXCJncmluLXRvbmd1ZS13aW5rXCI6ICRmYS12YXItZ3Jpbi10b25ndWUtd2luayxcbiAgXCJoYW5kLWhvbGRpbmdcIjogJGZhLXZhci1oYW5kLWhvbGRpbmcsXG4gIFwicGx1Zy1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wbHVnLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJsaW5rLXNsYXNoXCI6ICRmYS12YXItbGluay1zbGFzaCxcbiAgXCJjaGFpbi1icm9rZW5cIjogJGZhLXZhci1jaGFpbi1icm9rZW4sXG4gIFwiY2hhaW4tc2xhc2hcIjogJGZhLXZhci1jaGFpbi1zbGFzaCxcbiAgXCJ1bmxpbmtcIjogJGZhLXZhci11bmxpbmssXG4gIFwiY2xvbmVcIjogJGZhLXZhci1jbG9uZSxcbiAgXCJwZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnQsXG4gIFwiYXJyb3ctdXAtei1hXCI6ICRmYS12YXItYXJyb3ctdXAtei1hLFxuICBcInNvcnQtYWxwaGEtdXAtYWx0XCI6ICRmYS12YXItc29ydC1hbHBoYS11cC1hbHQsXG4gIFwiZmlyZS1mbGFtZS1jdXJ2ZWRcIjogJGZhLXZhci1maXJlLWZsYW1lLWN1cnZlZCxcbiAgXCJmaXJlLWFsdFwiOiAkZmEtdmFyLWZpcmUtYWx0LFxuICBcInRvcm5hZG9cIjogJGZhLXZhci10b3JuYWRvLFxuICBcImZpbGUtY2lyY2xlLXBsdXNcIjogJGZhLXZhci1maWxlLWNpcmNsZS1wbHVzLFxuICBcImJvb2stcXVyYW5cIjogJGZhLXZhci1ib29rLXF1cmFuLFxuICBcInF1cmFuXCI6ICRmYS12YXItcXVyYW4sXG4gIFwiYW5jaG9yXCI6ICRmYS12YXItYW5jaG9yLFxuICBcImJvcmRlci1hbGxcIjogJGZhLXZhci1ib3JkZXItYWxsLFxuICBcImZhY2UtYW5ncnlcIjogJGZhLXZhci1mYWNlLWFuZ3J5LFxuICBcImFuZ3J5XCI6ICRmYS12YXItYW5ncnksXG4gIFwiY29va2llLWJpdGVcIjogJGZhLXZhci1jb29raWUtYml0ZSxcbiAgXCJhcnJvdy10cmVuZC1kb3duXCI6ICRmYS12YXItYXJyb3ctdHJlbmQtZG93bixcbiAgXCJyc3NcIjogJGZhLXZhci1yc3MsXG4gIFwiZmVlZFwiOiAkZmEtdmFyLWZlZWQsXG4gIFwiZHJhdy1wb2x5Z29uXCI6ICRmYS12YXItZHJhdy1wb2x5Z29uLFxuICBcInNjYWxlLWJhbGFuY2VkXCI6ICRmYS12YXItc2NhbGUtYmFsYW5jZWQsXG4gIFwiYmFsYW5jZS1zY2FsZVwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUsXG4gIFwiZ2F1Z2Utc2ltcGxlLWhpZ2hcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUtaGlnaCxcbiAgXCJ0YWNob21ldGVyXCI6ICRmYS12YXItdGFjaG9tZXRlcixcbiAgXCJ0YWNob21ldGVyLWZhc3RcIjogJGZhLXZhci10YWNob21ldGVyLWZhc3QsXG4gIFwic2hvd2VyXCI6ICRmYS12YXItc2hvd2VyLFxuICBcImRlc2t0b3BcIjogJGZhLXZhci1kZXNrdG9wLFxuICBcImRlc2t0b3AtYWx0XCI6ICRmYS12YXItZGVza3RvcC1hbHQsXG4gIFwibVwiOiAkZmEtdmFyLW0sXG4gIFwidGFibGUtbGlzdFwiOiAkZmEtdmFyLXRhYmxlLWxpc3QsXG4gIFwidGgtbGlzdFwiOiAkZmEtdmFyLXRoLWxpc3QsXG4gIFwiY29tbWVudC1zbXNcIjogJGZhLXZhci1jb21tZW50LXNtcyxcbiAgXCJzbXNcIjogJGZhLXZhci1zbXMsXG4gIFwiYm9va1wiOiAkZmEtdmFyLWJvb2ssXG4gIFwidXNlci1wbHVzXCI6ICRmYS12YXItdXNlci1wbHVzLFxuICBcImNoZWNrXCI6ICRmYS12YXItY2hlY2ssXG4gIFwiYmF0dGVyeS10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnMsXG4gIFwiYmF0dGVyeS00XCI6ICRmYS12YXItYmF0dGVyeS00LFxuICBcImhvdXNlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS1jaGVjayxcbiAgXCJhbmdsZS1sZWZ0XCI6ICRmYS12YXItYW5nbGUtbGVmdCxcbiAgXCJkaWFncmFtLXN1Y2Nlc3NvclwiOiAkZmEtdmFyLWRpYWdyYW0tc3VjY2Vzc29yLFxuICBcInRydWNrLWFycm93LXJpZ2h0XCI6ICRmYS12YXItdHJ1Y2stYXJyb3ctcmlnaHQsXG4gIFwiYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0XCI6ICRmYS12YXItYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0LFxuICBcImhhbmQtZmlzdFwiOiAkZmEtdmFyLWhhbmQtZmlzdCxcbiAgXCJmaXN0LXJhaXNlZFwiOiAkZmEtdmFyLWZpc3QtcmFpc2VkLFxuICBcImNsb3VkLW1vb25cIjogJGZhLXZhci1jbG91ZC1tb29uLFxuICBcImJyaWVmY2FzZVwiOiAkZmEtdmFyLWJyaWVmY2FzZSxcbiAgXCJwZXJzb24tZmFsbGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1mYWxsaW5nLFxuICBcImltYWdlLXBvcnRyYWl0XCI6ICRmYS12YXItaW1hZ2UtcG9ydHJhaXQsXG4gIFwicG9ydHJhaXRcIjogJGZhLXZhci1wb3J0cmFpdCxcbiAgXCJ1c2VyLXRhZ1wiOiAkZmEtdmFyLXVzZXItdGFnLFxuICBcInJ1Z1wiOiAkZmEtdmFyLXJ1ZyxcbiAgXCJlYXJ0aC1ldXJvcGVcIjogJGZhLXZhci1lYXJ0aC1ldXJvcGUsXG4gIFwiZ2xvYmUtZXVyb3BlXCI6ICRmYS12YXItZ2xvYmUtZXVyb3BlLFxuICBcImNhcnQtZmxhdGJlZC1zdWl0Y2FzZVwiOiAkZmEtdmFyLWNhcnQtZmxhdGJlZC1zdWl0Y2FzZSxcbiAgXCJsdWdnYWdlLWNhcnRcIjogJGZhLXZhci1sdWdnYWdlLWNhcnQsXG4gIFwicmVjdGFuZ2xlLXhtYXJrXCI6ICRmYS12YXItcmVjdGFuZ2xlLXhtYXJrLFxuICBcInJlY3RhbmdsZS10aW1lc1wiOiAkZmEtdmFyLXJlY3RhbmdsZS10aW1lcyxcbiAgXCJ0aW1lcy1yZWN0YW5nbGVcIjogJGZhLXZhci10aW1lcy1yZWN0YW5nbGUsXG4gIFwid2luZG93LWNsb3NlXCI6ICRmYS12YXItd2luZG93LWNsb3NlLFxuICBcImJhaHQtc2lnblwiOiAkZmEtdmFyLWJhaHQtc2lnbixcbiAgXCJib29rLW9wZW5cIjogJGZhLXZhci1ib29rLW9wZW4sXG4gIFwiYm9vay1qb3VybmFsLXdoaWxsc1wiOiAkZmEtdmFyLWJvb2stam91cm5hbC13aGlsbHMsXG4gIFwiam91cm5hbC13aGlsbHNcIjogJGZhLXZhci1qb3VybmFsLXdoaWxscyxcbiAgXCJoYW5kY3VmZnNcIjogJGZhLXZhci1oYW5kY3VmZnMsXG4gIFwidHJpYW5nbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci10cmlhbmdsZS1leGNsYW1hdGlvbixcbiAgXCJleGNsYW1hdGlvbi10cmlhbmdsZVwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlLFxuICBcIndhcm5pbmdcIjogJGZhLXZhci13YXJuaW5nLFxuICBcImRhdGFiYXNlXCI6ICRmYS12YXItZGF0YWJhc2UsXG4gIFwic2hhcmVcIjogJGZhLXZhci1zaGFyZSxcbiAgXCJtYWlsLWZvcndhcmRcIjogJGZhLXZhci1tYWlsLWZvcndhcmQsXG4gIFwiYm90dGxlLWRyb3BsZXRcIjogJGZhLXZhci1ib3R0bGUtZHJvcGxldCxcbiAgXCJtYXNrLWZhY2VcIjogJGZhLXZhci1tYXNrLWZhY2UsXG4gIFwiaGlsbC1yb2Nrc2xpZGVcIjogJGZhLXZhci1oaWxsLXJvY2tzbGlkZSxcbiAgXCJyaWdodC1sZWZ0XCI6ICRmYS12YXItcmlnaHQtbGVmdCxcbiAgXCJleGNoYW5nZS1hbHRcIjogJGZhLXZhci1leGNoYW5nZS1hbHQsXG4gIFwicGFwZXItcGxhbmVcIjogJGZhLXZhci1wYXBlci1wbGFuZSxcbiAgXCJyb2FkLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImR1bmdlb25cIjogJGZhLXZhci1kdW5nZW9uLFxuICBcImFsaWduLXJpZ2h0XCI6ICRmYS12YXItYWxpZ24tcmlnaHQsXG4gIFwibW9uZXktYmlsbC0xLXdhdmVcIjogJGZhLXZhci1tb25leS1iaWxsLTEtd2F2ZSxcbiAgXCJtb25leS1iaWxsLXdhdmUtYWx0XCI6ICRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdCxcbiAgXCJsaWZlLXJpbmdcIjogJGZhLXZhci1saWZlLXJpbmcsXG4gIFwiaGFuZHNcIjogJGZhLXZhci1oYW5kcyxcbiAgXCJzaWduLWxhbmd1YWdlXCI6ICRmYS12YXItc2lnbi1sYW5ndWFnZSxcbiAgXCJzaWduaW5nXCI6ICRmYS12YXItc2lnbmluZyxcbiAgXCJjYWxlbmRhci1kYXlcIjogJGZhLXZhci1jYWxlbmRhci1kYXksXG4gIFwid2F0ZXItbGFkZGVyXCI6ICRmYS12YXItd2F0ZXItbGFkZGVyLFxuICBcImxhZGRlci13YXRlclwiOiAkZmEtdmFyLWxhZGRlci13YXRlcixcbiAgXCJzd2ltbWluZy1wb29sXCI6ICRmYS12YXItc3dpbW1pbmctcG9vbCxcbiAgXCJhcnJvd3MtdXAtZG93blwiOiAkZmEtdmFyLWFycm93cy11cC1kb3duLFxuICBcImFycm93cy12XCI6ICRmYS12YXItYXJyb3dzLXYsXG4gIFwiZmFjZS1ncmltYWNlXCI6ICRmYS12YXItZmFjZS1ncmltYWNlLFxuICBcImdyaW1hY2VcIjogJGZhLXZhci1ncmltYWNlLFxuICBcIndoZWVsY2hhaXItbW92ZVwiOiAkZmEtdmFyLXdoZWVsY2hhaXItbW92ZSxcbiAgXCJ3aGVlbGNoYWlyLWFsdFwiOiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0LFxuICBcInR1cm4tZG93blwiOiAkZmEtdmFyLXR1cm4tZG93bixcbiAgXCJsZXZlbC1kb3duLWFsdFwiOiAkZmEtdmFyLWxldmVsLWRvd24tYWx0LFxuICBcInBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQsXG4gIFwic3F1YXJlLWVudmVsb3BlXCI6ICRmYS12YXItc3F1YXJlLWVudmVsb3BlLFxuICBcImVudmVsb3BlLXNxdWFyZVwiOiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZSxcbiAgXCJkaWNlXCI6ICRmYS12YXItZGljZSxcbiAgXCJib3dsaW5nLWJhbGxcIjogJGZhLXZhci1ib3dsaW5nLWJhbGwsXG4gIFwiYnJhaW5cIjogJGZhLXZhci1icmFpbixcbiAgXCJiYW5kYWdlXCI6ICRmYS12YXItYmFuZGFnZSxcbiAgXCJiYW5kLWFpZFwiOiAkZmEtdmFyLWJhbmQtYWlkLFxuICBcImNhbGVuZGFyLW1pbnVzXCI6ICRmYS12YXItY2FsZW5kYXItbWludXMsXG4gIFwiY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItY2lyY2xlLXhtYXJrLFxuICBcInRpbWVzLWNpcmNsZVwiOiAkZmEtdmFyLXRpbWVzLWNpcmNsZSxcbiAgXCJ4bWFyay1jaXJjbGVcIjogJGZhLXZhci14bWFyay1jaXJjbGUsXG4gIFwiZ2lmdHNcIjogJGZhLXZhci1naWZ0cyxcbiAgXCJob3RlbFwiOiAkZmEtdmFyLWhvdGVsLFxuICBcImVhcnRoLWFzaWFcIjogJGZhLXZhci1lYXJ0aC1hc2lhLFxuICBcImdsb2JlLWFzaWFcIjogJGZhLXZhci1nbG9iZS1hc2lhLFxuICBcImlkLWNhcmQtY2xpcFwiOiAkZmEtdmFyLWlkLWNhcmQtY2xpcCxcbiAgXCJpZC1jYXJkLWFsdFwiOiAkZmEtdmFyLWlkLWNhcmQtYWx0LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtcGx1c1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtcGx1cyxcbiAgXCJzZWFyY2gtcGx1c1wiOiAkZmEtdmFyLXNlYXJjaC1wbHVzLFxuICBcInRodW1icy11cFwiOiAkZmEtdmFyLXRodW1icy11cCxcbiAgXCJ1c2VyLWNsb2NrXCI6ICRmYS12YXItdXNlci1jbG9jayxcbiAgXCJoYW5kLWRvdHNcIjogJGZhLXZhci1oYW5kLWRvdHMsXG4gIFwiYWxsZXJnaWVzXCI6ICRmYS12YXItYWxsZXJnaWVzLFxuICBcImZpbGUtaW52b2ljZVwiOiAkZmEtdmFyLWZpbGUtaW52b2ljZSxcbiAgXCJ3aW5kb3ctbWluaW1pemVcIjogJGZhLXZhci13aW5kb3ctbWluaW1pemUsXG4gIFwibXVnLXNhdWNlclwiOiAkZmEtdmFyLW11Zy1zYXVjZXIsXG4gIFwiY29mZmVlXCI6ICRmYS12YXItY29mZmVlLFxuICBcImJydXNoXCI6ICRmYS12YXItYnJ1c2gsXG4gIFwibWFza1wiOiAkZmEtdmFyLW1hc2ssXG4gIFwibWFnbmlmeWluZy1nbGFzcy1taW51c1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbWludXMsXG4gIFwic2VhcmNoLW1pbnVzXCI6ICRmYS12YXItc2VhcmNoLW1pbnVzLFxuICBcInJ1bGVyLXZlcnRpY2FsXCI6ICRmYS12YXItcnVsZXItdmVydGljYWwsXG4gIFwidXNlci1sYXJnZVwiOiAkZmEtdmFyLXVzZXItbGFyZ2UsXG4gIFwidXNlci1hbHRcIjogJGZhLXZhci11c2VyLWFsdCxcbiAgXCJ0cmFpbi10cmFtXCI6ICRmYS12YXItdHJhaW4tdHJhbSxcbiAgXCJ1c2VyLW51cnNlXCI6ICRmYS12YXItdXNlci1udXJzZSxcbiAgXCJzeXJpbmdlXCI6ICRmYS12YXItc3lyaW5nZSxcbiAgXCJjbG91ZC1zdW5cIjogJGZhLXZhci1jbG91ZC1zdW4sXG4gIFwic3RvcHdhdGNoLTIwXCI6ICRmYS12YXItc3RvcHdhdGNoLTIwLFxuICBcInNxdWFyZS1mdWxsXCI6ICRmYS12YXItc3F1YXJlLWZ1bGwsXG4gIFwibWFnbmV0XCI6ICRmYS12YXItbWFnbmV0LFxuICBcImphclwiOiAkZmEtdmFyLWphcixcbiAgXCJub3RlLXN0aWNreVwiOiAkZmEtdmFyLW5vdGUtc3RpY2t5LFxuICBcInN0aWNreS1ub3RlXCI6ICRmYS12YXItc3RpY2t5LW5vdGUsXG4gIFwiYnVnLXNsYXNoXCI6ICRmYS12YXItYnVnLXNsYXNoLFxuICBcImFycm93LXVwLWZyb20td2F0ZXItcHVtcFwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20td2F0ZXItcHVtcCxcbiAgXCJib25lXCI6ICRmYS12YXItYm9uZSxcbiAgXCJ1c2VyLWluanVyZWRcIjogJGZhLXZhci11c2VyLWluanVyZWQsXG4gIFwiZmFjZS1zYWQtdGVhclwiOiAkZmEtdmFyLWZhY2Utc2FkLXRlYXIsXG4gIFwic2FkLXRlYXJcIjogJGZhLXZhci1zYWQtdGVhcixcbiAgXCJwbGFuZVwiOiAkZmEtdmFyLXBsYW5lLFxuICBcInRlbnQtYXJyb3dzLWRvd25cIjogJGZhLXZhci10ZW50LWFycm93cy1kb3duLFxuICBcImV4Y2xhbWF0aW9uXCI6ICRmYS12YXItZXhjbGFtYXRpb24sXG4gIFwiYXJyb3dzLXNwaW5cIjogJGZhLXZhci1hcnJvd3Mtc3BpbixcbiAgXCJwcmludFwiOiAkZmEtdmFyLXByaW50LFxuICBcInR1cmtpc2gtbGlyYS1zaWduXCI6ICRmYS12YXItdHVya2lzaC1saXJhLXNpZ24sXG4gIFwidHJ5XCI6ICRmYS12YXItdHJ5LFxuICBcInR1cmtpc2gtbGlyYVwiOiAkZmEtdmFyLXR1cmtpc2gtbGlyYSxcbiAgXCJkb2xsYXItc2lnblwiOiAkZmEtdmFyLWRvbGxhci1zaWduLFxuICBcImRvbGxhclwiOiAkZmEtdmFyLWRvbGxhcixcbiAgXCJ1c2RcIjogJGZhLXZhci11c2QsXG4gIFwieFwiOiAkZmEtdmFyLXgsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1kb2xsYXJcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWRvbGxhcixcbiAgXCJzZWFyY2gtZG9sbGFyXCI6ICRmYS12YXItc2VhcmNoLWRvbGxhcixcbiAgXCJ1c2Vycy1nZWFyXCI6ICRmYS12YXItdXNlcnMtZ2VhcixcbiAgXCJ1c2Vycy1jb2dcIjogJGZhLXZhci11c2Vycy1jb2csXG4gIFwicGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nLFxuICBcImJ1aWxkaW5nLWNvbHVtbnNcIjogJGZhLXZhci1idWlsZGluZy1jb2x1bW5zLFxuICBcImJhbmtcIjogJGZhLXZhci1iYW5rLFxuICBcImluc3RpdHV0aW9uXCI6ICRmYS12YXItaW5zdGl0dXRpb24sXG4gIFwibXVzZXVtXCI6ICRmYS12YXItbXVzZXVtLFxuICBcInVuaXZlcnNpdHlcIjogJGZhLXZhci11bml2ZXJzaXR5LFxuICBcInVtYnJlbGxhXCI6ICRmYS12YXItdW1icmVsbGEsXG4gIFwidHJvd2VsXCI6ICRmYS12YXItdHJvd2VsLFxuICBcImRcIjogJGZhLXZhci1kLFxuICBcInN0YXBsZXJcIjogJGZhLXZhci1zdGFwbGVyLFxuICBcIm1hc2tzLXRoZWF0ZXJcIjogJGZhLXZhci1tYXNrcy10aGVhdGVyLFxuICBcInRoZWF0ZXItbWFza3NcIjogJGZhLXZhci10aGVhdGVyLW1hc2tzLFxuICBcImtpcC1zaWduXCI6ICRmYS12YXIta2lwLXNpZ24sXG4gIFwiaGFuZC1wb2ludC1sZWZ0XCI6ICRmYS12YXItaGFuZC1wb2ludC1sZWZ0LFxuICBcImhhbmRzaGFrZS1zaW1wbGVcIjogJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLFxuICBcImhhbmRzaGFrZS1hbHRcIjogJGZhLXZhci1oYW5kc2hha2UtYWx0LFxuICBcImpldC1maWdodGVyXCI6ICRmYS12YXItamV0LWZpZ2h0ZXIsXG4gIFwiZmlnaHRlci1qZXRcIjogJGZhLXZhci1maWdodGVyLWpldCxcbiAgXCJzcXVhcmUtc2hhcmUtbm9kZXNcIjogJGZhLXZhci1zcXVhcmUtc2hhcmUtbm9kZXMsXG4gIFwic2hhcmUtYWx0LXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUsXG4gIFwiYmFyY29kZVwiOiAkZmEtdmFyLWJhcmNvZGUsXG4gIFwicGx1cy1taW51c1wiOiAkZmEtdmFyLXBsdXMtbWludXMsXG4gIFwidmlkZW9cIjogJGZhLXZhci12aWRlbyxcbiAgXCJ2aWRlby1jYW1lcmFcIjogJGZhLXZhci12aWRlby1jYW1lcmEsXG4gIFwiZ3JhZHVhdGlvbi1jYXBcIjogJGZhLXZhci1ncmFkdWF0aW9uLWNhcCxcbiAgXCJtb3J0YXItYm9hcmRcIjogJGZhLXZhci1tb3J0YXItYm9hcmQsXG4gIFwiaGFuZC1ob2xkaW5nLW1lZGljYWxcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCxcbiAgXCJwZXJzb24tY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1jaGVjayxcbiAgXCJ0dXJuLXVwXCI6ICRmYS12YXItdHVybi11cCxcbiAgXCJsZXZlbC11cC1hbHRcIjogJGZhLXZhci1sZXZlbC11cC1hbHQsXG4pO1xuXG4kZmEtYnJhbmQtaWNvbnM6IChcbiAgXCJtb25lcm9cIjogJGZhLXZhci1tb25lcm8sXG4gIFwiaG9vbGlcIjogJGZhLXZhci1ob29saSxcbiAgXCJ5ZWxwXCI6ICRmYS12YXIteWVscCxcbiAgXCJjYy12aXNhXCI6ICRmYS12YXItY2MtdmlzYSxcbiAgXCJsYXN0Zm1cIjogJGZhLXZhci1sYXN0Zm0sXG4gIFwic2hvcHdhcmVcIjogJGZhLXZhci1zaG9wd2FyZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYyxcbiAgXCJhd3NcIjogJGZhLXZhci1hd3MsXG4gIFwicmVkaGF0XCI6ICRmYS12YXItcmVkaGF0LFxuICBcInlvYXN0XCI6ICRmYS12YXIteW9hc3QsXG4gIFwiY2xvdWRmbGFyZVwiOiAkZmEtdmFyLWNsb3VkZmxhcmUsXG4gIFwidXBzXCI6ICRmYS12YXItdXBzLFxuICBcInBpeGl2XCI6ICRmYS12YXItcGl4aXYsXG4gIFwid3BleHBsb3JlclwiOiAkZmEtdmFyLXdwZXhwbG9yZXIsXG4gIFwiZHlhbG9nXCI6ICRmYS12YXItZHlhbG9nLFxuICBcImJpdHlcIjogJGZhLXZhci1iaXR5LFxuICBcInN0YWNrcGF0aFwiOiAkZmEtdmFyLXN0YWNrcGF0aCxcbiAgXCJidXlzZWxsYWRzXCI6ICRmYS12YXItYnV5c2VsbGFkcyxcbiAgXCJmaXJzdC1vcmRlclwiOiAkZmEtdmFyLWZpcnN0LW9yZGVyLFxuICBcIm1vZHhcIjogJGZhLXZhci1tb2R4LFxuICBcImd1aWxkZWRcIjogJGZhLXZhci1ndWlsZGVkLFxuICBcInZudlwiOiAkZmEtdmFyLXZudixcbiAgXCJzcXVhcmUtanNcIjogJGZhLXZhci1zcXVhcmUtanMsXG4gIFwianMtc3F1YXJlXCI6ICRmYS12YXItanMtc3F1YXJlLFxuICBcIm1pY3Jvc29mdFwiOiAkZmEtdmFyLW1pY3Jvc29mdCxcbiAgXCJxcVwiOiAkZmEtdmFyLXFxLFxuICBcIm9yY2lkXCI6ICRmYS12YXItb3JjaWQsXG4gIFwiamF2YVwiOiAkZmEtdmFyLWphdmEsXG4gIFwiaW52aXNpb25cIjogJGZhLXZhci1pbnZpc2lvbixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXBkLWFsdFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0LFxuICBcImNlbnRlcmNvZGVcIjogJGZhLXZhci1jZW50ZXJjb2RlLFxuICBcImdsaWRlLWdcIjogJGZhLXZhci1nbGlkZS1nLFxuICBcImRydXBhbFwiOiAkZmEtdmFyLWRydXBhbCxcbiAgXCJoaXJlLWEtaGVscGVyXCI6ICRmYS12YXItaGlyZS1hLWhlbHBlcixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLWJ5XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSxcbiAgXCJ1bml0eVwiOiAkZmEtdmFyLXVuaXR5LFxuICBcIndobWNzXCI6ICRmYS12YXItd2htY3MsXG4gIFwicm9ja2V0Y2hhdFwiOiAkZmEtdmFyLXJvY2tldGNoYXQsXG4gIFwidmtcIjogJGZhLXZhci12ayxcbiAgXCJ1bnRhcHBkXCI6ICRmYS12YXItdW50YXBwZCxcbiAgXCJtYWlsY2hpbXBcIjogJGZhLXZhci1tYWlsY2hpbXAsXG4gIFwiY3NzMy1hbHRcIjogJGZhLXZhci1jc3MzLWFsdCxcbiAgXCJzcXVhcmUtcmVkZGl0XCI6ICRmYS12YXItc3F1YXJlLXJlZGRpdCxcbiAgXCJyZWRkaXQtc3F1YXJlXCI6ICRmYS12YXItcmVkZGl0LXNxdWFyZSxcbiAgXCJ2aW1lby12XCI6ICRmYS12YXItdmltZW8tdixcbiAgXCJjb250YW9cIjogJGZhLXZhci1jb250YW8sXG4gIFwic3F1YXJlLWZvbnQtYXdlc29tZVwiOiAkZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUsXG4gIFwiZGVza3Byb1wiOiAkZmEtdmFyLWRlc2twcm8sXG4gIFwiYnJhdmVcIjogJGZhLXZhci1icmF2ZSxcbiAgXCJzaXN0cml4XCI6ICRmYS12YXItc2lzdHJpeCxcbiAgXCJzcXVhcmUtaW5zdGFncmFtXCI6ICRmYS12YXItc3F1YXJlLWluc3RhZ3JhbSxcbiAgXCJpbnN0YWdyYW0tc3F1YXJlXCI6ICRmYS12YXItaW5zdGFncmFtLXNxdWFyZSxcbiAgXCJiYXR0bGUtbmV0XCI6ICRmYS12YXItYmF0dGxlLW5ldCxcbiAgXCJ0aGUtcmVkLXlldGlcIjogJGZhLXZhci10aGUtcmVkLXlldGksXG4gIFwic3F1YXJlLWhhY2tlci1uZXdzXCI6ICRmYS12YXItc3F1YXJlLWhhY2tlci1uZXdzLFxuICBcImhhY2tlci1uZXdzLXNxdWFyZVwiOiAkZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZSxcbiAgXCJlZGdlXCI6ICRmYS12YXItZWRnZSxcbiAgXCJ0aHJlYWRzXCI6ICRmYS12YXItdGhyZWFkcyxcbiAgXCJuYXBzdGVyXCI6ICRmYS12YXItbmFwc3RlcixcbiAgXCJzcXVhcmUtc25hcGNoYXRcIjogJGZhLXZhci1zcXVhcmUtc25hcGNoYXQsXG4gIFwic25hcGNoYXQtc3F1YXJlXCI6ICRmYS12YXItc25hcGNoYXQtc3F1YXJlLFxuICBcImdvb2dsZS1wbHVzLWdcIjogJGZhLXZhci1nb29nbGUtcGx1cy1nLFxuICBcImFydHN0YXRpb25cIjogJGZhLXZhci1hcnRzdGF0aW9uLFxuICBcIm1hcmtkb3duXCI6ICRmYS12YXItbWFya2Rvd24sXG4gIFwic291cmNldHJlZVwiOiAkZmEtdmFyLXNvdXJjZXRyZWUsXG4gIFwiZ29vZ2xlLXBsdXNcIjogJGZhLXZhci1nb29nbGUtcGx1cyxcbiAgXCJkaWFzcG9yYVwiOiAkZmEtdmFyLWRpYXNwb3JhLFxuICBcImZvdXJzcXVhcmVcIjogJGZhLXZhci1mb3Vyc3F1YXJlLFxuICBcInN0YWNrLW92ZXJmbG93XCI6ICRmYS12YXItc3RhY2stb3ZlcmZsb3csXG4gIFwiZ2l0aHViLWFsdFwiOiAkZmEtdmFyLWdpdGh1Yi1hbHQsXG4gIFwicGhvZW5peC1zcXVhZHJvblwiOiAkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24sXG4gIFwicGFnZWxpbmVzXCI6ICRmYS12YXItcGFnZWxpbmVzLFxuICBcImFsZ29saWFcIjogJGZhLXZhci1hbGdvbGlhLFxuICBcInJlZC1yaXZlclwiOiAkZmEtdmFyLXJlZC1yaXZlcixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSxcbiAgXCJzYWZhcmlcIjogJGZhLXZhci1zYWZhcmksXG4gIFwiZ29vZ2xlXCI6ICRmYS12YXItZ29vZ2xlLFxuICBcInNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlXCI6ICRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2UsXG4gIFwiZm9udC1hd2Vzb21lLWFsdFwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQsXG4gIFwiYXRsYXNzaWFuXCI6ICRmYS12YXItYXRsYXNzaWFuLFxuICBcImxpbmtlZGluLWluXCI6ICRmYS12YXItbGlua2VkaW4taW4sXG4gIFwiZGlnaXRhbC1vY2VhblwiOiAkZmEtdmFyLWRpZ2l0YWwtb2NlYW4sXG4gIFwibmltYmxyXCI6ICRmYS12YXItbmltYmxyLFxuICBcImNocm9tZWNhc3RcIjogJGZhLXZhci1jaHJvbWVjYXN0LFxuICBcImV2ZXJub3RlXCI6ICRmYS12YXItZXZlcm5vdGUsXG4gIFwiaGFja2VyLW5ld3NcIjogJGZhLXZhci1oYWNrZXItbmV3cyxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyxcbiAgXCJhZHZlcnNhbFwiOiAkZmEtdmFyLWFkdmVyc2FsLFxuICBcImNyZWF0aXZlLWNvbW1vbnNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLFxuICBcIndhdGNobWFuLW1vbml0b3JpbmdcIjogJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nLFxuICBcImZvbnRpY29uc1wiOiAkZmEtdmFyLWZvbnRpY29ucyxcbiAgXCJ3ZWl4aW5cIjogJGZhLXZhci13ZWl4aW4sXG4gIFwic2hpcnRzaW5idWxrXCI6ICRmYS12YXItc2hpcnRzaW5idWxrLFxuICBcImNvZGVwZW5cIjogJGZhLXZhci1jb2RlcGVuLFxuICBcImdpdC1hbHRcIjogJGZhLXZhci1naXQtYWx0LFxuICBcImx5ZnRcIjogJGZhLXZhci1seWZ0LFxuICBcInJldlwiOiAkZmEtdmFyLXJldixcbiAgXCJ3aW5kb3dzXCI6ICRmYS12YXItd2luZG93cyxcbiAgXCJ3aXphcmRzLW9mLXRoZS1jb2FzdFwiOiAkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0LFxuICBcInNxdWFyZS12aWFkZW9cIjogJGZhLXZhci1zcXVhcmUtdmlhZGVvLFxuICBcInZpYWRlby1zcXVhcmVcIjogJGZhLXZhci12aWFkZW8tc3F1YXJlLFxuICBcIm1lZXR1cFwiOiAkZmEtdmFyLW1lZXR1cCxcbiAgXCJjZW50b3NcIjogJGZhLXZhci1jZW50b3MsXG4gIFwiYWRuXCI6ICRmYS12YXItYWRuLFxuICBcImNsb3Vkc21pdGhcIjogJGZhLXZhci1jbG91ZHNtaXRoLFxuICBcIm9wZW5zdXNlXCI6ICRmYS12YXItb3BlbnN1c2UsXG4gIFwicGllZC1waXBlci1hbHRcIjogJGZhLXZhci1waWVkLXBpcGVyLWFsdCxcbiAgXCJzcXVhcmUtZHJpYmJibGVcIjogJGZhLXZhci1zcXVhcmUtZHJpYmJibGUsXG4gIFwiZHJpYmJibGUtc3F1YXJlXCI6ICRmYS12YXItZHJpYmJibGUtc3F1YXJlLFxuICBcImNvZGllcGllXCI6ICRmYS12YXItY29kaWVwaWUsXG4gIFwibm9kZVwiOiAkZmEtdmFyLW5vZGUsXG4gIFwibWl4XCI6ICRmYS12YXItbWl4LFxuICBcInN0ZWFtXCI6ICRmYS12YXItc3RlYW0sXG4gIFwiY2MtYXBwbGUtcGF5XCI6ICRmYS12YXItY2MtYXBwbGUtcGF5LFxuICBcInNjcmliZFwiOiAkZmEtdmFyLXNjcmliZCxcbiAgXCJkZWJpYW5cIjogJGZhLXZhci1kZWJpYW4sXG4gIFwib3BlbmlkXCI6ICRmYS12YXItb3BlbmlkLFxuICBcImluc3RhbG9kXCI6ICRmYS12YXItaW5zdGFsb2QsXG4gIFwiZXhwZWRpdGVkc3NsXCI6ICRmYS12YXItZXhwZWRpdGVkc3NsLFxuICBcInNlbGxjYXN0XCI6ICRmYS12YXItc2VsbGNhc3QsXG4gIFwic3F1YXJlLXR3aXR0ZXJcIjogJGZhLXZhci1zcXVhcmUtdHdpdHRlcixcbiAgXCJ0d2l0dGVyLXNxdWFyZVwiOiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlLFxuICBcInItcHJvamVjdFwiOiAkZmEtdmFyLXItcHJvamVjdCxcbiAgXCJkZWxpY2lvdXNcIjogJGZhLXZhci1kZWxpY2lvdXMsXG4gIFwiZnJlZWJzZFwiOiAkZmEtdmFyLWZyZWVic2QsXG4gIFwidnVlanNcIjogJGZhLXZhci12dWVqcyxcbiAgXCJhY2N1c29mdFwiOiAkZmEtdmFyLWFjY3Vzb2Z0LFxuICBcImlveGhvc3RcIjogJGZhLXZhci1pb3hob3N0LFxuICBcImZvbnRpY29ucy1maVwiOiAkZmEtdmFyLWZvbnRpY29ucy1maSxcbiAgXCJhcHAtc3RvcmVcIjogJGZhLXZhci1hcHAtc3RvcmUsXG4gIFwiY2MtbWFzdGVyY2FyZFwiOiAkZmEtdmFyLWNjLW1hc3RlcmNhcmQsXG4gIFwiaXR1bmVzLW5vdGVcIjogJGZhLXZhci1pdHVuZXMtbm90ZSxcbiAgXCJnb2xhbmdcIjogJGZhLXZhci1nb2xhbmcsXG4gIFwia2lja3N0YXJ0ZXJcIjogJGZhLXZhci1raWNrc3RhcnRlcixcbiAgXCJncmF2XCI6ICRmYS12YXItZ3JhdixcbiAgXCJ3ZWlib1wiOiAkZmEtdmFyLXdlaWJvLFxuICBcInVuY2hhcnRlZFwiOiAkZmEtdmFyLXVuY2hhcnRlZCxcbiAgXCJmaXJzdGRyYWZ0XCI6ICRmYS12YXItZmlyc3RkcmFmdCxcbiAgXCJzcXVhcmUteW91dHViZVwiOiAkZmEtdmFyLXNxdWFyZS15b3V0dWJlLFxuICBcInlvdXR1YmUtc3F1YXJlXCI6ICRmYS12YXIteW91dHViZS1zcXVhcmUsXG4gIFwid2lraXBlZGlhLXdcIjogJGZhLXZhci13aWtpcGVkaWEtdyxcbiAgXCJ3cHJlc3NyXCI6ICRmYS12YXItd3ByZXNzcixcbiAgXCJyZW5kYWN0XCI6ICRmYS12YXItcmVuZGFjdCxcbiAgXCJhbmdlbGxpc3RcIjogJGZhLXZhci1hbmdlbGxpc3QsXG4gIFwiZ2FsYWN0aWMtcmVwdWJsaWNcIjogJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYyxcbiAgXCJuZmMtZGlyZWN0aW9uYWxcIjogJGZhLXZhci1uZmMtZGlyZWN0aW9uYWwsXG4gIFwic2t5cGVcIjogJGZhLXZhci1za3lwZSxcbiAgXCJqb2dldFwiOiAkZmEtdmFyLWpvZ2V0LFxuICBcImZlZG9yYVwiOiAkZmEtdmFyLWZlZG9yYSxcbiAgXCJzdHJpcGUtc1wiOiAkZmEtdmFyLXN0cmlwZS1zLFxuICBcIm1ldGFcIjogJGZhLXZhci1tZXRhLFxuICBcImxhcmF2ZWxcIjogJGZhLXZhci1sYXJhdmVsLFxuICBcImhvdGphclwiOiAkZmEtdmFyLWhvdGphcixcbiAgXCJibHVldG9vdGgtYlwiOiAkZmEtdmFyLWJsdWV0b290aC1iLFxuICBcInNxdWFyZS1sZXR0ZXJib3hkXCI6ICRmYS12YXItc3F1YXJlLWxldHRlcmJveGQsXG4gIFwic3RpY2tlci1tdWxlXCI6ICRmYS12YXItc3RpY2tlci1tdWxlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtemVyb1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybyxcbiAgXCJoaXBzXCI6ICRmYS12YXItaGlwcyxcbiAgXCJiZWhhbmNlXCI6ICRmYS12YXItYmVoYW5jZSxcbiAgXCJyZWRkaXRcIjogJGZhLXZhci1yZWRkaXQsXG4gIFwiZGlzY29yZFwiOiAkZmEtdmFyLWRpc2NvcmQsXG4gIFwiY2hyb21lXCI6ICRmYS12YXItY2hyb21lLFxuICBcImFwcC1zdG9yZS1pb3NcIjogJGZhLXZhci1hcHAtc3RvcmUtaW9zLFxuICBcImNjLWRpc2NvdmVyXCI6ICRmYS12YXItY2MtZGlzY292ZXIsXG4gIFwid3BiZWdpbm5lclwiOiAkZmEtdmFyLXdwYmVnaW5uZXIsXG4gIFwiY29uZmx1ZW5jZVwiOiAkZmEtdmFyLWNvbmZsdWVuY2UsXG4gIFwic2hvZWxhY2VcIjogJGZhLXZhci1zaG9lbGFjZSxcbiAgXCJtZGJcIjogJGZhLXZhci1tZGIsXG4gIFwiZG9jaHViXCI6ICRmYS12YXItZG9jaHViLFxuICBcImFjY2Vzc2libGUtaWNvblwiOiAkZmEtdmFyLWFjY2Vzc2libGUtaWNvbixcbiAgXCJlYmF5XCI6ICRmYS12YXItZWJheSxcbiAgXCJhbWF6b25cIjogJGZhLXZhci1hbWF6b24sXG4gIFwidW5zcGxhc2hcIjogJGZhLXZhci11bnNwbGFzaCxcbiAgXCJ5YXJuXCI6ICRmYS12YXIteWFybixcbiAgXCJzcXVhcmUtc3RlYW1cIjogJGZhLXZhci1zcXVhcmUtc3RlYW0sXG4gIFwic3RlYW0tc3F1YXJlXCI6ICRmYS12YXItc3RlYW0tc3F1YXJlLFxuICBcIjUwMHB4XCI6ICRmYS12YXItNTAwcHgsXG4gIFwic3F1YXJlLXZpbWVvXCI6ICRmYS12YXItc3F1YXJlLXZpbWVvLFxuICBcInZpbWVvLXNxdWFyZVwiOiAkZmEtdmFyLXZpbWVvLXNxdWFyZSxcbiAgXCJhc3ltbWV0cmlrXCI6ICRmYS12YXItYXN5bW1ldHJpayxcbiAgXCJmb250LWF3ZXNvbWVcIjogJGZhLXZhci1mb250LWF3ZXNvbWUsXG4gIFwiZm9udC1hd2Vzb21lLWZsYWdcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZyxcbiAgXCJmb250LWF3ZXNvbWUtbG9nby1mdWxsXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCxcbiAgXCJncmF0aXBheVwiOiAkZmEtdmFyLWdyYXRpcGF5LFxuICBcImFwcGxlXCI6ICRmYS12YXItYXBwbGUsXG4gIFwiaGl2ZVwiOiAkZmEtdmFyLWhpdmUsXG4gIFwiZ2l0a3Jha2VuXCI6ICRmYS12YXItZ2l0a3Jha2VuLFxuICBcImtleWJhc2VcIjogJGZhLXZhci1rZXliYXNlLFxuICBcImFwcGxlLXBheVwiOiAkZmEtdmFyLWFwcGxlLXBheSxcbiAgXCJwYWRsZXRcIjogJGZhLXZhci1wYWRsZXQsXG4gIFwiYW1hem9uLXBheVwiOiAkZmEtdmFyLWFtYXpvbi1wYXksXG4gIFwic3F1YXJlLWdpdGh1YlwiOiAkZmEtdmFyLXNxdWFyZS1naXRodWIsXG4gIFwiZ2l0aHViLXNxdWFyZVwiOiAkZmEtdmFyLWdpdGh1Yi1zcXVhcmUsXG4gIFwic3R1bWJsZXVwb25cIjogJGZhLXZhci1zdHVtYmxldXBvbixcbiAgXCJmZWRleFwiOiAkZmEtdmFyLWZlZGV4LFxuICBcInBob2VuaXgtZnJhbWV3b3JrXCI6ICRmYS12YXItcGhvZW5peC1mcmFtZXdvcmssXG4gIFwic2hvcGlmeVwiOiAkZmEtdmFyLXNob3BpZnksXG4gIFwibmVvc1wiOiAkZmEtdmFyLW5lb3MsXG4gIFwic3F1YXJlLXRocmVhZHNcIjogJGZhLXZhci1zcXVhcmUtdGhyZWFkcyxcbiAgXCJoYWNrZXJyYW5rXCI6ICRmYS12YXItaGFja2VycmFuayxcbiAgXCJyZXNlYXJjaGdhdGVcIjogJGZhLXZhci1yZXNlYXJjaGdhdGUsXG4gIFwic3dpZnRcIjogJGZhLXZhci1zd2lmdCxcbiAgXCJhbmd1bGFyXCI6ICRmYS12YXItYW5ndWxhcixcbiAgXCJzcGVha2FwXCI6ICRmYS12YXItc3BlYWthcCxcbiAgXCJhbmdyeWNyZWF0aXZlXCI6ICRmYS12YXItYW5ncnljcmVhdGl2ZSxcbiAgXCJ5LWNvbWJpbmF0b3JcIjogJGZhLXZhci15LWNvbWJpbmF0b3IsXG4gIFwiZW1waXJlXCI6ICRmYS12YXItZW1waXJlLFxuICBcImVudmlyYVwiOiAkZmEtdmFyLWVudmlyYSxcbiAgXCJnb29nbGUtc2Nob2xhclwiOiAkZmEtdmFyLWdvb2dsZS1zY2hvbGFyLFxuICBcInNxdWFyZS1naXRsYWJcIjogJGZhLXZhci1zcXVhcmUtZ2l0bGFiLFxuICBcImdpdGxhYi1zcXVhcmVcIjogJGZhLXZhci1naXRsYWItc3F1YXJlLFxuICBcInN0dWRpb3ZpbmFyaVwiOiAkZmEtdmFyLXN0dWRpb3ZpbmFyaSxcbiAgXCJwaWVkLXBpcGVyXCI6ICRmYS12YXItcGllZC1waXBlcixcbiAgXCJ3b3JkcHJlc3NcIjogJGZhLXZhci13b3JkcHJlc3MsXG4gIFwicHJvZHVjdC1odW50XCI6ICRmYS12YXItcHJvZHVjdC1odW50LFxuICBcImZpcmVmb3hcIjogJGZhLXZhci1maXJlZm94LFxuICBcImxpbm9kZVwiOiAkZmEtdmFyLWxpbm9kZSxcbiAgXCJnb29kcmVhZHNcIjogJGZhLXZhci1nb29kcmVhZHMsXG4gIFwic3F1YXJlLW9kbm9rbGFzc25pa2lcIjogJGZhLXZhci1zcXVhcmUtb2Rub2tsYXNzbmlraSxcbiAgXCJvZG5va2xhc3NuaWtpLXNxdWFyZVwiOiAkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlLFxuICBcImpzZmlkZGxlXCI6ICRmYS12YXItanNmaWRkbGUsXG4gIFwic2l0aFwiOiAkZmEtdmFyLXNpdGgsXG4gIFwidGhlbWVpc2xlXCI6ICRmYS12YXItdGhlbWVpc2xlLFxuICBcInBhZ2U0XCI6ICRmYS12YXItcGFnZTQsXG4gIFwiaGFzaG5vZGVcIjogJGZhLXZhci1oYXNobm9kZSxcbiAgXCJyZWFjdFwiOiAkZmEtdmFyLXJlYWN0LFxuICBcImNjLXBheXBhbFwiOiAkZmEtdmFyLWNjLXBheXBhbCxcbiAgXCJzcXVhcmVzcGFjZVwiOiAkZmEtdmFyLXNxdWFyZXNwYWNlLFxuICBcImNjLXN0cmlwZVwiOiAkZmEtdmFyLWNjLXN0cmlwZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNoYXJlXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZSxcbiAgXCJiaXRjb2luXCI6ICRmYS12YXItYml0Y29pbixcbiAgXCJrZXljZG5cIjogJGZhLXZhci1rZXljZG4sXG4gIFwib3BlcmFcIjogJGZhLXZhci1vcGVyYSxcbiAgXCJpdGNoLWlvXCI6ICRmYS12YXItaXRjaC1pbyxcbiAgXCJ1bWJyYWNvXCI6ICRmYS12YXItdW1icmFjbyxcbiAgXCJnYWxhY3RpYy1zZW5hdGVcIjogJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUsXG4gIFwidWJ1bnR1XCI6ICRmYS12YXItdWJ1bnR1LFxuICBcImRyYWZ0MmRpZ2l0YWxcIjogJGZhLXZhci1kcmFmdDJkaWdpdGFsLFxuICBcInN0cmlwZVwiOiAkZmEtdmFyLXN0cmlwZSxcbiAgXCJob3V6elwiOiAkZmEtdmFyLWhvdXp6LFxuICBcImdnXCI6ICRmYS12YXItZ2csXG4gIFwiZGhsXCI6ICRmYS12YXItZGhsLFxuICBcInNxdWFyZS1waW50ZXJlc3RcIjogJGZhLXZhci1zcXVhcmUtcGludGVyZXN0LFxuICBcInBpbnRlcmVzdC1zcXVhcmVcIjogJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlLFxuICBcInhpbmdcIjogJGZhLXZhci14aW5nLFxuICBcImJsYWNrYmVycnlcIjogJGZhLXZhci1ibGFja2JlcnJ5LFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcGRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLFxuICBcInBsYXlzdGF0aW9uXCI6ICRmYS12YXItcGxheXN0YXRpb24sXG4gIFwicXVpbnNjYXBlXCI6ICRmYS12YXItcXVpbnNjYXBlLFxuICBcImxlc3NcIjogJGZhLXZhci1sZXNzLFxuICBcImJsb2dnZXItYlwiOiAkZmEtdmFyLWJsb2dnZXItYixcbiAgXCJvcGVuY2FydFwiOiAkZmEtdmFyLW9wZW5jYXJ0LFxuICBcInZpbmVcIjogJGZhLXZhci12aW5lLFxuICBcInNpZ25hbC1tZXNzZW5nZXJcIjogJGZhLXZhci1zaWduYWwtbWVzc2VuZ2VyLFxuICBcInBheXBhbFwiOiAkZmEtdmFyLXBheXBhbCxcbiAgXCJnaXRsYWJcIjogJGZhLXZhci1naXRsYWIsXG4gIFwidHlwbzNcIjogJGZhLXZhci10eXBvMyxcbiAgXCJyZWRkaXQtYWxpZW5cIjogJGZhLXZhci1yZWRkaXQtYWxpZW4sXG4gIFwieWFob29cIjogJGZhLXZhci15YWhvbyxcbiAgXCJkYWlseW1vdGlvblwiOiAkZmEtdmFyLWRhaWx5bW90aW9uLFxuICBcImFmZmlsaWF0ZXRoZW1lXCI6ICRmYS12YXItYWZmaWxpYXRldGhlbWUsXG4gIFwicGllZC1waXBlci1wcFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItcHAsXG4gIFwiYm9vdHN0cmFwXCI6ICRmYS12YXItYm9vdHN0cmFwLFxuICBcIm9kbm9rbGFzc25pa2lcIjogJGZhLXZhci1vZG5va2xhc3NuaWtpLFxuICBcIm5mYy1zeW1ib2xcIjogJGZhLXZhci1uZmMtc3ltYm9sLFxuICBcIm1pbnRiaXRcIjogJGZhLXZhci1taW50Yml0LFxuICBcImV0aGVyZXVtXCI6ICRmYS12YXItZXRoZXJldW0sXG4gIFwic3BlYWtlci1kZWNrXCI6ICRmYS12YXItc3BlYWtlci1kZWNrLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmMtZXVcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1LFxuICBcInBhdHJlb25cIjogJGZhLXZhci1wYXRyZW9uLFxuICBcImF2aWFuZXhcIjogJGZhLXZhci1hdmlhbmV4LFxuICBcImVsbG9cIjogJGZhLXZhci1lbGxvLFxuICBcImdvZm9yZVwiOiAkZmEtdmFyLWdvZm9yZSxcbiAgXCJiaW1vYmplY3RcIjogJGZhLXZhci1iaW1vYmplY3QsXG4gIFwiYnJhdmUtcmV2ZXJzZVwiOiAkZmEtdmFyLWJyYXZlLXJldmVyc2UsXG4gIFwiZmFjZWJvb2stZlwiOiAkZmEtdmFyLWZhY2Vib29rLWYsXG4gIFwic3F1YXJlLWdvb2dsZS1wbHVzXCI6ICRmYS12YXItc3F1YXJlLWdvb2dsZS1wbHVzLFxuICBcImdvb2dsZS1wbHVzLXNxdWFyZVwiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZSxcbiAgXCJtYW5kYWxvcmlhblwiOiAkZmEtdmFyLW1hbmRhbG9yaWFuLFxuICBcImZpcnN0LW9yZGVyLWFsdFwiOiAkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCxcbiAgXCJvc2lcIjogJGZhLXZhci1vc2ksXG4gIFwiZ29vZ2xlLXdhbGxldFwiOiAkZmEtdmFyLWdvb2dsZS13YWxsZXQsXG4gIFwiZC1hbmQtZC1iZXlvbmRcIjogJGZhLXZhci1kLWFuZC1kLWJleW9uZCxcbiAgXCJwZXJpc2NvcGVcIjogJGZhLXZhci1wZXJpc2NvcGUsXG4gIFwiZnVsY3J1bVwiOiAkZmEtdmFyLWZ1bGNydW0sXG4gIFwiY2xvdWRzY2FsZVwiOiAkZmEtdmFyLWNsb3Vkc2NhbGUsXG4gIFwiZm9ydW1iZWVcIjogJGZhLXZhci1mb3J1bWJlZSxcbiAgXCJtaXp1bmlcIjogJGZhLXZhci1taXp1bmksXG4gIFwic2NobGl4XCI6ICRmYS12YXItc2NobGl4LFxuICBcInNxdWFyZS14aW5nXCI6ICRmYS12YXItc3F1YXJlLXhpbmcsXG4gIFwieGluZy1zcXVhcmVcIjogJGZhLXZhci14aW5nLXNxdWFyZSxcbiAgXCJiYW5kY2FtcFwiOiAkZmEtdmFyLWJhbmRjYW1wLFxuICBcIndwZm9ybXNcIjogJGZhLXZhci13cGZvcm1zLFxuICBcImNsb3VkdmVyc2lmeVwiOiAkZmEtdmFyLWNsb3VkdmVyc2lmeSxcbiAgXCJ1c3BzXCI6ICRmYS12YXItdXNwcyxcbiAgXCJtZWdhcG9ydFwiOiAkZmEtdmFyLW1lZ2Fwb3J0LFxuICBcIm1hZ2VudG9cIjogJGZhLXZhci1tYWdlbnRvLFxuICBcInNwb3RpZnlcIjogJGZhLXZhci1zcG90aWZ5LFxuICBcIm9wdGluLW1vbnN0ZXJcIjogJGZhLXZhci1vcHRpbi1tb25zdGVyLFxuICBcImZseVwiOiAkZmEtdmFyLWZseSxcbiAgXCJhdmlhdG9cIjogJGZhLXZhci1hdmlhdG8sXG4gIFwiaXR1bmVzXCI6ICRmYS12YXItaXR1bmVzLFxuICBcImN1dHRsZWZpc2hcIjogJGZhLXZhci1jdXR0bGVmaXNoLFxuICBcImJsb2dnZXJcIjogJGZhLXZhci1ibG9nZ2VyLFxuICBcImZsaWNrclwiOiAkZmEtdmFyLWZsaWNrcixcbiAgXCJ2aWJlclwiOiAkZmEtdmFyLXZpYmVyLFxuICBcInNvdW5kY2xvdWRcIjogJGZhLXZhci1zb3VuZGNsb3VkLFxuICBcImRpZ2dcIjogJGZhLXZhci1kaWdnLFxuICBcInRlbmNlbnQtd2VpYm9cIjogJGZhLXZhci10ZW5jZW50LXdlaWJvLFxuICBcImxldHRlcmJveGRcIjogJGZhLXZhci1sZXR0ZXJib3hkLFxuICBcInN5bWZvbnlcIjogJGZhLXZhci1zeW1mb255LFxuICBcIm1heGNkblwiOiAkZmEtdmFyLW1heGNkbixcbiAgXCJldHN5XCI6ICRmYS12YXItZXRzeSxcbiAgXCJmYWNlYm9vay1tZXNzZW5nZXJcIjogJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIsXG4gIFwiYXVkaWJsZVwiOiAkZmEtdmFyLWF1ZGlibGUsXG4gIFwidGhpbmstcGVha3NcIjogJGZhLXZhci10aGluay1wZWFrcyxcbiAgXCJiaWxpYmlsaVwiOiAkZmEtdmFyLWJpbGliaWxpLFxuICBcImVybGFuZ1wiOiAkZmEtdmFyLWVybGFuZyxcbiAgXCJ4LXR3aXR0ZXJcIjogJGZhLXZhci14LXR3aXR0ZXIsXG4gIFwiY290dG9uLWJ1cmVhdVwiOiAkZmEtdmFyLWNvdHRvbi1idXJlYXUsXG4gIFwiZGFzaGN1YmVcIjogJGZhLXZhci1kYXNoY3ViZSxcbiAgXCI0Mi1ncm91cFwiOiAkZmEtdmFyLTQyLWdyb3VwLFxuICBcImlubm9zb2Z0XCI6ICRmYS12YXItaW5ub3NvZnQsXG4gIFwic3RhY2stZXhjaGFuZ2VcIjogJGZhLXZhci1zdGFjay1leGNoYW5nZSxcbiAgXCJlbGVtZW50b3JcIjogJGZhLXZhci1lbGVtZW50b3IsXG4gIFwic3F1YXJlLXBpZWQtcGlwZXJcIjogJGZhLXZhci1zcXVhcmUtcGllZC1waXBlcixcbiAgXCJwaWVkLXBpcGVyLXNxdWFyZVwiOiAkZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kLFxuICBcInBhbGZlZFwiOiAkZmEtdmFyLXBhbGZlZCxcbiAgXCJzdXBlcnBvd2Vyc1wiOiAkZmEtdmFyLXN1cGVycG93ZXJzLFxuICBcInJlc29sdmluZ1wiOiAkZmEtdmFyLXJlc29sdmluZyxcbiAgXCJ4Ym94XCI6ICRmYS12YXIteGJveCxcbiAgXCJzZWFyY2hlbmdpblwiOiAkZmEtdmFyLXNlYXJjaGVuZ2luLFxuICBcInRpa3Rva1wiOiAkZmEtdmFyLXRpa3RvayxcbiAgXCJzcXVhcmUtZmFjZWJvb2tcIjogJGZhLXZhci1zcXVhcmUtZmFjZWJvb2ssXG4gIFwiZmFjZWJvb2stc3F1YXJlXCI6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlLFxuICBcInJlbnJlblwiOiAkZmEtdmFyLXJlbnJlbixcbiAgXCJsaW51eFwiOiAkZmEtdmFyLWxpbnV4LFxuICBcImdsaWRlXCI6ICRmYS12YXItZ2xpZGUsXG4gIFwibGlua2VkaW5cIjogJGZhLXZhci1saW5rZWRpbixcbiAgXCJodWJzcG90XCI6ICRmYS12YXItaHVic3BvdCxcbiAgXCJkZXBsb3lkb2dcIjogJGZhLXZhci1kZXBsb3lkb2csXG4gIFwidHdpdGNoXCI6ICRmYS12YXItdHdpdGNoLFxuICBcInJhdmVscnlcIjogJGZhLXZhci1yYXZlbHJ5LFxuICBcIm1peGVyXCI6ICRmYS12YXItbWl4ZXIsXG4gIFwic3F1YXJlLWxhc3RmbVwiOiAkZmEtdmFyLXNxdWFyZS1sYXN0Zm0sXG4gIFwibGFzdGZtLXNxdWFyZVwiOiAkZmEtdmFyLWxhc3RmbS1zcXVhcmUsXG4gIFwidmltZW9cIjogJGZhLXZhci12aW1lbyxcbiAgXCJtZW5kZWxleVwiOiAkZmEtdmFyLW1lbmRlbGV5LFxuICBcInVuaXJlZ2lzdHJ5XCI6ICRmYS12YXItdW5pcmVnaXN0cnksXG4gIFwiZmlnbWFcIjogJGZhLXZhci1maWdtYSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXJlbWl4XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peCxcbiAgXCJjYy1hbWF6b24tcGF5XCI6ICRmYS12YXItY2MtYW1hem9uLXBheSxcbiAgXCJkcm9wYm94XCI6ICRmYS12YXItZHJvcGJveCxcbiAgXCJpbnN0YWdyYW1cIjogJGZhLXZhci1pbnN0YWdyYW0sXG4gIFwiY21wbGlkXCI6ICRmYS12YXItY21wbGlkLFxuICBcInVwd29ya1wiOiAkZmEtdmFyLXVwd29yayxcbiAgXCJmYWNlYm9va1wiOiAkZmEtdmFyLWZhY2Vib29rLFxuICBcImdyaXBmaXJlXCI6ICRmYS12YXItZ3JpcGZpcmUsXG4gIFwiamVkaS1vcmRlclwiOiAkZmEtdmFyLWplZGktb3JkZXIsXG4gIFwidWlraXRcIjogJGZhLXZhci11aWtpdCxcbiAgXCJmb3J0LWF3ZXNvbWUtYWx0XCI6ICRmYS12YXItZm9ydC1hd2Vzb21lLWFsdCxcbiAgXCJwaGFicmljYXRvclwiOiAkZmEtdmFyLXBoYWJyaWNhdG9yLFxuICBcInVzc3VubmFoXCI6ICRmYS12YXItdXNzdW5uYWgsXG4gIFwiZWFybHliaXJkc1wiOiAkZmEtdmFyLWVhcmx5YmlyZHMsXG4gIFwidHJhZGUtZmVkZXJhdGlvblwiOiAkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24sXG4gIFwiYXV0b3ByZWZpeGVyXCI6ICRmYS12YXItYXV0b3ByZWZpeGVyLFxuICBcIndoYXRzYXBwXCI6ICRmYS12YXItd2hhdHNhcHAsXG4gIFwic2xpZGVzaGFyZVwiOiAkZmEtdmFyLXNsaWRlc2hhcmUsXG4gIFwiZ29vZ2xlLXBsYXlcIjogJGZhLXZhci1nb29nbGUtcGxheSxcbiAgXCJ2aWFkZW9cIjogJGZhLXZhci12aWFkZW8sXG4gIFwibGluZVwiOiAkZmEtdmFyLWxpbmUsXG4gIFwiZ29vZ2xlLWRyaXZlXCI6ICRmYS12YXItZ29vZ2xlLWRyaXZlLFxuICBcInNlcnZpY2VzdGFja1wiOiAkZmEtdmFyLXNlcnZpY2VzdGFjayxcbiAgXCJzaW1wbHlidWlsdFwiOiAkZmEtdmFyLXNpbXBseWJ1aWx0LFxuICBcImJpdGJ1Y2tldFwiOiAkZmEtdmFyLWJpdGJ1Y2tldCxcbiAgXCJpbWRiXCI6ICRmYS12YXItaW1kYixcbiAgXCJkZWV6ZXJcIjogJGZhLXZhci1kZWV6ZXIsXG4gIFwicmFzcGJlcnJ5LXBpXCI6ICRmYS12YXItcmFzcGJlcnJ5LXBpLFxuICBcImppcmFcIjogJGZhLXZhci1qaXJhLFxuICBcImRvY2tlclwiOiAkZmEtdmFyLWRvY2tlcixcbiAgXCJzY3JlZW5wYWxcIjogJGZhLXZhci1zY3JlZW5wYWwsXG4gIFwiYmx1ZXRvb3RoXCI6ICRmYS12YXItYmx1ZXRvb3RoLFxuICBcImdpdHRlclwiOiAkZmEtdmFyLWdpdHRlcixcbiAgXCJkLWFuZC1kXCI6ICRmYS12YXItZC1hbmQtZCxcbiAgXCJtaWNyb2Jsb2dcIjogJGZhLXZhci1taWNyb2Jsb2csXG4gIFwiY2MtZGluZXJzLWNsdWJcIjogJGZhLXZhci1jYy1kaW5lcnMtY2x1YixcbiAgXCJnZy1jaXJjbGVcIjogJGZhLXZhci1nZy1jaXJjbGUsXG4gIFwicGllZC1waXBlci1oYXRcIjogJGZhLXZhci1waWVkLXBpcGVyLWhhdCxcbiAgXCJraWNrc3RhcnRlci1rXCI6ICRmYS12YXIta2lja3N0YXJ0ZXItayxcbiAgXCJ5YW5kZXhcIjogJGZhLXZhci15YW5kZXgsXG4gIFwicmVhZG1lXCI6ICRmYS12YXItcmVhZG1lLFxuICBcImh0bWw1XCI6ICRmYS12YXItaHRtbDUsXG4gIFwic2VsbHN5XCI6ICRmYS12YXItc2VsbHN5LFxuICBcInNhc3NcIjogJGZhLXZhci1zYXNzLFxuICBcIndpcnNpbmRoYW5kd2Vya1wiOiAkZmEtdmFyLXdpcnNpbmRoYW5kd2VyayxcbiAgXCJ3c2hcIjogJGZhLXZhci13c2gsXG4gIFwiYnVyb21vYmVsZXhwZXJ0ZVwiOiAkZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGUsXG4gIFwic2FsZXNmb3JjZVwiOiAkZmEtdmFyLXNhbGVzZm9yY2UsXG4gIFwib2N0b3B1cy1kZXBsb3lcIjogJGZhLXZhci1vY3RvcHVzLWRlcGxveSxcbiAgXCJtZWRhcHBzXCI6ICRmYS12YXItbWVkYXBwcyxcbiAgXCJuczhcIjogJGZhLXZhci1uczgsXG4gIFwicGludGVyZXN0LXBcIjogJGZhLXZhci1waW50ZXJlc3QtcCxcbiAgXCJhcHBlclwiOiAkZmEtdmFyLWFwcGVyLFxuICBcImZvcnQtYXdlc29tZVwiOiAkZmEtdmFyLWZvcnQtYXdlc29tZSxcbiAgXCJ3YXplXCI6ICRmYS12YXItd2F6ZSxcbiAgXCJjYy1qY2JcIjogJGZhLXZhci1jYy1qY2IsXG4gIFwic25hcGNoYXRcIjogJGZhLXZhci1zbmFwY2hhdCxcbiAgXCJzbmFwY2hhdC1naG9zdFwiOiAkZmEtdmFyLXNuYXBjaGF0LWdob3N0LFxuICBcImZhbnRhc3ktZmxpZ2h0LWdhbWVzXCI6ICRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXMsXG4gIFwicnVzdFwiOiAkZmEtdmFyLXJ1c3QsXG4gIFwid2l4XCI6ICRmYS12YXItd2l4LFxuICBcInNxdWFyZS1iZWhhbmNlXCI6ICRmYS12YXItc3F1YXJlLWJlaGFuY2UsXG4gIFwiYmVoYW5jZS1zcXVhcmVcIjogJGZhLXZhci1iZWhhbmNlLXNxdWFyZSxcbiAgXCJzdXBwbGVcIjogJGZhLXZhci1zdXBwbGUsXG4gIFwid2ViZmxvd1wiOiAkZmEtdmFyLXdlYmZsb3csXG4gIFwicmViZWxcIjogJGZhLXZhci1yZWJlbCxcbiAgXCJjc3MzXCI6ICRmYS12YXItY3NzMyxcbiAgXCJzdGF5bGlua2VkXCI6ICRmYS12YXItc3RheWxpbmtlZCxcbiAgXCJrYWdnbGVcIjogJGZhLXZhci1rYWdnbGUsXG4gIFwic3BhY2UtYXdlc29tZVwiOiAkZmEtdmFyLXNwYWNlLWF3ZXNvbWUsXG4gIFwiZGV2aWFudGFydFwiOiAkZmEtdmFyLWRldmlhbnRhcnQsXG4gIFwiY3BhbmVsXCI6ICRmYS12YXItY3BhbmVsLFxuICBcImdvb2RyZWFkcy1nXCI6ICRmYS12YXItZ29vZHJlYWRzLWcsXG4gIFwic3F1YXJlLWdpdFwiOiAkZmEtdmFyLXNxdWFyZS1naXQsXG4gIFwiZ2l0LXNxdWFyZVwiOiAkZmEtdmFyLWdpdC1zcXVhcmUsXG4gIFwic3F1YXJlLXR1bWJsclwiOiAkZmEtdmFyLXNxdWFyZS10dW1ibHIsXG4gIFwidHVtYmxyLXNxdWFyZVwiOiAkZmEtdmFyLXR1bWJsci1zcXVhcmUsXG4gIFwidHJlbGxvXCI6ICRmYS12YXItdHJlbGxvLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmMtanBcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwLFxuICBcImdldC1wb2NrZXRcIjogJGZhLXZhci1nZXQtcG9ja2V0LFxuICBcInBlcmJ5dGVcIjogJGZhLXZhci1wZXJieXRlLFxuICBcImdydW50XCI6ICRmYS12YXItZ3J1bnQsXG4gIFwid2VlYmx5XCI6ICRmYS12YXItd2VlYmx5LFxuICBcImNvbm5lY3RkZXZlbG9wXCI6ICRmYS12YXItY29ubmVjdGRldmVsb3AsXG4gIFwibGVhbnB1YlwiOiAkZmEtdmFyLWxlYW5wdWIsXG4gIFwiYmxhY2stdGllXCI6ICRmYS12YXItYmxhY2stdGllLFxuICBcInRoZW1lY29cIjogJGZhLXZhci10aGVtZWNvLFxuICBcInB5dGhvblwiOiAkZmEtdmFyLXB5dGhvbixcbiAgXCJhbmRyb2lkXCI6ICRmYS12YXItYW5kcm9pZCxcbiAgXCJib3RzXCI6ICRmYS12YXItYm90cyxcbiAgXCJmcmVlLWNvZGUtY2FtcFwiOiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wLFxuICBcImhvcm5iaWxsXCI6ICRmYS12YXItaG9ybmJpbGwsXG4gIFwianNcIjogJGZhLXZhci1qcyxcbiAgXCJpZGVhbFwiOiAkZmEtdmFyLWlkZWFsLFxuICBcImdpdFwiOiAkZmEtdmFyLWdpdCxcbiAgXCJkZXZcIjogJGZhLXZhci1kZXYsXG4gIFwic2tldGNoXCI6ICRmYS12YXItc2tldGNoLFxuICBcInlhbmRleC1pbnRlcm5hdGlvbmFsXCI6ICRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwsXG4gIFwiY2MtYW1leFwiOiAkZmEtdmFyLWNjLWFtZXgsXG4gIFwidWJlclwiOiAkZmEtdmFyLXViZXIsXG4gIFwiZ2l0aHViXCI6ICRmYS12YXItZ2l0aHViLFxuICBcInBocFwiOiAkZmEtdmFyLXBocCxcbiAgXCJhbGlwYXlcIjogJGZhLXZhci1hbGlwYXksXG4gIFwieW91dHViZVwiOiAkZmEtdmFyLXlvdXR1YmUsXG4gIFwic2t5YXRsYXNcIjogJGZhLXZhci1za3lhdGxhcyxcbiAgXCJmaXJlZm94LWJyb3dzZXJcIjogJGZhLXZhci1maXJlZm94LWJyb3dzZXIsXG4gIFwicmVwbHlkXCI6ICRmYS12YXItcmVwbHlkLFxuICBcInN1c2VcIjogJGZhLXZhci1zdXNlLFxuICBcImplbmtpbnNcIjogJGZhLXZhci1qZW5raW5zLFxuICBcInR3aXR0ZXJcIjogJGZhLXZhci10d2l0dGVyLFxuICBcInJvY2tybXNcIjogJGZhLXZhci1yb2Nrcm1zLFxuICBcInBpbnRlcmVzdFwiOiAkZmEtdmFyLXBpbnRlcmVzdCxcbiAgXCJidWZmZXJcIjogJGZhLXZhci1idWZmZXIsXG4gIFwibnBtXCI6ICRmYS12YXItbnBtLFxuICBcInlhbW1lclwiOiAkZmEtdmFyLXlhbW1lcixcbiAgXCJidGNcIjogJGZhLXZhci1idGMsXG4gIFwiZHJpYmJibGVcIjogJGZhLXZhci1kcmliYmJsZSxcbiAgXCJzdHVtYmxldXBvbi1jaXJjbGVcIjogJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGUsXG4gIFwiaW50ZXJuZXQtZXhwbG9yZXJcIjogJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcixcbiAgXCJzdHViYmVyXCI6ICRmYS12YXItc3R1YmJlcixcbiAgXCJ0ZWxlZ3JhbVwiOiAkZmEtdmFyLXRlbGVncmFtLFxuICBcInRlbGVncmFtLXBsYW5lXCI6ICRmYS12YXItdGVsZWdyYW0tcGxhbmUsXG4gIFwib2xkLXJlcHVibGljXCI6ICRmYS12YXItb2xkLXJlcHVibGljLFxuICBcIm9keXNlZVwiOiAkZmEtdmFyLW9keXNlZSxcbiAgXCJzcXVhcmUtd2hhdHNhcHBcIjogJGZhLXZhci1zcXVhcmUtd2hhdHNhcHAsXG4gIFwid2hhdHNhcHAtc3F1YXJlXCI6ICRmYS12YXItd2hhdHNhcHAtc3F1YXJlLFxuICBcIm5vZGUtanNcIjogJGZhLXZhci1ub2RlLWpzLFxuICBcImVkZ2UtbGVnYWN5XCI6ICRmYS12YXItZWRnZS1sZWdhY3ksXG4gIFwic2xhY2tcIjogJGZhLXZhci1zbGFjayxcbiAgXCJzbGFjay1oYXNoXCI6ICRmYS12YXItc2xhY2staGFzaCxcbiAgXCJtZWRydFwiOiAkZmEtdmFyLW1lZHJ0LFxuICBcInVzYlwiOiAkZmEtdmFyLXVzYixcbiAgXCJ0dW1ibHJcIjogJGZhLXZhci10dW1ibHIsXG4gIFwidmFhZGluXCI6ICRmYS12YXItdmFhZGluLFxuICBcInF1b3JhXCI6ICRmYS12YXItcXVvcmEsXG4gIFwic3F1YXJlLXgtdHdpdHRlclwiOiAkZmEtdmFyLXNxdWFyZS14LXR3aXR0ZXIsXG4gIFwicmVhY3RldXJvcGVcIjogJGZhLXZhci1yZWFjdGV1cm9wZSxcbiAgXCJtZWRpdW1cIjogJGZhLXZhci1tZWRpdW0sXG4gIFwibWVkaXVtLW1cIjogJGZhLXZhci1tZWRpdW0tbSxcbiAgXCJhbWlsaWFcIjogJGZhLXZhci1hbWlsaWEsXG4gIFwibWl4Y2xvdWRcIjogJGZhLXZhci1taXhjbG91ZCxcbiAgXCJmbGlwYm9hcmRcIjogJGZhLXZhci1mbGlwYm9hcmQsXG4gIFwidmlhY29pblwiOiAkZmEtdmFyLXZpYWNvaW4sXG4gIFwiY3JpdGljYWwtcm9sZVwiOiAkZmEtdmFyLWNyaXRpY2FsLXJvbGUsXG4gIFwic2l0cm94XCI6ICRmYS12YXItc2l0cm94LFxuICBcImRpc2NvdXJzZVwiOiAkZmEtdmFyLWRpc2NvdXJzZSxcbiAgXCJqb29tbGFcIjogJGZhLXZhci1qb29tbGEsXG4gIFwibWFzdG9kb25cIjogJGZhLXZhci1tYXN0b2RvbixcbiAgXCJhaXJibmJcIjogJGZhLXZhci1haXJibmIsXG4gIFwid29sZi1wYWNrLWJhdHRhbGlvblwiOiAkZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb24sXG4gIFwiYnV5LW4tbGFyZ2VcIjogJGZhLXZhci1idXktbi1sYXJnZSxcbiAgXCJndWxwXCI6ICRmYS12YXItZ3VscCxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMsXG4gIFwic3RyYXZhXCI6ICRmYS12YXItc3RyYXZhLFxuICBcImVtYmVyXCI6ICRmYS12YXItZW1iZXIsXG4gIFwiY2FuYWRpYW4tbWFwbGUtbGVhZlwiOiAkZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWYsXG4gIFwidGVhbXNwZWFrXCI6ICRmYS12YXItdGVhbXNwZWFrLFxuICBcInB1c2hlZFwiOiAkZmEtdmFyLXB1c2hlZCxcbiAgXCJ3b3JkcHJlc3Mtc2ltcGxlXCI6ICRmYS12YXItd29yZHByZXNzLXNpbXBsZSxcbiAgXCJudXRyaXRpb25peFwiOiAkZmEtdmFyLW51dHJpdGlvbml4LFxuICBcIndvZHVcIjogJGZhLXZhci13b2R1LFxuICBcImdvb2dsZS1wYXlcIjogJGZhLXZhci1nb29nbGUtcGF5LFxuICBcImludGVyY29tXCI6ICRmYS12YXItaW50ZXJjb20sXG4gIFwiemhpaHVcIjogJGZhLXZhci16aGlodSxcbiAgXCJrb3J2dWVcIjogJGZhLXZhci1rb3J2dWUsXG4gIFwicGl4XCI6ICRmYS12YXItcGl4LFxuICBcInN0ZWFtLXN5bWJvbFwiOiAkZmEtdmFyLXN0ZWFtLXN5bWJvbCxcbik7XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnI3sgJGZhLXN0eWxlLWZhbWlseSB9JztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhcixcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFzLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiIsIi8vIEhvbGRzIGFsbCBvZiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHRlbXBsYXRlLCB0aGVzZSB2YXJpYWJsZXMgYWxzbyBnZXQgaW5qZWN0ZWQgaW50byBmb3VuZGF0aW9uJ3Mgc2V0dGluZ3MuXHJcbi8vIFVzZWQgZm9yIGNvbnN0cnVjdGluZyB1cmxzLlxyXG4kc2l0ZTogJycgIWRlZmF1bHQ7IFxyXG5cclxuXHJcblxyXG5AaWYgJGRlYnVnIHtcclxuICAgIEBkZWJ1ZyBDb21waWxpbmcgc2FzcyBmb3IgJHNpdGUgO1xyXG59XHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcywgdGhpcyBpcyBteSBpbnRpaWFsIGF0dGVtcHQgYXQgbWFraW5nIHN1cmUgaG92ZXIgYmFja2dyb3VuZCBzdGF0ZXMgZG9udCBjb25mbGljdCB3aXRoIHRoZSB0ZXh0IGNvbG91ci5cclxuJGNvbnRyYWN0LWNoZWNrZXItY29sb3VyLWZhbGxiYWNrczogJGNvbG91cjEsICRjb2xvdXIyLCAkY29sb3VyMywgJGNvbG91cjQsICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBEZXNjcmVhc2UgaWYgeW91IHdhbnQgbGVzcyBzZW5zaXRpdml0eSBidXQgY29udGVudCBtYXkgYmVjb21lIGlsbGVnaWJsZS5cclxuJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkOiAyLjIgIWRlZmF1bHQ7XHJcbi8vIEFkZGVkIGJvcmRlciByYWRpdXMgdG8gdGhpbmdzIGxpa2UgYnV0dG9ucyArIG5hdmlnYXRpb24uXHJcbiRzbW9vdGgtZWRnZXMtZW5hYmxlZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzbW9vdGgtZWRnZXMtbGV2ZWw6IDE1cHggIWRlZmF1bHQ7XHJcbi8vIEdsb2JhbCBJbWFnZSBzZXR0aW5ncyAoIExpc3RpbmcgcGFnZXMgJiB0YWJsZXMgKS5cclxuJHRhYmxlLWltYWdlLXNpemU6IDEzMnB4ICFkZWZhdWx0O1xyXG4kZ3JpZC1pbWFnZS1zaXplOiAyMzBweCAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLy8gLS0tLS0gR2xvYmFsIFBhZ2UgU2V0dGluZ3MgLS0tLS0gXHJcbi8vIENvbnRhaW5lZCBjb250ZW50IG1heCB3aWR0aC5cclxuJGdsb2JhbC13aWR0aDogMTMwMHB4ICFkZWZhdWx0O1xyXG4vLyBVbmNvbnRhaW5lZCBjb250ZW50IG1heCB3aWR0aCAoIGkuZSBmdWxsIHdpZHRoICkgdGhpcyBpcyBleGNsdWRpbmcgYW55dGhpbmcgb3V0c2lkZSBvZiBhIC5ncmlkLXggKCBlLmcgc3RpY2sgZWxlbWVudHMsIDxoZWFkZXI+LCA8Zm9vdGVyPiApIGtlZXAgaW4gbWluZCAyayAmIDRrIG1vbml0b3JzIHdoZW4gYWRqdXN0aW5nIHRoaXMuXHJcbiRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDE5MjBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFhZIEdyaWRcclxuJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gTWFpbiArIGZvb3RlciBzZXR0aW5ncy5cclxuJHBhZ2UtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFR5cG9ncmFwaHkgLS0tLS0gXHJcbiRib2R5LWZvbnQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGJvZHktZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIikgIWRlZmF1bHQ7XHJcbiRib2R5LWNvcHktbWF4LXdpZHRoOiA4NTBweCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDsgXHJcbiRkZWZhdWx0LXVubGluZS1jb2xvdXJzOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0OyAvLyBIYW5kbGVzIHdlaWdodCBmb3IgbGFiZWwgKyB2YWx1ZSBwYWlyICggaS5lIHRhYmxlcyBtb2JpbGUsIHZpZXcgb3JkZXIgc3VtbWFyeSBwYW5lcyApXHJcbiRjb21tb24tcnVsZS1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRjb21tb24tcnVsZS13ZWlnaHQ6IDFweCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRpbmdzIC0tLVxyXG4kaGVhZGluZy1ydWxlLWNvbG91cjogJGNvbW1vbi1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7IC8vIElmIHVzaW5nIGEgZGlmZmVyZW50IGZvbnQgZm9yIGhlYWRpbmdzIHRoZW4geW91IG1heSBuZWVkIHRvIGFkanVzdCB0aGUgbGluZS1oZWlnaHQuXHJcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kcGFnZS1oZWFkaW5nLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0OiAkY29tbW9uLXJ1bGUtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLW1hcmdpbjogMCAwIDI1cHggIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXJ1bGUtY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAyNSxcclxuICAgIHByZXNldC0yOiAzMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXVuZGVybGluZTogKFxyXG4gICAgcHJlc2V0LTE6ICRwYWdlLWhlYWRpbmctdW5kZXJsaW5lLFxyXG4gICAgcHJlc2V0LTI6ICRwYWdlLWhlYWRpbmctdW5kZXJsaW5lXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBwcmVzZXQtMTogNjAwLFxyXG4gICAgcHJlc2V0LTI6IDMwMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXRleHQtYWxpZ246IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybTogKCBcclxuICAgIHByZXNldC0xOiBub25lLFxyXG4gICAgcHJlc2V0LTI6IG5vbmVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBwcmVzZXQtMTogMCxcclxuICAgIHByZXNldC0yOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMjAsXHJcbiAgICBwcmVzZXQtMjogMjAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDE4XHJcbikgICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC13ZWlnaHQ6IChcclxuICAgIHByZXNldC0xOiA3MDAsXHJcbiAgICBwcmVzZXQtMjogNzAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMjogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbTogMCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IHJnYmEoJGNvbG91cjQtMSwgMC4xKSxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAkY29sb3VyNC02XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogKDAgMCAyNXB4LCAwIDAgNTBweCksXHJcbiAgICBwcmVzZXQtMjogKDAsIDApLFxyXG4gICAgcHJlc2V0LTM6IDAgMCAyMHB4LFxyXG4gICAgcHJlc2V0LTQ6ICgwIDAgMTVweCwgMCAwIDUwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDE1cHggMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogbm9uZSxcclxuICAgIHByZXNldC0yOiBub25lLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpLFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXRleHQtYWxpZ246IChcclxuICAgIHByZXNldC0xOiBjZW50ZXIsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKVxyXG4pO1xyXG4kaGVhZGluZy0yLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0zOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtNDogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItd29yZC1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTI6IG5vcm1hbCxcclxuICAgIHByZXNldC0zOiBub3JtYWxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1saW5lLWhlaWdodDogaWYoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0LCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCwxLjUpICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpLFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMylcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNjAwLFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm06IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0zKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6IDAsXHJcbiAgICBwcmVzZXQtMjogMCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0xKSxcclxuICAgIHByZXNldC0yOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRpbmctNS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGluZy02LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCdWxsZXQgcG9pbmR0cyAtLS1cclxuJGJ1bGxldC1zaXplOiA1cHggIWRlZmF1bHQ7XHJcbiRidWxsZXQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJ1bGxldC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhcmFncmFwaCAtLS0gXHJcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tLSBQcmljZSAtLS1cclxuJHByaWNlLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcmljZS1saXN0LWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kcHJpY2UtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByaWNlLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vICRwcmljZS1mb250LXdlaWdodCBpcyB0aGUgb2xkIHZhcmlhYmxlIHdlIHVzZWQgdGlsbCB3ZSBuZWVkZWQgdG8gc3BsaXQgdmFsdWUgd2l0aCBsYWJlbC5cclxuJHByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcmljZS12YWx1ZS1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSUlAgLS0tXHJcbiRycnAtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHJycC1mb250LXNpemU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRycnAtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHJycC1zdHJpa2U6IHRydWUgIWRlZmF1bHQ7XHJcbiRycnAtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuLy8gLS0tIFNhdmluZyAtLS0gXHJcbiRzYXZpbmdzLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzYXZpbmctZm9udC1zaXplOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kc2F2aW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzYXZpbmctc3RyaWtlOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgUHJpY2UgLS0tIFxyXG4kcGFjay1wcmljZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIFNpemUgLS0tXHJcbiRwYWNrLXNpemUtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBJdGVtIFNpemUgLS0tIFxyXG4kcGFjay1pdGVtLXNpemUtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29kZSAtLS0gXHJcbiRjb2RlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEljb25zIC0tLS0tIFxyXG4vLyAtLS0gU29jaWFsIC0tLVxyXG4vLyBUaGVzZSBhcmUgZnJvbSB0aGUgZnJvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kc29jaWFsLWljb25zOiAoXHJcbiAgICBmYWNlYm9vazogJ1xcZjM5ZScsXHJcbiAgICB0d2l0dGVyOiAnXFxlNjFiJyxcclxuICAgIGluc3RhZ3JhbTogJ1xcZjE2ZCcsXHJcbiAgICBsaW5rZWRJbjogJ1xcZjBlMScsXHJcbiAgICB5b3V0dWJlOiAnXFxmMTY3JyxcclxuICAgIGVtYWlsOiAnXFxmMWQ4JyxcclxuICAgIGdvb2dsZS1wbHVzOiAnXFxmMGQ1JyxcclxuICAgIHNoYXJlOiAnXFxmMWUwJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpbGUgLS0tXHJcbiRmaWxlLWljb25zLXNpemU6IDI2cHggIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiRmaWxlLWF0dGFjaG1lbnQtcGFkZGluZzogMTBweCA1cHggIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFR5cGljYWxseSBmcm9tIHRoZSBmb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJGZpbGUtdHlwZS1pY29uczogKFxyXG4gICAgYnJvY2h1cmU6ICdcXGYxNWMnLFxyXG4gICAgdXNlci1ndWlkZTogJ1xcZjE1YicsXHJcbiAgICBwYXJ0cy1kaWFncmFtOiAnXFxmMTVjJyxcclxuICAgIHdvcmQ6ICdcXGYxYzInLFxyXG4gICAgcG93ZXJwb2ludDogJ1xcZjFjNCcsXHJcbiAgICBleGNlbDogJ1xcZjFjMycsXHJcbiAgICBwZGY6ICdcXGYxYzEnLFxyXG4gICAgY3N2OiAnXFxmNmRkJyxcclxuICAgIGltYWdlOiAnXFxmMWM1JyxcclxuICAgIHZpZGVvOiAnXFxmMWM4JyxcclxuICAgIHVua25vd246ICdcXGYxNWInLFxyXG4gICAgemlwOiAnXFxmMWM2J1xyXG4pICFkZWZhdWx0O1xyXG4vLyBGaWxlIEljb24gQ29sb3Vyc1xyXG4kZmlsZS1pY29ucy1jb2xvdXJzOiAoXHJcbiAgICBicm9jaHVyZTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHVzZXItZ3VpZGU6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBwYXJ0cy1kaWFncmFtOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgd29yZDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAwKSxcclxuICAgIHBvd2VycG9pbnQ6ICRjb2xvdXI2LTEsXHJcbiAgICBleGNlbDogJGNvbG91cjQsXHJcbiAgICBwZGY6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBjc3Y6IHJnYmEoJGNvbG91cjQsIDAuOSksXHJcbiAgICBpbWFnZTogJGNvbG91cjMtMyxcclxuICAgIHZpZGVvOiAkY29sb3VyMy02LFxyXG4gICAgdW5rbm93bjogJGNvbG91cjQtNyxcclxuICAgIHppcDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTaXRlIHdpZGUgaWNvbnMgLS0tIFxyXG5cclxuJGNoZXZyb24taWNvbnM6IChcclxuICAgIHVwOiAnXFxmMDc3JyxcclxuICAgIHJpZ2h0OiAnXFxmMDU0JyxcclxuICAgIGRvd246ICdcXGYwNzgnLFxyXG4gICAgbGVmdDogJ1xcZjA1MydcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZnJvbSB0aGUgZm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRkZWZhdWx0LXNpdGUtaWNvbnM6IChcclxuICAgIGltYWdlLTM2MDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnM2RpY29uLnN2ZycsXHJcbiAgICBjYXJkLXBheW1lbnQ6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2NhcmQtcGF5bWVudC5zdmcnLFxyXG4gICAgcGF5cGFsOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdwYXlwYWwuc3ZnJyxcclxuICAgIGdvb2dsZS1wYXk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2dvb2dsZS1wYXkuc3ZnJyxcclxuICAgIGFwcGx5LXBheTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnYXBwbHktcGF5LnN2ZycsXHJcbiAgICBkaXJlY3QtZGViaXQ6ICdcXEU4NEUnLFxyXG4gICAgZW5sYXJnZTogJ1xcZjMxZScsXHJcbiAgICBiYXNrZXQtaWNvbjogJ1xcZjI5MScsXHJcbiAgICBiYXNrZXQtd2FybmluZzogJ1xcRTgxMScsXHJcbiAgICBiYXNrZXQtYWxlcnQ6ICdcXEU4MTInLFxyXG4gICAgYmFza2V0LXJlbW92ZTogJ1xcZjJlZCcsXHJcbiAgICBiYXNrZXQtZGVsaXZlcnk6ICdcXGYwZDEnLFxyXG4gICAgYmFza2V0LXZhdDogJ1xcZjI5NScsXHJcbiAgICBiYXNrZXQtdm91Y2hlcjogJ1xcZjAyYycsXHJcbiAgICB1cGRhdGU6ICdcXGYwMjEnLFxyXG4gICAgem9vbS1pbjogJ1xcZjAwZScsXHJcbiAgICB6b29tLW91dDogJ1xcZjAxMCcsXHJcbiAgICBzdWNjZXNzOiAnXFxmMDBjJyxcclxuICAgIHdhcm5pbmc6ICdcXGYwNzEnLFxyXG4gICAgYWxlcnQ6ICdcXGYwNmEnLFxyXG4gICAgdW5rbm93bjogJ1xcZjA1OScsXHJcbiAgICBjYW5jZWxsZWQ6ICdcXGYyOGQnLFxyXG4gICAgaW4tcHJvZ3Jlc3M6ICdcXGYxMTAnLFxyXG4gICAgc2VhcmNoOiAnXFxmMDAyJyxcclxuICAgIGVtYWlsOiAnXFxmMGUwJyxcclxuICAgIHRlbGVwaG9uZTogJ1xcZjg3OScsXHJcbiAgICBmYXZvdXJpdGVzLWRlZmF1bHQ6ICdcXGYwMDQnLFxyXG4gICAgZmF2b3VyaXRlcy1ob3ZlcjogJ1xcZjAwNCcsXHJcbiAgICBwcm9jZWVkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBjaGVja2JveC10aWNrOiAnXFxmMDBjJyxcclxuICAgIHBheW1lbnQtY2FyZDogJ1xcZjA5ZCcsXHJcbiAgICBob21lOiAnXFxmMDE1JywgXHJcbiAgICBibG9nOiAnXFxmMDg2JyxcclxuICAgIG5ld3M6ICdcXGYxZWEnLFxyXG4gICAgZXZlbnRzOiAnXFxmMDczJyxcclxuICAgIGJsb2NrcXVvdGU6ICdcXGYxMGQnLFxyXG4gICAgaW5mbzogJ1xcZjEyOScsXHJcbiAgICBpbmZvLWNpcmNsZTogJ1xcZjA1YScsXHJcbiAgICBuby1hY2Nlc3M6ICdcXGYwMjMnLFxyXG4gICAgZWRpdDogJ1xcZjA0NCcsXHJcbiAgICBwYXNzd29yZC1yZXZlYWw6ICdcXGYwNmUnLFxyXG4gICAgY2xvc2UtYnV0dG9uOiAnXFxmMDBkJyxcclxuICAgIHF1YW50aXR5LXNlbGVjdG9yLWluY3JlbWVudDogJ1xcZjA2OCcsXHJcbiAgICBxdWFudGl0eS1zZWxlY3Rvci1kZWNyZW1lbnQ6ICdcXGYwNjcnLFxyXG4gICAgYmFuOiAnXFxmMDVlJyxcclxuICAgIGhhbWJ1cmdlcjogJ1xcZjBjOScsXHJcbiAgICBtYWlsOiAnXFxmMWQ4JyxcclxuICAgIHJhdGluZzogJ1xcZjAwNScsXHJcbiAgICBiYWNrLXRvLXRvcDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgbWVnYS1tZW51LWxpbmstaWNvbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgbWVudS1jbG9zZTogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBtZW51LW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGNhcm91c2VsLWNvbnRyb2xzLW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGF1dG8tY29tcGxldGUtdmlldy1hbGw6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIHNvaC0wOiAnXFxmMDBkJyxcclxuICAgIHNvaC0xOiAnXFxmMDBjJyxcclxuICAgIHNvaC0yOiAnXFxmMDBjJyxcclxuICAgIHN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOiAnXFxmMGYzJyxcclxuICAgIHN0b2NrLW5vdGlmaWNhdGlvbi1hY3RpdmU6ICdcXGYwZjMnLFxyXG4gICAgbGlzdC1ncmlkLXZpZXc6ICdcXGYwMGEnLFxyXG4gICAgbGlzdC10YWJsZS12aWV3OiAnXFxmMDBiJyxcclxuICAgIHJlYWQtbW9yZS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICByZWFkLW1vcmUtY2xvc2VkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIGFuY2hvci1pbmRpY2F0b3I6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGJyZWFkY3J1bWJzLXNlcGVyYXRvcjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgbGlnaHRib3gtcHJldjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBsaWdodGJveC1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBmaWxlLXVwbG9hZDogJ1xcZjU3NCcsXHJcbiAgICBmaWxlLXVwbG9hZC1yZWFkeTogJ1xcZTVhMCcsXHJcbiAgICBmaWxlLXJlbW92ZTogJ1xcZjAwZCcsXHJcbiAgICBjb2xsZWN0aW9uLW9ubHk6ICdcXEU4MTgnLFxyXG4gICAgYWR2YW5jZWQtZm9ybS1zdWNjZXNzOiAnXFxmMDBjJyxcclxuICAgIGFkdmFuY2VkLWZvcm0tZmFpbDogJ1xcZjAwZCcsXHJcbiAgICBmaWx0ZXI6ICdcXGYwYjAnLFxyXG4gICAgY2FsbC1yYXRpbmctY2Fubm90LXJhdGU6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZS5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdW5yYXRlZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXVucmF0ZWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXZlcnktYmFkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdmVyeS1iYWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWJhZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWJhZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctYXZlcmFnZTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWF2ZXJhZ2Uuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWdvb2Q6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1nb29kLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy12ZXJ5LWdvb2Q6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy12ZXJ5LWdvb2Quc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1sb3c6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWxvdy5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LW1lZGl1bTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktbWVkaXVtLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktaGlnaDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktaGlnaC5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWNyaXRpY2FsOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1jcml0aWNhbC5zdmcnLFxyXG4gICAgY2FsbC1hZGQtaW5mbzogJ1xcRTgzQycsXHJcbiAgICBjYWxsLXJlcXVlc3QtYXJjaGl2ZTogJ1xcRTgzQicsXHJcbiAgICBjYWxsLWxpc3Q6ICdcXEU4MzknLFxyXG4gICAgbmV3LWNhbGw6ICdcXEU4M0EnLFxyXG4gICAgdGFibGUtc29ydC1hc2NlbmQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRhYmxlLXNvcnQtZGVzY2VuZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICB0YWJsZS1yZXZlYWwtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdGFibGUtcmV2ZWFsLWNsb3NlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBsb2NhdGlvbjogJ1xcZjNjNScsXHJcbiAgICB0cmVlLW1lbnUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdHJlZS1tZW51LWNsb3NlOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIHZvdGUtdXA6ICdcXGYxNjQnLFxyXG4gICAgdGFnLXJlbW92ZTogJ1xcZjAwZCcsXHJcbiAgICB0aGlyZC1wYXJ0eS10cmFja2luZzogJ1xcRTgyNycsXHJcbiAgICBwcmludGVyOiAnXFxmMDJmJyxcclxuICAgIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb246ICdcXDJiJyxcclxuICAgIGJhcmNvZGUtc2Nhbm5lci1idXR0b24taWNvbjogJ1xcRTg0RCcsXHJcbiAgICBjYWxsLXNvdXJjZS11c2VyOiAnXFxmMDA3JyxcclxuICAgIGNhbGwtc291cmNlLXBvcnRhbDogJ1xcZjBhYycsXHJcbiAgICBjYWxsLXNvdXJjZS1lbWFpbDogJ1xcZjBlMCcsXHJcbiAgICBjYWxsLXR5cGUtYXR0YWNobWVudDogJ1xcRTgyQycsXHJcbiAgICBjYWxsLXR5cGUtcHJpdmFjeTogJ1xcRTgzMScsXHJcbiAgICBjYWxsLXR5cGUtdHlwZTogJ1xcRTgxQycsXHJcbiAgICBjYWxsLXR5cGUtY2xhc3NpZmljYWl0b246ICdcXEU4MjAnLFxyXG4gICAgY2FsbC10eXBlLWNvbXBsZXRlOiAnXFxFODE1JyxcclxuICAgIGNhbGwtdHlwZS1jb250YWN0OiAnXFxFODE3JyxcclxuICAgIGNhbGwtdHlwZS1jb250cmFjdDogJ1xcRTgxQScsXHJcbiAgICBjYWxsLXR5cGUtY29udHJhY3QtdHlwZTogJ1xcRTgxOScsXHJcbiAgICBjYWxsLXR5cGUtY3JlYXRlZDogJ1xcRTgyOScsXHJcbiAgICBjYWxsLXR5cGUtZGVmZXJyZWQ6ICdcXEU4MjgnLFxyXG4gICAgY2FsbC10eXBlLWVzY2FsYXRpb246ICdcXEU4MkYnLFxyXG4gICAgY2FsbC10eXBlLWltcGFjdDogJ1xcRTgyQScsXHJcbiAgICBjYWxsLXR5cGUtaW5ib3VuZC1waG9uZS1jYWxsOiAnXFxFODFGJyxcclxuICAgIGNhbGwtdHlwZS1pbmZvcm1hdGlvbjogJ1xcRTgyRCcsXHJcbiAgICBjYWxsLXR5cGUtbGluazogJ1xcRTgyQicsXHJcbiAgICBjYWxsLXR5cGUtb3V0Ym91bmQtcGhvbmUtY2FsbDogJ1xcRTgyRScsXHJcbiAgICBjYWxsLXR5cGUtcHJpb3JpdHk6ICdcXEU4MzAnLFxyXG4gICAgY2FsbC10eXBlLXJlc3BvbnNpYmlsaXR5OiAnXFxFODMyJyxcclxuICAgIGNhbGwtdHlwZS1zaG9ydGN1dC1zZW50OiAnXFxFODMzJyxcclxuICAgIGNhbGwtdHlwZS1zbGEtaW5jbHVzaW9uOiAnXFxFODM0JyxcclxuICAgIGNhbGwtdHlwZS1zdGF0dXM6ICdcXEU4MUInLFxyXG4gICAgY2FsbC10eXBlLXVuZGVmZXJyZWQ6ICdcXEU4MzcnLFxyXG4gICAgY2FsbC10eXBlLXVyZ2VudDogJ1xcRTgzOCcsXHJcbiAgICBjYWxsLXR5cGUtd29ya2Zsb3c6ICdcXEU4MUQnLFxyXG4gICAgZG9jdW1lbnRhdGlvbi1wdWJsaWMtdXJsOiAnXFxmMGFjJyxcclxuICAgIGRvY3VtZW50YXRpb24tc3RhdGlzdGljczogJ1xcZTQ3MycsXHJcbiAgICBjbGlwYm9hcmQtY29weTogJ1xcZjBjNScsXHJcbiAgICBjb250ZXh0LW1lbnUtZWRpdDogJ1xcZjAxMycsXHJcbiAgICBjb250ZXh0LWVkaXQtdGV4dDogJ1xcZjA0NCcsXHJcbiAgICBjb250ZXh0LWVkaXQtcHJvcGVydGllczogJ1xcRTg1MScsXHJcbiAgICBjb250ZXh0LW1vdmUtdXA6ICdcXGU0YzInLFxyXG4gICAgY29udGV4dC1tb3ZlLWRvd246ICdcXGU0YjgnLFxyXG4gICAgY29udGV4dC1pbnNlcnQtYmVmb3JlOiAnXFxFODUwJyxcclxuICAgIGNvbnRleHQtaW5zZXJ0LWFmdGVyOiAnXFxFODI0JyxcclxuICAgIGNvbnRleHQtZGVsZXRlOiAnXFxmMmVkJyxcclxuICAgIGNvbnRleHQtYWNjZXNzLWxldmVsOiAnXFxmNWZkJyxcclxuICAgIGNvbnRleHQtcHVibGlzaGVkOiAnXFxmMDkzJyxcclxuICAgIGNvbnRleHQtcHJvbW90ZTogJ1xcZjAzYicsXHJcbiAgICBjb250ZXh0LWRlbW90ZTogJ1xcZjAzYycsXHJcbiAgICBjb250ZXh0LW1vdmU6ICdcXGYwYjInLFxyXG4gICAgY29udGV4dC1hdWRpdDogJ1xcZjFkYScsXHJcbiAgICBjbXMtcGFnaW5hdGlvbi1wcmV2aW91czogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBjbXMtcGFnaW5hdGlvbi1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBzaXRlLWxpc3QtYmVzcG9rZS1zaXRlLWljb246ICdcXEU4MjEnLFxyXG4gICAgc29mdHdhcmUtdXBkYXRlLWRvd25sb2FkOiAnXFxmMDE5JyxcclxuICAgIHNvZnR3YXJlLXJlbGVhc2UtZGF0ZS10aW1lOiAnXFxmMDE3JyxcclxuICAgIHByb2R1Y3QtZW5xdWlyeS1kZWxpdmVyeS1jb3VudGRvd246ICdcXGYwMTcnLFxyXG4gICAgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uOiAnXFxmMDRiJyxcclxuICAgIHZpZGVvLXBsYXllci1yZXBsYXktdGh1bWJuYWlsLWljb246ICdcXGYzNjMnLFxyXG4gICAgdmlkZW8tcGxheWVyLWR1cmF0aW9uLWljb25zOiAnXFxmMDE3JyxcclxuICAgIHNpdGUtbWFwLXBhcmVudC1pY29uOiAgbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgZXh0ZXJuYWwtbGluay1pY29uOiAnXFxmMDhlJyxcclxuICAgIG5vbi1yZXR1cm5hYmxlOiAnXFxFODUzJyxcclxuICAgIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdDogJ1xcZjE5MicsXHJcbiAgICBzZWxlY3Rpb24taW5jcmVtZW50OiAnXFwyYicsXHJcbiAgICBmaWxlLWRvd25sb2FkOiAnXFxmNTZkJyxcclxuICAgIHVucmVhZC1zdGF0ZS1vbjogJ1xcZjExMSdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENyZWF0ZSBkZWZhdWx0IGljb25zIG1hcCBpZiBpdCBoYXNuJ3QgYmVlbiBkZWZpbmVkIGluIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgZmlsZS5cclxuJHNpdGUtaWNvbnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gQW55IGN1c3RvbSBpY29ucyBlbmFibGVkP1xyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnM6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXIgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsdGVyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBTZWFyY2ggaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgc2VhcmNoKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBOZXcgY2FsbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tbmV3LWNhbGwtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIG5ldy1jYWxsKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIGxpc3QgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtbGlzdC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1saXN0KSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIGFkZCBpbmZvIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWFkZC1pbmZvLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLWFkZC1pbmZvKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIHJlcXVlc3QgYXJjaGl2ZSBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1yZXF1ZXN0LWFyY2hpdmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtcmVxdWVzdC1hcmNoaXZlKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBGaWxlIHVwbG9hZCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsZS11cGxvYWQtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBGaWxlIHVwbG9hZCByZWFkeS5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbGUtcmVhZHkpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEhhbWJ1cmdlclxyXG4kc2l0ZS1pY29ucy1jdXN0b20taGFtYnVyZ2VyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBoYW1idXJnZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEJhc2tldCBpY29uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBFbWFpbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGVtYWlsKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBFbWFpbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBlZGl0IHByb3BlcnRpZXMuXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtZWRpdC1wcm9wZXJ0aWVzLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtcHJvcGVydGllcyksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGluc2VydCBiZWZvcmVcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYmVmb3JlLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1iZWZvcmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBpbnNlcnQgYWZ0ZXJcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYWZ0ZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWFmdGVyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBNZXJnZSBkZWZhdWx0IGljb25zIHdpdGggc2l0ZSBzcGVjaWZpYyBpY29ucyBpZiBlbmFibGVkLlxyXG4kc2l0ZS1pY29uczogbWFwLW1lcmdlKCRkZWZhdWx0LXNpdGUtaWNvbnMsICRzaXRlLWljb25zKTtcclxuXHJcblxyXG4vLyAtLS0gQWNjb3VudCBBcmVhIEljb25zIC0tLSBcclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBmcm9tIHRoZSBmb250ZWxsbyBsaWJyYXJ5LlxyXG4kZGVmYXVsdC1hY2NvdW50LWljb25zOiAoXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogJ1xcRTgwMScsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6ICdcXEU4MDInLFxyXG4gICAgY29udHJhY3QtaXRlbXM6ICdcXEU4MDYnLFxyXG4gICAgdmlldy1vcmRlcnM6ICdcXEU4MEUnLFxyXG4gICAgZmF2b3VyaXRlczogbWFwLWdldCgkc2l0ZS1pY29ucywgZmF2b3VyaXRlcy1kZWZhdWx0KSxcclxuICAgIHJlY2VudGx5LXB1cmNoYXNlZDogJ1xcRTgwRicsXHJcbiAgICBtYW5hZ2UtY2FyZHM6ICdcXEU4MEMnLFxyXG4gICAgc3RhdGVtZW50OiAnXFxFODA3JyxcclxuICAgIG1hbmFnZS11c2VyczogJ1xcRTgwRCcsXHJcbiAgICBicmFuY2gtc3dpdGNoZXI6ICdcXEU4MDAnLFxyXG4gICAgY29udGFjdC1wcmVmZXJlbmNlczogJ1xcRTgwNScsXHJcbiAgICBoaXN0b3JpY2FsLXRyYW5zYWN0aW9uczogJ1xcRTgwOScsXHJcbiAgICBsb2dvdXQ6ICdcXEU4MEEnLFxyXG4gICAgYWNjb3VudDogJ1xcZjAwNycsXHJcbiAgICBvcmRlci11cGxvYWQ6ICdcXEU4MzUnLFxyXG4gICAgYmFza2V0LXVwbG9hZDogJ1xcRTgzNicsXHJcbiAgICBtYW5hZ2UtY2FsbHM6ICdcXEU4MUUnLFxyXG4gICAgc2VydmljZS1jb250cmFjdHM6ICdcXEU4NDAnLFxyXG4gICAgY3VzdG9tZXItYXNzZXRzOiAnXFxFODI1JyxcclxuICAgIHBheW1lbnQtcmVxdWVzdHM6ICdcXEU4MjYnLFxyXG4gICAgZG93bmxvYWQtcHJpY2UtbGlzdHM6ICdcXEU4N0EnLFxyXG4gICAgc2l0ZS1saXN0OiAnXFxFODNGJyxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogJ1xcRTg0MScsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6ICdcXEU4NDInLFxyXG4gICAgb25saW5lLWRvY3VtZW50YXRpb246ICdcXEU4NDQnLFxyXG4gICAgZGVmYXVsdC1pY29uOiAnXFxFODQzJyxcclxuICAgIHNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3M6ICdcXEU4NDUnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzOiAnXFxFODRCJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1zdGFydC13b3JrOiAnXFxFODRCJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1lbmQtd29yazogJ1xcRTg0OScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbHVuY2gtc3RhcnQ6ICdcXEU4NDcnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWx1bmNoLWVuZDogJ1xcRTg0NicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtYXJyaXZpbmc6ICdcXEU4NEMnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWxlYXZpbmc6ICdcXEU4NEEnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLXNpY2s6ICdcXEU4MjMnLFxyXG4gICAgbWljcm9zb2Z0LXN1YnNjcmlwdGlvbnM6ICdcXGYxN2EnLFxyXG4gICAgY2FsbC1zdGF0aXN0aWNzOiAnXFxFODUyJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ3JlYXRlIGRlZmF1bHQgaWNvbnMgbWFwIGlmIGl0IGhhc24ndCBiZWVuIGRlZmluZWQgaW4gc2l0ZSBzcGVjaWZpYyBicmFuZGluZyBmaWxlLlxyXG4kYWNjb3VudC1pY29uczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBBbnkgY3VzdG9tIGljb25zIGVuYWJsZWQ/IFxyXG4kc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIE1lcmdlIGRlZmF1bHQgaWNvbnMgd2l0aCBzaXRlIHNwZWNpZmljIGljb25zIGlmIHNpdGUgc3BlY2lmaWMgaWNvbnMgZW5hYmxlZC5cclxuJGFjY291bnQtaWNvbnM6IG1hcC1tZXJnZSgkZGVmYXVsdC1hY2NvdW50LWljb25zLCAkYWNjb3VudC1pY29ucyk7XHJcbi8vIC0tLS0tIElucHV0cyAtLS0tLSBcclxuLy8gLS0tIEdlbmVyYWwgLS0tIFxyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogaWYoJHNtb290aC1lZGdlcy1lbmFibGVkLCAkc21vb3RoLWVkZ2VzLWxldmVsLCAwKSAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoJ3NlY29uZGFyeS1mb250JykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDIpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXI6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDcpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpLFxyXG4gICAgYWN0aXZlOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgYWN0aXZlLWhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBpbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gRmlsZSBpbnB1dFxyXG4kaW5wdXQtZmlsZS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogcmdiYSgkY29sb3VyNCwgLjcpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTQsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLXVwbG9hZC1pcy1yZWFkeS1pY29uLWZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1vdXRlci1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRoOiAyLjVweCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiByZ2JhKCRjb2xvdXI0LTEsIC4xKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJpY2ggVGV4dCBFZGl0b3IgLS0tXHJcbiRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldDogMjVweCAhZGVmYXVsdDtcclxuJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tbWF4LWxldmVsczogNSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGb3JtcyAtLS1cclxuJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbjogKFxyXG4gICAgc21hbGw6IGxlZnQsXHJcbiAgICBtZWRpdW06IGNlbnRlcixcclxuICAgIGxhcmdlOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweCAyMDVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbi8vIFNpbmdsZSBDb2x1bW4gRm9ybXMuXHJcbiRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKSAhZGVmYXVsdDtcclxuJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gSGVhZGluZyAoIGgyIClcclxuJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1mb250LXNpemU6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tOiBudWxsICFkZWZhdWx0O1xyXG4vLyBTdWIgSGVhZGluZyAoIGgzIClcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc2l6ZTogMjQgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmllbGRzZXQgKyBJbnB1dHMgLS0tXHJcbiRmaWVsZHNldC1pbnB1dC1oZWlnaHQ6IDQ1cHggIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1pbnB1dC1wYWRkaW5nOiA1cHggMCA1cHggMjVweCAhZGVmYXVsdDtcclxuJGZpZWxkLXdpZHRoOiAoXHJcbiAgICBtb2JpbGU6IDEwMCUsXHJcbiAgICBkZXNrdG9wOiA2NDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtc2V0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtaW5wdXQtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDQzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1qdXN0aWZ5LWNlbnRlcjogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gRGVmYXVsdCB3aWR0aCB3aWR0aG91dCBhbnkgY2xhc3MuXHJcbiRmaWVsZHNldC1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTYwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVGhpcyBpcyBub3QgYnJlYWtwb2ludCB3aWR0aHMgYnV0IHJhdGhlciBjbGFzcyBzaXplcyAuc21hbGwsIC5tZWRpdW0sIC5sYXJnZVxyXG4kZmllbGQtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiAzMDBweCxcclxuICAgIG1lZGl1bTogMzUwcHgsXHJcbiAgICBsYXJnZTogNDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDAgMCAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTGFiZWxzIC0tLSBcclxuJGxhYmVsLWlucHV0LWdhcDogNXB4ICFkZWZhdWx0O1xyXG4kbGFiZWwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIGZvcm0gY29udGFpbmVycy5cclxuJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsIFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbHVtbi1jbXMtY29udGVudC1jb250YWluZXI6IChcclxuICAgIHNtYWxsOiAwIDE1cHggNy41cHgsXHJcbiAgICBsYXJnZTogMCA4NXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBhZGRpdGlvbmFsIGluZm8uXHJcbiRhZGRpdGlvbmFsLWluZm8taW1hZ2UtbWFyZ2luOiAwIDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbnB1dHMgLS0tLS1cclxuJGlucHV0LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3gtc2hhZG93OiAoXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzFcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG91cjogJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLXdpZHRoOiA3MHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTogJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG91cjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taW5uZXItYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDaGVja2JveGVzIC0tLVxyXG4kY2hlY2tib3gtZGltZW50aW9uczogMjBweCAhZGVmYXVsdDtcclxuJGNoZWNrYm94LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBhY3RpdmUtaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3ZlciksXHJcbiAgICBhY3RpdmUtZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJhZGlvIEJ1dHRvbnMgLS0tXHJcbiRyYWRpby1kaW1lbnRpb25zOiAxNXB4ICFkZWZhdWx0O1xyXG4kcmFkaW8taWNvbi1kaW1lbnNpb25zOiAoJHJhZGlvLWRpbWVudGlvbnMgLyAyKSAhZGVmYXVsdDtcclxuJHJhZGlvLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2VsZWN0IERyb3Bkb3ducyAtLS1cclxuJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogOTBweCxcclxuICAgIG1lZGl1bTogMjE1cHgsXHJcbiAgICBsYXJnZTogMzQwcHgsXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoOiAzMHB4ICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBob3ZlciAmIGFjdGl2ZSBpbXBsZW1lbnRhdGlvbi5cclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTIsXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQW5jaG9ycyAtLS0gXHJcbiRhbmNob3JzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgXHJcbiAgICBob3ZlcjogLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLFxyXG4gICAgYWN0aXZlOiAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wXHJcbikgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcclxuJGFuY2hvcnMtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvcmdvdHRlbiBwYXNzd29yZCBsaW5rIC0tLVxyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc293cmQtYW5jaG9yLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFNTTyAtLS0tLVxyXG4kc3NvLWJ1dHRvbi1taWNyb3NvZnQtdGhlbWU6ICdsaWdodCcgIWRlZmF1bHQ7XHJcbiRzc28tYnV0dG9uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNzAlLFxyXG4gICAgbWVkaXVtOiAzMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kc3NvLWNvbW1vbi1nYXA6IDIwcHggIWRlZmF1bHQ7XHJcbiRzc28tc2VwZXJhdG9yLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gQ01TIC8gVGV4dERCIGNvbnRlbnQgY29udGFpbmVyIC0tLS0tXHJcbiRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENsb3NlIGJ1dHRvbiAtLS0tLSBcclxuJGljb24tc2l6ZTogMjRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE1vZGFscyAtLS0tLVxyXG4kbW9kYWwtY29udGVudC16LWluZGV4OiAyMDAxICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIC0tLVxyXG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1jbXMtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbGFyZ2U6IDMwcHggMzBweCAvLyBCYWxhbmNpbmcgdG9wICsgYm90dG9tIGZvciA4NTAxNzUuXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNb2RhbCBmb3JtcyAtLS1cclxuJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg6IDgwJSAhZGVmYXVsdDtcclxuJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW46IChcclxuICAgIHNtYWxsOiBhdXRvLFxyXG4gICAgbGFyZ2U6IDIwcHggYXV0byAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBCdXR0b25zIC0tLS0tXHJcbi8vIENvbW1vbiBidXR0b24gc3R5bGVzICggdGhlc2UgYXJlIHVzZWQgb24gbXVsdGlwbGUgYnV0dG9ucy5cclxuJGNvbW1vbi1idXR0b24tbWFyZ2luOiAoc21hbGw6IDVweCAxMHB4LCBsYXJnZTogMCkgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXBhZGRpbmc6IDE1cHggMzVweCAhZGVmYXVsdDtcclxuLy8gJGNvbW1vbi1idXR0b24tZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuLy8gQXNzb2NpYXRlZCA9IGJ1dHRvbnMgdGhhdCBhcmUgbGlua2VkIHRvIGFuIGlucHV0ICggaS5lIGxvb2t1cHMgKVxyXG4vLyBTdGFuZGFsb25lID0gYnV0dG9ucyB0aGF0IGFyZSBub3QgZGlyZWN0bHkgbGlua3MgdG8gaW5wdXRzICggaS5lIGZvcm0gc3VibWlzc2lvbnMgJiBhbmNob3JzIClcclxuJGNvbW1vbi1idXR0b24tZm9udC1zaXplczogKFxyXG4gICAgYXNzb2NpYXRlZDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSxcclxuICAgIHN0YW5kYWxvbmU6IDE2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0czogKFxyXG4gICAgYXNzb2NpYXRlZDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0LFxyXG4gICAgc3RhbmRhbG9uZTogNzAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0OiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nOiAycHggIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nOiAuNnB4ICFkZWZhdWx0O1xyXG4vLyBOb3JtYWxseSB3aGVuIHlvdSBzZXQgdXBwZXJjYXNlIGFuZCBmb250IHRvIGJvbGQgeW91IHdpbGwgd2FudCB0byBpbmNyZWFzZSB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGxlZ2liaWxpdHkgcmVhc29ucyAoIHRoaXMgaXMgb2J2aW91c2x5IGRlcGVuZGFudCBvbiB0aGUgZm9udCBmYW1pbHkgYmVpbmcgdXNlZCApXHJcbiRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nLXVwcGVyY2FzZS1ib2xkOiAoJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmcgKiAyKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyBQcmltYXJ5IGJ1dHRvbiBzdHlsZXMuXHJcbiRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGxpZ2h0ZW4oZGVzYXR1cmF0ZShhZGp1c3QtaHVlKCRjb2xvdXI0LTEsIC03JSksIDQlKSwgNDQlKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBTZWNvbmRhcnkgYnV0dG9uIHN0eWxlcy5cclxuJHNlY29uZGFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kc2Vjb25kYXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kc2Vjb25kYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogbGlnaHRlbihkZXNhdHVyYXRlKGFkanVzdC1odWUoJGNvbG91cjQtMSwgLTclKSwgNCUpLCA0NCUpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gVGVydGlhcnkgYnV0dG9uIHN0eWxlc1xyXG4kdGVydGlhcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHRlcnRpYXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kdGVydGlhcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBRdWF0ZXJuYXJ5IGJ1dHRvbiBzdHlsZXNcclxuJHF1YXRlcm5hcnktYnV0dG9uLXBhZGRpbmc6IDMuNXB4IDE2cHggIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyRxdWF0ZXJuYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFF1aW5hcnkgYnV0dG9uIFxyXG4kcXVpbmFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kcXVpbmFyeS1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8kcXVpbmFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gR2VuZXJpYyBjbXMgYnV0dG9uIFxyXG4kY21zLWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRjbXMtYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRjbXMtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3IoJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBhbmNob3IgcHJvY2VlZCBidXR0b24uXHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuLy8gTG9jYXRpb24gYnV0dG9uICAoIHN0b2NraXN0IClcclxuJGxvY2F0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbG9jYXRpb24tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY2l0dmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEJhcmNvZGUgc2Nhbm5lciB0b2dnbGUgYnV0dG9uLlxyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1ib3JkZXItY29sb3VyLWRlc2t0b3A6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXJjb2RlLXNjYW5uZXItYnV0dG9uLWljb24pLFxyXG4gICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4LFxyXG4gICAgY29sb3VyOiAoXHJcbiAgICAgICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tY29sb3VyKSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMVxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zLFxyXG4gICAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gU3RvY2tsaW5lIGJ1dHRvblxyXG4kc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nOiAyMHB4IDEwcHggIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJHN0b2NrbGluZS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIE5vdCBsb2dnZWQgaW5cclxuLy8gQWRqdXN0aW5nIHRoZSBwYWRkaW5nIHdpbGwgY2F1c2UgdGhlc2UgYnV0dG9ucyB0byBnbyBvdXQgb2YgdmVydGljbGUgYWxpZ25tZW50IHdpdGggdGhlIGJ1eWluZyBmb3JtLlxyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tcGFkZGluZzogJHN0b2NrbGluZS1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8kbm90LWxvZ2dlZC1pbi1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIEVucXVpcnkgYnV0dG9uLlxyXG4kZW5xdWlyeS1idXR0b24tcGFkZGluZzogJHN0b2NrbGluZS1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8kZW5xdWlyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIFBhZ2UgYWN0aW9uIGJ1dHRpb25zXHJcbi8vIERlZmF1bHQuXHJcbiRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJGEtZGVmYXVsdC1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kYS1kZWZhdWx0LWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0YXR1cy1idXR0b24tY29tbW9uLXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzLlxyXG4kc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksIFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gV2FybmluZy5cclxuJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQWxlcnQuXHJcbiRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDptYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhbGVydC1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQ2FuY2VsIC8gYmFjayBidXR0b25cclxuJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kY2FuY2VsLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4vLyBBbGVydCAvIHJlbW92ZSAvIGRlbGV0ZSBidXR0b24uXHJcbiRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENNUyBidXR0b25zIHN1Y2ggYXMgYmxvZywgbmV3cyAmIGV2ZW50cy5cclxuJGNtcy1idXR0b24tbGluay1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctdW5kZXJsaW5lOiAoXHJcbiAgICBoMTogZmFsc2UsXHJcbiAgICBoMjogZmFsc2UsXHJcbiAgICBoMzogZmFsc2VcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ6IGdldC1idXR0b24tZm9udC13ZWlnaHRzKCkgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8gTmV3cyBidXR0b25cclxuJG5ld3MtYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBCbG9nIGJ1dHRvblxyXG4kYmxvZy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIEV2ZW50cyBidXR0b25cclxuJGV2ZW50cy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXJkIFBhcnR5IHRyYWNraW5nIGJ1dHRvbi5cclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nOiAxMHB4IWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXdlaWdodDogNjAwO1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtNlxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1ndXR0ZXI6IDEycHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmVxdWlyZWQgcHJvbXB0IC0tLVxyXG4kcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBtYXAtZ2V0KCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcsIHNtYWxsKSxcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtZm9udC1zaXplOiAxNC40ICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wdG9tcHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTWVudXMgLS0tLS1cclxuLy8gQ29tbW9uIHN0eWxlcyAoIHR5cGljYWxseSB0aGUgbW9iaWxlIGV4cGllcmFuY2UgKS5cclxuJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHggIWRlZmF1bHQ7XHJcbi8vIEhlYWRlclxyXG4kbWVudXMtaGVhZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRtZW51cy1oZWFkZXItZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJG1lbnVzLWhlYWRlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gQWN0dWFsIG1lbnVzXHJcbiRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIxLFxyXG4gICAgbGFyZ2U6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kbWVudS1ncm91cC1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0xLWJvcmRlci1ib3R0b206IChcclxuICAgIHNtYWxsOiAxcHggc29saWQgJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWJvcmRlci10b3A6IChcclxuICAgIHNtYWxsOiAxcHggc29saWQgJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1saS1ib3JkZXI6IChcclxuICAgIHNtYWxsOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBWaWV3IE1vcmVcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGluay1pY29uLXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwIDEwcHggMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLy8gLS0tIFRyZWUgbWVudSAtLS1cclxuJHRyZWUtbWVudS1icmFuY2gtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAgMTBweCA2LjY2cHgsXHJcbiAgICBsYXJnZTogMTBweCAwIDEwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZzogKCBcclxuICAgIGxhcmdlOiAxMHB4IDAgMTBweCA3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplOiAyNXB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjogMnB4IHNvbGlkICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91ciAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg6IDMwcHggIWRlZmF1bHQ7IFxyXG4kdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU6ICgkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplIC0gNCkgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtYXNzZXRzLXJvb3QtbGFiZWwtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVHJlZSBNZW51ICggYXNzZXRzICkgLS0tXHJcbiR0cmVlLW1lbnUtYXNzZXRzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC02ICFkZWZhdWx0O1xyXG4vLyAtLS0gRnVuY3Rpb25zIExpc3QgLS0tIFxyXG4kZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDVweCA1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kZnVuY3Rpb25zLW1lbnUtYXJyb3ctc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFRhYmxlcyAtLS0tLVxyXG4kdGFibGUtcHJlc2V0LTEtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBSb3cgTm90aWZpY2F0aW9ucyAoIE1hbmFnZSBDYWxscyApIFxyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aDogKFxyXG4gICAgZGVmYXVsdDogMnB4LFxyXG4gICAgaG92ZXI6IDZweFxyXG4pICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbi8vIFJvdyBUb2dnbGUuXHJcbiR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBIZWFkXHJcbiR0aGVhZC1ib3JkZXItY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHRoZWFkLXByZXNldC0xOiAoXHJcbiAgICBwYWRkaW5nOiAwIDVweCAxMHB4LCBcclxuICAgIGZvbnQtc2l6ZTogMTUsXHJcbiAgICBmb250LXdlaWdodDogNzAwLFxyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIHJvdy1ib3JkZXI6ICRjb21tb24tcnVsZS13ZWlnaHQgc29saWQgJHRoZWFkLWJvcmRlci1jb2xvdXIsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMCxcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcixcclxuICAgIHRleHQtdHJhbmZvcm06IG5vbmVcclxuKSAhZGVmYXVsdDtcclxuLy8gUHJpbWFyaWx5IHVzZWQgZm9yIHRoZSBiYXNrZXQuXHJcbiR0aGVhZC1wcmVzZXQtMjogKFxyXG4gICAgcGFkZGluZzogMCAwIDIwcHgsXHJcbiAgICBmb250LXNpemU6IDE0LFxyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCxcclxuICAgIGNvbG9yOiAkY29sb3VyMixcclxuICAgIHJvdy1ib3JkZXI6ICRjb21tb24tcnVsZS13ZWlnaHQgc29saWQgJHRoZWFkLWJvcmRlci1jb2xvdXIsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBTb3J0aW5nXHJcbiR0aGVhZC1zb3J0aW5nLWJ1dHRvbi1pY29uLXNpemU6ICgkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAtIDIpO1xyXG4vLyBUYWJsZSBCb2R5XHJcbiR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpLFxyXG4gICAgaG92ZXI6ICR0aGVhZC1ib3JkZXItY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiR0Ym9keS1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XHJcbiR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmc6IDAgMTBweCAhZGVmYXVsdDtcclxuJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItZm9udC1zaXplOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4vLyBSb3dzXHJcbi8vIFNwYWNpbmcgYmV0d2VlbiByb3csIHRoaXMgZ2V0cyB1c2VkIGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbiB3aGF0IGVmZmVjdHMgYXJlIGFwcGxpZWQgdG8gdGhlIHRhYmxlICggaS5lIGlmIHlvdSdyZSBzaG93IHJ1bGVzIGJldHdlZW4gcm93IClcclxuJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZzogMTBweCAhZGVmYXVsdDtcclxuLy8gVGFibGUgZm9vdGVyIHNwYWNlci5cclxuJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMTogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBERiBUYWJsZSBBbmNob3JzXHJcbiRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcclxuLy8gT3JkZXIgVGFibGUgKCBQcmltYXJseSB1c2VkIGZvciBiYXNrZXQsIHZpZXcgb3JkZXIgJiBjaGVja291dCBjb21wbGV0ZSApXHJcbiRvcmRlci1tb2JpbGUtcm93LXBhZGRpbmc6IDVweCAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDE1NXB4LFxyXG4gICAgbGFyZ2U6ICR0YWJsZS1pbWFnZS1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4vLyAkb3JkZXItdGFibGUtY29kZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtY29kZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcHJpY2UtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1zdWItdG90YWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplOiA4MHB4ICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29tcGFyaXNvbiBUYWJsZSAtLS0gXHJcbiRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDU4JSxcclxuICAgIGxhcmdlOiAxNSVcclxuKSAhZGVmYXVsdDtcclxuJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXZhbHVlcy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDTVMgQ29udGVudCAtLS0tLSBcclxuJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1jbXMtY29weS1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1jbXMtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGZvbnQgc2l6ZVxyXG4kY21zLWhlYWRpbmctZm9udC1zaXplOiAoXHJcbiAgICBoMTogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgMTAsXHJcbiAgICBoMjogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgMTIsXHJcbiAgICBoMzogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgNyxcclxuICAgIGg0OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDcsXHJcbiAgICBoNTogJHBhcmFncmFwaC1mb250LXNpemUgKyAzLFxyXG4gICAgaDY6ICRwYXJhZ3JhcGgtZm9udC1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5ncyBmb250IHdlaWdodFxyXG4kY21zLWhlYWRpbmctZm9udC13ZWlnaHQ6IChcclxuICAgIGgxOiA2MDAsXHJcbiAgICBoMjogNjAwLFxyXG4gICAgaDM6IDYwMCxcclxuICAgIGg0OiA0MDAsXHJcbiAgICBoNTogNDAwLFxyXG4gICAgaDY6IDQwMFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctZm9udC1zdHlsZTogKFxyXG4gICAgaDE6IG5vcm1hbCxcclxuICAgIGgyOiBub3JtYWwsXHJcbiAgICBoMzogbm9ybWFsLFxyXG4gICAgaDQ6IG5vcm1hbCxcclxuICAgIGg1OiBub3JtYWwsXHJcbiAgICBoNjogbm9ybWFsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIG1hcmdpbnNcclxuJGNtcy1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgaDE6IDI1cHggMCAyMHB4LFxyXG4gICAgaDI6IDI1cHggMCAyMHB4LFxyXG4gICAgaDM6IDI1cHggMCAxMHB4LFxyXG4gICAgaDQ6IDI1cHggMCAxMHB4LFxyXG4gICAgaDU6IDE1cHggMCAxMHB4LFxyXG4gICAgaDY6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctcGFkZGluZzogKFxyXG4gICAgaDE6IG51bGwsXHJcbiAgICBoMjogbnVsbCxcclxuICAgIGgzOiAxNXB4IDAsXHJcbiAgICBoNDogMCAwIDEwcHgsXHJcbiAgICBoNTogbnVsbCxcclxuICAgIGg2OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGNvbG91cnMuXHJcbiRjbXMtaGVhZGluZy1jb2xvdXI6IChcclxuICAgIGgxOiAkY29sb3VyNCxcclxuICAgIGgyOiAkY29sb3VyNCxcclxuICAgIGgzOiAkY29sb3VyNixcclxuICAgIGg0OiAkY29sb3VyNCxcclxuICAgIGg1OiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIsXHJcbiAgICBoNjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgaDE6IG51bGwsXHJcbiAgICBoMjogbnVsbCxcclxuICAgIGgzOiBudWxsLFxyXG4gICAgaDQ6IG51bGwsXHJcbiAgICBoNTogbnVsbCxcclxuICAgIGg2OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGxpbmUtaGVpZ2h0LlxyXG4kY21zLWhlYWRpbmctbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBQYXJhZ3JhcGhcclxuJGNtcy1wYXJhZ3JhcGgtbWFyZ2luOiAkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4gIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbiwgMSkgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1jbXMtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWNvbG91cjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXN0cm9uZy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gQW5jaG9yXHJcbiRjbXMtYW5jaG9yLXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb250YWN0LXdlaWdodDogJGNtcy1hbmNob3Itd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIExpc3RzIFxyXG4kY21zLWxpc3QtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLWxpc3QtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWxpc3QtcGFkZGluZzogMCAyNXB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZXNcclxuJGNtcy10YWJsZS1zaWJsaW5nLW1hcmdpbjogMTVweCAwICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWhlYWRlci1jb2x1bW4tcGFkZGluZzogMTBweCAxMHB4IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtY29sdW1uLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIEZpbmQgb3V0IG1vcmUgYnV0dG9uLlxyXG4kY21zLXJtLW1hcmdpbjogMjBweCAwIDAgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtY3VzdG9tLWljb246ICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1ybS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGNtcy1ybS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtcm0tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXJtLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwIFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXJtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjAgXHJcbikgIWRlZmF1bHQ7XHJcbiRjbS1ybS10ZXh0LWRlY29yYXRpb246IChcclxuICAgIGRlZmF1bHQ6IG5vbmUsXHJcbiAgICBob3ZlcjogaWYoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbiwgbm9uZSwgdW5kZXJsaW5lKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBCbG9ja3F1b3RlXHJcbiRjbXMtYmxvY2txdW90ZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNTBweCAzMHB4LFxyXG4gICAgbGFyZ2U6IDUwcHggNjBweFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1zaXplOiA0MHB4ICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gQ29kZSBibG9jay5cclxuJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEltYWdlXHJcbiRjbXMtaW1hZ2Utc3BhY2luZzogMTBweCBhdXRvICFkZWZhdWx0O1xyXG4vLyAtLS0gUmVhZCBNb3JlIC0tLSBcclxuJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5OiAwcHggIWRlZmF1bHQ7XHJcbiRjbXMtcm0tZmFkZS1vcGFjaXR5OiAkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLXJtLWZhZGUtb3BhY2l0eTogJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5ICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZhZGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mZWF0aGVyLWRlZmF1bHQ6IDUwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29udGVudCBsb2FkaW5nIG92ZXJsYXkgLS0tIFxyXG4kY29udGVudC1pbml0aWFsaXNpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU6IDUwcHggIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodDogNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFKQVggQmxvY2tlciAtLS0gXHJcbiRhamF4LXNwaW5uZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVpLWJsb2NrLWJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjMsIDAuNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBHZW5lcmFsIEVycm9yIHN0eWxlcy5cclxuLy8gRXJyb3IgYmxvY2tzIGFyZSBnZW5lcmF0ZWQgYnkgdGhlIHNlcnZlciBhbmQgYXJlIHR5cGljYWxseSBwb3NpdGlvbmVkIGF0IHRoZSB0b3Agb3IgdGhlIGJvdHRvbSBvZiBhIGZvcm0uXHJcbiRlcnJvci1ibG9jay1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBBZHZhbmNlZCB2YWxpZGF0aW9uIGVycm9yIHN0eWxlcy5cclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWljb24tY29sb3VyOiByZ2JhKCRjb2xvdXIzLTYsIDAuNykgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLWludmFsaWQtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXZhbGlkLWNvbG91cjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEJ1dHRvbnMgLS0tIFxyXG4vLyBOZWVkcyBzb21lIHNvcnQgb2Yga25vY2sgYmFjayBmb3IgZ3JleWVkIG91dCBlZmZlY3QgdG8gd29yay5cclxuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNCAhZGVmYXVsdDs7XHJcbi8vIEFkZCB0byBiYXNrZXQgKCBpY29uIG9ubHkgKVxyXG4kYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoOiAzNXB4ICFkZWZhdWx0O1xyXG4kYWRkLXRvLWJhc2tldC1pY29uLWhlaWdodDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aCAhZGVmYXVsdDtcclxuJGFkZC10by1iYXNrZXQtaWNvbi1zaXplOiAyM3B4ICFkZWZhdWx0O1xyXG4vLyBTdGFuZGFyZCBidXR0b24gXHJcbiRiYXNrZXQtYnV0dG9uLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1ib3JkZXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLCBcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJGJhc2tldC1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4vLyBGYXZvdXJpdGVzXHJcbiRmYXZvdXJpdGVzLWljb24tc2l6ZTogJGFkZC10by1iYXNrZXQtaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24td2lkdGg6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGggIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1oZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuJGZhdm91cml0ZXNQcmVzZXRyMkljb25TaXplOiAxOHB4O1xyXG4vLyBNYWlsaW5nIEJ1dHRvbi5cclxuJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDogNDBweCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDVweCAwIDAsXHJcbiAgICBtZWRpdW06IDBcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLXBhZGRpbmc6IDAgNXB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7IFxyXG4kbWFpbGluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gSWYgd2FudCB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZSBidXR0b24gdG8gYXBwZWFyIGFzIHNlcGVyYXRlIGVsZW1lbnRzLlxyXG4kbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXI6IDFweCAxcHggMXB4IDAgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXI6IDFweCAwIDFweCAxcHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gLS0tIFByaW50IGVsZW1lbnRzIGJ1dHRvbiAtLS1cclxuLy8gQ29sb3Vycy4uLi4uXHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJvcmRlci1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW5zLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91cikgXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24taWNvbi1jb25maWc6IChcclxuICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKSxcclxuICBwb3NpdGlvbjogYmVmb3JlLFxyXG4gIG1hcmdpbjogMCAxMnB4IDAgMCxcclxuICBjb2xvdXI6ICRwcmludC1lbGVtZW5zLWJ1dHRvbi1pY29uLWNvbG91cixcclxuICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUmV2ZWFsIHBhc3N3b3JkIGJ1dHRvbiAtLS0gXHJcbiRyZXZlYWwtcGFzc3dvcmQtd2lkdGg6IDQ1cHggIWRlZmF1bHQ7XHJcbiRyZXZlYWwtaWNvbi1jb2xvdXI6IHJnYmEoJGNvbG91cjMtNiwgMC43KSAhZGVmYXVsdDtcclxuJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBHZW5lcmFsLlxyXG4kcXVhbnRpdHktbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDZweCAwLFxyXG4gICAgbGFyZ2U6IDZweCAxNXB4IDZweCAwXHJcbikgIWRlZmF1bHQ7IFxyXG4kcXVhbnRpdHktaW5wdXQtaGVpZ2h0OiA0NXB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDogMjVweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gRnJlZSBUZXh0IFF1YW50aXR5IFNlbGVjdG9yXHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg6IDUwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ6ICRxdWFudGl0eS1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoOiAoJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aCAtIDEwKSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kcXVhbnR0aXktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5jcmVtZW50LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtZGVjcmVtZW50LWNvbG91cjogJHF1YW50aXR5LWZyZWUtdGV4dC1pbmNyZW1lbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMlxyXG4gICAgKSxcclxuICAgIHByZXNldC0xOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjZcclxuICAgICksXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyM1xyXG4gICAgKSxcclxuICAgIHByZXNldC0xOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIzLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjMtMVxyXG4gICAgKSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gRHJvcGRvd24gUXVhbnRpdHkgU2VsZWN0b3JcclxuJHF1YW50aXR5LWRyb3Bkb3duLXdpZHRoOiA5MHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZHJvcGR3b24tcGFkZGluZy1sZWZ0OiAxMHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0OiAkcXVhbnRpdHktaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBDb250cm9sIHNsaWRlcnMgLS0tLS1cclxuLy8gUmFpbCBvcHRpb25zLlxyXG4kc2xpZGVyLXJhaWwtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyMSwgLjcpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdHJhbnNwYXJlbnQsXHJcbiAgICBob3ZlcjogdHJhbnNwYXJlbnQsXHJcbiAgICBhY3RpdmU6IHRyYW5zcGFyZW50XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc2xpZGVyLXJhbmdlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyBIYW5kbGUgb3B0aW9ucy5cclxuJHNsaWRlci1oYW5kbGUtZGltZW50aW9uczogMjJweCAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDsgXHJcbiRzbGlkZXItaGFuZGxlLWljb24tY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1czogMjVweDtcclxuLy8gLS0tIFN3ZWV0IEFsZXJ0cyAoIFN1Y2Nlc3MsIFdhcm5pbmcsIEFsZXJ0IEljb25zICkgLS0tIFxyXG4kc2EtZGltZW50aW9uczogODBweCAhZGVmYXVsdDtcclxuJHNhLW1hcmdpbjogMzBweCBhdXRvIDE1cHggIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0XHJcbiRzYS1hbGVydC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS1hbGVydC1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbi8vIFdhcm5pbmdcclxuJHNhLXdhcm5pbmctZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2Etd2FybmluZy1jb2xvdXI6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuLy8gU3VjY2Vzc1xyXG4kc2Etc3VjY2Vzcy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS1zdWNjZXNzLWNvbG91cjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRhYnMgLS0tXHJcbiR0YWJzLXRpdGxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMjVweCxcclxuICAgIGxhcmdlOiA0MHB4IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAyNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEFjY29yZGlvbnMgLS0tIFxyXG4vLyBUaXRsZS5cclxuJGFjY29yZGlvbnMtYXJyb3ctZm9udC1zaXplOiAkdGFicy10aXRsZS1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLWFycm93LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRhYnMtdGl0bGUtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkdGFicy10aXRsZS1jb2xvdXIpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1mb250LXNpemU6ICR0YWJzLXRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtZm9udC13ZWlnaHQ6ICR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS10ZXh0LXRyYW5zZm9ybTogJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaGlnaGxpZ2h0OiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0zXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbnRlbnQuXHJcbiRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zLCBwcm9tcHRzICYgY2FsbG91dHMgLS0tLS1cclxuLy8gVE9ETzogVGhpcyBuZWVkcyBzaW1wbGlmeWluZywgaXRzIGEgbWVzcyBkdWUgdG8gbXVsdGlwbGUgaXRlcmF0aW9ucy5cclxuJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuLy8gU3VjY2VzcyBidXR0b24uXHJcbiRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb25maXJtYXRpb24gLS0tIFxyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC13YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMTApICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE9uIHBhZ2Ugbm90aWZpY2F0aW9uIC0tLSBcclxuLy8gRGVmYXVsdHNcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQ6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaW5mb3JtYXRpb246IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGluZm9ybWF0aW9uOiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogJHN0YXR1cy1idXR0b24tY29tbW9uLXdlaWdodCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAzMHB4IDAsXHJcbiAgICBwcmVzZXQtMjogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogMzVweCAxMHB4LCAvLyBGdWxsIHNpemVcclxuICAgIHByZXNldC0yOiAxNXB4IDY1cHggLy8gTWluaWZpZWRcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcDogKFxyXG4gICAgc21hbGw6IDAgc3BhY2luZy12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZywgMiwgcHJlc2V0LTEpLFxyXG4gICAgbGFyZ2U6IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gU3BlY2lmaWNcclxuLy8gLS0tIE5vIGl0ZW1zIGZvdW5kIC0tLS0gXHJcbiRuby1pdGVtcy1mb3VuZC1tYXJnaW46ICgpICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtcGFkZGluZzogKCkgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtaWNvbi1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSW50ZXJuYWwgRXJyb3IgLS0tIFxyXG4kaW50ZXJuYWwtZXJyb3ItbWFyZ2luOiAkbm8taXRlbXMtZm91bmQtbWFyZ2luICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItcGFkZGluZzogKCkgIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1mb250LXNpemU6ICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1pY3Jvbi1zaXplOiAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplO1xyXG4vLyAtLS0gQ2FsbG91dHMgLS0tXHJcbiRub3RpZmljYXRpb24tY2FsbG91dC1mb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9tcHQgcG9wdXBzIC0tLSBcclxuJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZzogODBweCAhZGVmYXVsdDtcclxuLy8gLS0tIEdlbmVyYWwgTm90aWZpY2F0aW9ucyAoIHBpbm5lZCB0byB0aGUgYm90dG9tIG9mIHRoZSB3aW5kb3cgKVxyXG4kbm90aWZpY2F0aW9ucy1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEycHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gQmVjYXVzZSBvZiBUaWRpby4uLi4uXHJcbiRub3RpZmljYXRpb25zLXotaW5kZXg6IDk5OTk5OTk5OTkgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA3LjVweCAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHggMzBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUFdBIC0tLSBcclxuJG5vdGlmaWNhdGlvbnMtYXBwLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0zICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29va2llIFBvbGljeSAtLS0gXHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIzLTIsIDAuOSkgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcblxyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGhvdmVyLWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBkZWZhdWx0LWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLSBcclxuLy8gUmVzdHJpY3RlZCBjb250ZW50LlxyXG4kZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4vLyBJbnRlcm5hbCB1c2Ugb25seSBjb250ZW50LlxyXG4kZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seS1jb2xvdXI6ICRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBJbnRybyAtLS1cclxuJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KSAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24taW50cm8tYmFubmVyLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTGlzdCAtLS0gXHJcbiRkb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1wYWRkaW5nOiA3cHggc3BhY2luZy12YWx1ZSgkdGhlYWQtcHJlc2V0LTEsIDIsIHBhZGRpbmcpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEhlYWRlciBjb250YWluZXIgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luOiAzNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbnRlbnQgQ29udGFpbmVyIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lci13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQWRkaXRpb25hbCBMaW5rcyAtLS1cclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTogMXB4IHNvbGlkICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ29udGV4dCBNZW51IC0tLS0tXHJcbiRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXg6IDE5OTUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS1cclxuJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1zdGVwLWhlaWdodDogNjBweCAhZGVmYXVsdDtcclxuJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGU6IDU2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ29sbGVjdGlvbnMgLS0tLS0gXHJcblxyXG4vLyBUT0RPOiBUaGUgdGVybWlub2xvZ3kgbmVlZHMgdG8gYmUgY2hhbmdlZCBmcm9tIFwiIGJ4LSBcIiB0byBcIiBjb2xsZWN0aW9uLSBcIlxyXG4kYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM6IDE1cHggIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHk6IChcclxuICAgIGRlZmF1bHQ6IC41LFxyXG4gICAgaG92ZXI6IC44LFxyXG4gICAgYWN0aXZlOiAxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5OiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGRlZmF1bHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nOiAxMHB4IDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nLWJvdHRvbTogMjBweCAhZGVmYXVsdDsgLy8gTmVlZCB0byBhZGQgcGFkZGluZyBib3R0b20gaWYgYm9yZGVyLWJvdHRvbSBpcyBzZXQuXHJcbiRjb2xsZWN0aW9uLXNsaWRlLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aDogMCAwIDVweCAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jZWxsLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIEludmVydHMgd2hlbiBib3gtc2hhZG93IGlzIGFwcGxpZWQgZnJvbSB3aGVuIGhvdmVyIHN0YXRlIHRvIGRlZmF1bHQgc3RhdGUuXHJcbiRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNlbGwtcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ob3Zlci1ib3gtc2hhZG93LXN1cHByZXNzOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0OyAvLyBVc2VmdWwgaWYgd2UgbmVlZCBtb3JlIHNwYWNlIGFmdGVyIGEgc2VwZXJhdG9yLlxyXG4kY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXI6ICRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZzogKFxyXG4gICAgY29tcGFjdDogMTBweCxcclxuICAgIG5vbi1jb21wYWN0OiAxNXB4IDEwcHggLy8gZGVzY3JlYXNpbmcgdG8gMTBweCBMICsgUiB0byBrZWVwIGJ1eSBib3ggZnJvbSB3cmFwcGluZyBhdCA2IGNvbHVtbi5cclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogNXB4LFxyXG4gICAgbGFyZ2U6IDVweFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1ib3gtc2hhZG93LWludmVydDogJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBub25lLFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3czXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWZsZXgtZ3JvdzogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tZmxleC1iYXNpczogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWFsaWduLWl0ZW1zOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZzogbWFwLWdldCgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCBub24tY29tcGFjdCkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1ob3Zlci11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4kY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCBhdXRvIDAsXHJcbiAgICBsYXJnZTogMCAvLyBEb24ndCBzZXQgbWFyZ2luIGJvdHRvbSwgdGhpcyBpcyB0eXBpY2FsbHkgY29udHJvbCBieSBtb2R1bGUgb3Igcm93IG1hcmdpbnMuXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtaW1hZ2UtbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItbWFyZ2luLWJvdHRvbTogMzVweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLXBvc2l0aW9uLWJvdHRvbTogKCRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tIC0gMTUpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctaW1hZ2Utc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gSGF2aW5nIHRvIHJlc3RyaWN0IGltYWdlIHNpemVzIGR1ZSB0byBleHRlcm5hbCBkYXRhIGltYWdlcyBkb2VzIG5vdCBnbyB0aHJvdWdoIERpcGxvbWF0J3MgaW1hZ2UgbWFuYWdlbWVudCwgZG9udCBtZWRpdW0geWV0IGFzIHdlIGN1cnJlbnRseSBkb24ndCB1c2UgdGhpcyBicmVha3BvaW50IGluIG91ciBjb2xsZWN0aW9ucy5cclxuJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHk6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zaXplczogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICAxOiAxMjgwcHgsXHJcbiAgICAgICAgMjogNjMwcHgsXHJcbiAgICAgICAgMzogNDE4cHgsXHJcbiAgICAgICAgNDogMzEycHgsXHJcbiAgICAgICAgNTogMjQ5cHgsXHJcbiAgICAgICAgNjogMjA1cHgsXHJcbiAgICAgICAgNzogMTc1cHgsXHJcbiAgICAgICAgODogMTUzcHhcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIDE6ICRnbG9iYWwtd2lkdGgsXHJcbiAgICAgICAgMjogNjQ0cHgsXHJcbiAgICAgICAgMzogNDI0cHgsXHJcbiAgICAgICAgNDogMzE2cHgsXHJcbiAgICAgICAgNTogMjUwcHgsXHJcbiAgICAgICAgNjogMjA3cHgsIFxyXG4gICAgICAgIDc6IDE3NXB4LFxyXG4gICAgICAgIDg6IDE1MnB4XHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTAwJSxcclxuICAgIGhlaWdodDogMXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2Fyb3VzZWwgdHlwb2dyYXBoeSAtLS0gXHJcbiRjb2xsZWN0aW9uLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gY29sbGVjdGlvbi1lYmctY29sb3VyIG5vcm1hbGx5IGdldHMgc2V0IGJ5ICRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIgYnV0IGlmIHdlIHdhbnQgZWJnJ3MgdG8gYmUgYSBkaWZmZXJlbnQgY29sb3VyIHRoZW4gd2UgdXNlZCB0aGlzIG92ZXJyaWRlLlxyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24tZWJnLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6ICgkZGVmYXVsdC1saW5lLWhlaWdodCAtIC4zKSAhZGVmYXVsdDsgLy8gSXQgd2FzIGRlY2lkZWQgdGhhdCBjb2xsZWN0aW9uIGxpbmUtaGVpZ2h0cyBzaG91bGQgYmUgc2xpZ2h0bHkgdGlnaHRlci5cclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB0cmFuc3BhcmVudCxcclxuICAgIGhvdmVyOiB0cmFuc3BhcmVudCxcclxuICAgIGFjdGl2ZTogdHJhbnNwYXJlbnRcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyOiAkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyICFkZWZhdWx0O1xyXG4vLyRieC1kZXNjcmlwdGlvbi1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbi8vICRieC1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kYngtcHJpY2UtZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb2RlLWNvbG91cjogJGNvZGUtY29sb3VyICFkZWZhdWx0O1xyXG4vLyBMYWJlbCAmIFZhbHVlIHBhaXJzICggZXNzZW50aWFsbHkgc21hbGwgcGllY2VzIG9mIGRhdGEgKVxyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplOiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb2xsZWN0aW9uIGJ1eSBib3hlcyAtLS0gXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogZmxleC1zdGFydCxcclxuICAgIGxhcmdlOiBmbGV4LXN0YXJ0XHJcbikgIWRlZmF1bHQ7XHJcbi8vc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZzogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgcmVwbGFjZXMgdGhlIGFib3ZlLlxyXG4kY29sbGVjdGlvbi1idXktYm94LXBhZGRpbmctdG9wOiAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbGxlY3Rpb24gYnV0dG9ucyAtLS1cclxuJGNvbGxlY3Rpb24tYnV0dG9uLXdpZHRoOiA2NiUgIWRlZmF1bHQ7XHJcbi8vIE1hcmdpbiB0b3AgbXVzdCBiZSBzZXQgdG8gYXV0byB0byBhc3Npc3QgZXF1YWxpc2luZyB0aGUgYnV0dG9ucyBvbiBlYWNoIHJvdy5cclxuJGNvbGxlY3Rpb24tYnV0dG9ucy1tYXJnaW46IGF1dG8gYXV0byBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZywgMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2xpZGVzIHN0eWxlcyAtLS0gXHJcbi8vIENoYW5nZ2luZyB0byB0cmFuc3BhcmVudCB0byBhbGxvdyB1c2Ugb2ZmIHJvdywgbW9kdWxlICYgY29udGVudCBiYWNrZ3JvdW5kcy5cclxuLy8gVGhpcyB2YXJpYWJsZSBpcyBubyBsb25nZXIgdXNlZCBhcyB3ZSBuZWVkZWQgbW9yZSBmbGV4aWJpbGl0eSBmb3IgbW9kdWxlIGNvbnRlbnQgYmFja2dyb3VuZHMsIGhhdmUgaW50cm9kdWNlZCAkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIgdG8gaGFuZGxlIHByb2R1Y3QgY29sbGVjdGlvbnMgYXMgdGhleSBuZWVkIHRvIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG91ciAoIGkuZSB3aGl0ZSApIGR1ZSB0byB0aGUgY29udGVudCB0aGF0IGlzIGJlaW5nIGRpc3BsYXllZC5cclxuJGJ4LXNsaWRlLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYXJvdXNlbCBDb250cm9scyAtLS1cclxuLy8gQ29udHJvbHNcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyOiAxMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uOiAnYm90dG9tLXJpZ2h0JyAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6ICRib3hTaGFkb3cyLFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3cyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBhZGRpbmcgdXNlZCBmb3IgYWxpZ25tZW50IGlmIHVzaW5nIGN1c3RvbSBpY29ucy5cclxuJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDQ1cHgsXHJcbiAgICBub3JtYWw6IDMwcHgsXHJcbiAgICBsYXJnZTogNzVweFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTRweCxcclxuICAgIGxhcmdlOiAxOHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLXNoYWRvdzogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbi8vIER1ZSB0byB1c2luZyB2YXJpb3VzIGRpZmZlcmVudCBmb250IGZhbWlsaWVzIGZvciBnbHlwaHMgcGxhY2VtZW50IG9mIHRoZSBnbHl0aCBpbiBpdHMgY2FudmFzIGNhbiB2YXJ5IHNvIGluIHNvbWUgY2FzZXMgd2UgbmVlZCB0byBhZGQgYSBzaGltIHRvIGNlbnRyYWxpc2UgaXQgd2l0aGluIHRoZSBidXR0b24uXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbTogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VwZXJhdG9ycyAtLS1cclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxcHgsXHJcbiAgICBoZWlnaHQ6IDgwJVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3JzLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEFYSVMgVG9vbHRpcCAtLS0tLSBcclxuJHRvb2x0aXAtY29udGVudC1jb250YWluZXItd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LXRpcC1zaXplOiA5ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGg6IDIgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYm9yZGVyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7IC8vIEZvciB3YXJuaW5nICYgYWxlcnQuXHJcbiR0b29sdGlwLWNvbnRlbnQtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHRvb2x0aXAtaW5mby1pY29uLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbiR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjMtNiwgMC43KSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEhlYWRlciAtLS0tLVxyXG4kaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UtcG9zaXRpb246IHRvcCByaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBSZXNwb25zaXZlIC0tLSBcclxuLy8gV2hpY2ggY29tcG9uZW50cyBpbiBtb2JpbGUgZG9uJ3QgZ2V0IHN1cHByZXNzZWQgaW5zaWRlIG9mIHRoZSBoZWFkZXItY29udGVudC0qIGNvbnRhaW5lcnMuXHJcbiRoZWFkZXItY29tcG9uZW50LWRpc3BsYXktbGlzdDogXCIubG9nby1jb250YWluZXJcIiwgXCIjYWN0aW9uLWJhci1jb250YWluZXJcIiwgXCIuaGVhZGVyLXNlYXJjaC1jb250YWluZXJcIiwgXCIuaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZVwiICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ6IDgwdmggIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLW1lbnUtei1pbmRleDogMjAwMCAhZGVmYXVsdDtcclxuJGhlYWRpbmctZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNDcuNyUgMjguNSUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbWVkaXVtOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplOiAzNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAyLjVweCxcclxuICAgIG1lZGl1bTogMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZTogMTgwZGVnICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheTogKFxyXG4gICAgbWFpbDogdHJ1ZSxcclxuICAgIHRlbGVwaG9uZTogdHJ1ZSxcclxuICAgIHNlYXJjaDogdHJ1ZSxcclxuICAgIGJhc2tldDogdHJ1ZSxcclxuICAgIGhhbWJ1cmdlcjogdHJ1ZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS13ZWlnaHQ6IDJweCAhZGVmYXVsdDtcclxuLy8gJGhlYWRlci1uYXYtcmlnaHQtd2lkdGg6IDM3MHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIHRvZ2dsZSBiYXIgIFsgRGVza3RvcCBdIC0tLSBcclxuJGhlYWRlci10b2dnbGUtYmFyLWdhcDogMCAxMi41cHggIWRlZmF1bHQ7XHJcbi8vIEJ1dHRvbnNcclxuJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZzogMy41cHggNy43NXB4O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHM6IChcclxuICAgIHNlYXJjaDogNDkwcHgsICAgIFxyXG4gICAgYWN0aW9uLWJhcjogMjUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBBY2NvdW50IEJ1dHRvbiAtLS1cclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1taW4taGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZyxcclxuICAgIG1pbmlmaWVkOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWd1dHRlcjogMTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXNpemU6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjNcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgVXBwZXIgLS0tXHJcbiRoZWFkZXItdXBwZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29uLW1hcmdpbjogMCAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29uLXBhZGRpbmc6IDFweCA1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tc2l6ZTogJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZSAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLWxpbmUtaGVpZ2h0OiAyMnB4ICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tcm90YXRlOiAkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUgIWRlZmF1bHQ7XHJcbiRtZW51cy1lbWFpbC1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy1lbWFpbC1pY29uLXNpemU6ICRoZWFkaW5nLXVwcGVyLWljb25zLXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlci13aWR0aDogMCAwIDFweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXBhZGRpbmc6IDcuNXB4IDE1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0gTWlkZGxlIC0tLVxyXG4kaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMzQlLFxyXG4gICAgbWVkaXVtOiBub25lLFxyXG4gICAgbGFyZ2U6ICRnbG9iYWwtd2lkdGhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBIZWFkZXIgY29udGVudCBsZWZ0LlxyXG4vLyBEZXByZWNhdGVkIG1vdmluZyB0byByZWxhdGl2ZSBsZW5ndGhcclxuLy8gJGxvZ28tY29udGFpbmVyLXdpZHRoOiAoXHJcbi8vICAgICBsYXJnZTogMzEwcHhcclxuLy8gKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMjAwcHgsXHJcbiAgICBtaW5pZmllZDogMTA1cHgsXHJcbiAgICBzbWFsbDogNjVweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNjVweCxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogNXB4IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28taW1hZ2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsIFxyXG4gICAgbGFyZ2U6IDI1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsOiBmYWxzZSAhZGVmYXVsdDtcclxuJGxvZ28tY29udGFpbmVyLWp1c3RpZnk6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGxvZ28tY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMTBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcclxuXHJcbiRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnM6IChcclxuICAgIGxhcmdlOiAxZnIgI3soJGdsb2JhbC13aWR0aCAvIDMpfSxcclxuICAgIHh4bGFyZ2U6IDFmciAjeygkZ2xvYmFsLXdpZHRoIC8gMil9XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtdW5kZXJsaW5lLWhlaWdodDogMnB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LW1hcmdpbjogYXV0byAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1tYXJnaW46ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWl0ZW0tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZzogMTVweCAxMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEhlYWRlciBjb250ZW50IGNlbnRlci5cclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBIZWFkZXIgY29udGVudCByaWdodC5cclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zOiAoXHJcbiAgICBsYXJnZTogMWZyLFxyXG4gICAgeGxhcmdlOiAxZnIsXHJcbiAgICB4eGxhcmdlOiAjeygkZ2xvYmFsLXdpZHRoIC8gMil9IDFmclxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZTogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1hbmNob3ItcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZyAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTbyB0aGUgY29udGVudCBmaXRzIHRpZ2h0IGFnYWluc3QgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1zdXBwcmVzcy1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBMb3dlciAtLS1cclxuJGhlYWRlci1tZWdhLW1lbnUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCwgbGFyZ2UpLFxyXG4gICAgeGxhcmdlOiBudWxsLFxyXG4gICAgeHhsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxcHgsXHJcbiAgICBoZWlnaHQ6IDEwMCVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb3dlci1pdGVtLWdyb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvd2VyLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbi8vJGhlYWRlci1sb3dlci1pdGVtLXBhZGRpbmc6IDE1cHggMTVweCAhZGVmYXVsdDtcclxuLy8gTWVnYSBNZW51XHJcbiRtZWdhLW1lbnUtYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ib3JkZXItd2lkdGg6IDFweCAwIDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtYm9yZGVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbW9iaWxlLW1heC1oZWlnaHQ6IDgwdmggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbW9iaWxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbi8vIE1lZ2EgbWVudSBpY29ucy5cclxuJG1lZ2EtbWVudS1zaG93LWljb25zOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1zaG93LWljb25zLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDhweCAwIDhweCxcclxuICAgIGxhcmdlOiAwIDhweCAwIDAgXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1mb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhciAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDogNzB2aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTcuNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHggNDdweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3c6IDBweCAyMHB4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gTWVnYSBtZW51IEltYWdlIC0tLVxyXG4kbWVnYS1tZW51LWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtZGVza3RvcC1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9uczogMjAwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBNb2JpbGUgTmF2aWdhdGlvbiB0ZXh0ICggSGVhZGVyICkgLS0tXHJcbiRtZW51LW5hdi10ZXh0LW1hcmdpbjogMzBweCAwIDQwcHggIWRlZmF1bHQ7XHJcbi8vIExldmVsIDFcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLWZpcnN0LWNoaWxkLW1hcmdpbjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZyAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemU6IChcclxuICAgIHNtYWxsOiAyMCxcclxuICAgIGxhcmdlOiAxNVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA3MDAsXHJcbiAgICBsYXJnZTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDE1cHggMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0LXNtYWxsOiAkY29sb3VyNCxcclxuICAgIGRlZmF1bHQtbGFyZ2U6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGxhcmdlLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciksIC8vIHlvdSBtYXkgZ2V0IGlzc3VlcyBoZXJlIGZvciBtb2JpbGUuXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZTogKFxyXG4gICAgc21hbGw6IDM1cHgsXHJcbiAgICBsYXJnZTogNDVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWRlc2NyaXB0aW9uLXBhZGRpbmc6IDEwcHggMCAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAyXHJcbiRtZWdhLW1lbnUtbWF4LWNvbHVtbnM6IDggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24td2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tY29udGVudC1jb250YWluZXI6IGlmKCRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCwgJGdsb2JhbC13aWR0aCwgMTAwJSkgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAyMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LW1lbnUtZHJvcGRvd24tYm9yZGVyLWNvbG91cjogJGNvbG91cjQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxMHB4IDAgNXB4IDVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTcsXHJcbiAgICBsYXJnZTogMTVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA3MDAsXHJcbiAgICBsYXJnZTogODAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMy5cclxuJG1lZ2EtbWVudS1jaGlsZC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLXNpemU6IChcclxuICAgIHNtYWxsOiAxNyxcclxuICAgIGxhcmdlOiAxNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNDAwLFxyXG4gICAgbGFyZ2U6IDQwMFxyXG4pICFkZWZhdWx0OyBcclxuJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAkY29sb3VyMixcclxuICAgIGxhcmdlLWRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgbGFyZ2UtaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgbGFyZ2UtYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAyKSA1cHggc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCA0KSxcclxuICAgIGxhcmdlOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMiwgbGFyZ2UpIDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCA0LCBsYXJnZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gVmlldyBtb3JlLlxyXG5cclxuLy8gQWNjb3VudCBNZW51LlxyXG4kYWNjb3VudC1tZW51LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA1NTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1tZW51LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBHZXRzIHVzZWQgaW4gaGVhZGVyIHZhcmlhbnQgM1xyXG4kYWNjb3VudC1tZW51LWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuJG1lbnUtbGV2ZWwxLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMi1kZWZhdWx0LW1vYmlsZS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtZGVmYXVsdC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb21tb24gbWVudSBzdHlsZXNcclxuJG1vYmlsZS1tZW51LWZvb3Rlci1wYWRkaW5nLWJvdHRvbTogNTBweCAhZGVmYXVsdDsgXHJcbiRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLXNpemU6IDZweCAhZGVmYXVsdDtcclxuJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3RlcjogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgZm9yIGNvbXBhY3QgaGVhZGVyIGZvciBheGlzIHBvcnRhbC5cclxuLy8gJGhlYWRlci1jb250ZW50LW1pbi1oZWlnaHQ6IDE0NXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RhdHVzIG1lc3NhZ2VzIC0tLSBcclxuJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtc2VwZXJhdG9yLWNvbG91cjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gVGFnbGluZSAtLS1cclxuJGhlYWRlci10YWdsaW5lLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxvd2VyLXN1cHByZXNzOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nOiA4cHggMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuLy8gLS0tIFNlYXJjaCAtLS1cclxuLy8gJGhlYWRlci1zZWFyY2gtd2lkdGg6IDYyMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3c6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0OyBcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEFzIHdlIG1pZ2h0IHdhbnQgdG8gc2V0IHRoZSBzaGFkb3cgb24gdGhlIGNvbnRhaW5lciBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgaW5wdXRzLlxyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93OiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pY29uLXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXNlYXJjaC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0IDQwcHggMCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci13aWR0aC1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ci1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1idXR0b24taWNvbi1jb2xvdXItb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBXZWxjb21lIFRleHQgLS0tIFxyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgbGFyZ2U6IGZsZXgtZW5kLFxyXG4gICAgeHhsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtdGV4dC1hbGlnbjogcmlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBBdXRvY29tcGxldGUgKCBTZWFyY2ggKVxyXG4kYWMtcmVzdWx0LXBpbi10by10b3A6IHRydWUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbjogKFxyXG4gICAgdG9wOiBpZihub3QgJGFjLXJlc3VsdC1waW4tdG8tdG9wLCAtI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZywgMSwgbGFyZ2UpfSwgbnVsbCksXHJcbiAgICByaWdodDogbnVsbCxcclxuICAgIGxlZnQ6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtd2lkdGg6IDcwMHB4ICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1vZmZzZXQ6IC0je3NwYWNpbmctdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nLCA0LCBsYXJnZSl9ICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1ib3gtc2hhZG93OiAkYm94U2hhZG93MSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtcGFkZGluZzogKFxyXG4gICAgdG9wOiAxMTBweCxcclxuICAgIHNpZGU6IDAsXHJcbiAgICBib3R0b206IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLW1hcmdpbjogMTBweCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS10ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLXBhZGRpbmc6IDVweCAxNXB4ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItd2lkdGg6IDAgMCAxcHggMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1mb250LXNpemU6ICgkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tbGlzdC1wYWRkaW5nOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWNvbnRlbnQtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXBhZGRpbmc6IDAgMjBweCAwIDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLW1hcmdpbjogMCAwIDVweCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0taW1hZ2UtbWFyZ2luOiAwIDEwcHggMCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogNTBweCxcclxuICAgIGhlaWdodDogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXNuaXBwZXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gTmF2aWdhdGlvbiAtLS1cclxuLy8gSG9tZSBCdXR0b25cclxuJGhvbWUtYnV0dG9uLXdpZHRoOiBmaXQtY29udGVudCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tc3VwcHJlc3MtYmFja2dyb3VuZC1jb2xvdXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLXBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgbGFyZ2UpICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zOiAoXHJcbiAgICB3aWR0aDogMnB4LFxyXG4gICAgaGVpZ2h0OiA4MCVcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTdGlja3kgLS0tIFxyXG4kaGVhZGVyLW1pbmlmaWVkLWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eTogMSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IFByZXZpZXcgLS0tIFxyXG4kZGVza3RvcC1zdW1tYXJ5LXdpZHRoOiAyNTVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWhvdmVyLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA0MDAsXHJcbiAgICBob3ZlcjogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlvdXMtaWNvbi13aWR0aDogNzJweCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiA5cHggMjNweCxcclxuICAgIG1pbmlmaWVkOiA0cHggMjNweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXIxLFxyXG4gICAgYWxlcnQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0OyAvLyBGb3Igd2FybmluZyAmIGFsZXJ0IHN0YXRlcy5cclxuJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhbGwgdG8gYWN0aW9uIC0tLSBcclxuJGhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXItaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kYmFza2V0LXByZXZpZXctaWNvbi1mb250LXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBCcmVhZGNydW1icyAmIFZhdCBTd2l0Y2hlciAtLS0gXHJcbiRoZWFkZXItbm8tYnJlYWtjcnVtYnMtdG9nZ2xlLXN3aXRjaC1zaGltLW9uLWhvbWVwYWdlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW06IDcuNXB4ICFkZWZhdWx0OyAvLyB0cnkgYW5kIGtlZXAgaW4gc3luYyB3aXRoIG1vZHVsZSBtYXJnaW4gdG9wICsgYm90dG9tICggaS5lIGhhbGYgJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiApLlxyXG4kYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiA4cHggMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCcmVhZGNydW1icyAtLS1cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTogMTBweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1tYXJnaW46IDAgNXB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW06IDFweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXVwcGVyY2FzZTogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVkFUIFN3aXRjaGVyIC0tLSBcclxuJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsOiBmYWxzZSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA0MDAsXHJcbiAgICBhY3RpdmU6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9uczogMzRweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiAkY29sb3VyMCxcclxuICAgIGluY2x1c2l2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiAkY29sb3VyMy0yLFxyXG4gICAgaW5jbHVzaXZlOiAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWdhcDogMCAxMHB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAzKSxcclxuICAgIGluY2x1c2l2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAzKVxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFVTUCBCYXIgLS0tIFxyXG4kdXNwLW9yZGVyLWludmVydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtZ3V0dGVyOiAxMnB4ICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLXBhZGRpbmc6IDZweCAhZGVmYXVsdDtcclxuJHVzcC1iYXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAwIDcuNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtcGFkZGluZzogMTVweCA1cHggIWRlZmF1bHQ7XHJcbiR1c3AtYmFja2dyb3VuZC1mdWxsLXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1ob3Zlci1vcGFjaXR5OiAuNiAhZGVmYXVsdDtcclxuJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiBkYXJrZW4oJGNvbG91cjMsIDEwJSksXHJcbiAgICBhY3RpdmU6IGRhcmtlbigkY29sb3VyMywgMjAlKVxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiR1c3AtZ3V0dGVyOiAwICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3ItZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDJweCxcclxuICAgIGhlaWdodDogMjhweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNwLWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHVzcC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR1c3AtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1jdXN0b20taWNvbjogJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVzcC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiR1c3AtYm9yZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIE1vZHVsZXMgLS0tLS0gXHJcbiRtb2R1bGUtaDEtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG1vZHVsZS1oMi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbW9kdWxlLWhlYWRpbmctYm9yZGVyOiAwcHggc29saWQgJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcclxuLy8gLS0tIFJvdyBCYWNrZ3JvdW5kIC0tLVxyXG4kbW9kdWxlcy1yb3ctcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNDVweCAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kbW9kdWxlcy1yb3ctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSb3cgQ29udGFpbmVyIC0tLSBcclxuJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMCksXHJcbiAgICBsYXJnZTogKDQ1cHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLXJvdy1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNb2R1bGUgQ29udGFpbmVyIC0tLVxyXG4kbW9kdWxlcy1tb2R1bGUtYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiAxMHB4LFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgyLjVweCwgYXV0byksXHJcbiAgICBsYXJnZTogKDMwcHgsIGF1dG8pXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNb2R1bGUgQ29udGVudCBDb250YWluZXIgLS0tXHJcbiRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhZ2UgSGVhZGluZyAtLS0gXHJcbiRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEVCRyAtLS1cclxuJG1vZHVsZXMtZWJnLXBhcmFncmFwaC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBtb2R1bGUocykgYXNzb2NpYXRlZCBiYW5uZXIgaW1hZ2UgbWFuYWdlbWVudCAtLS1cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdDogY292ZXIgIWRlZmF1bHQ7IC8vIHRoaXMgY29udHJvbHMgdGhlIGxhcmdlIGJyZWFrcG9pbnQuXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0OiAoXHJcbiAgICBldmVudHM6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBuZXdzOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgYmxvZzogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIGVudHJ5OiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0OiAoXHJcbiAgICBldmVudHM6IDU1MHB4LFxyXG4gICAgbmV3czogMzc1cHgsXHJcbiAgICBibG9nOiA0NzVweCxcclxuICAgIGVudHJ5OiAzODBweCAvLyBJZiBsZWZ0IG9yIHJpZ2h0IGFsaWduZWQuXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQmxvZyAtLS0tIFxyXG4kbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2cteS1ndXR0ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICgwKSxcclxuICAgIGxhcmdlOiAoMClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1MHB4IDEwcHgsXHJcbiAgICBsYXJnZTogNTBweCA3LjUlXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjogdW5zZXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTmV3cyAtLS1cclxuJG1vZHVsZXMtbmV3cy15LWd1dHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ld3MtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogKDI1cHgpLFxyXG4gICAgbGFyZ2U6ICg0MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXctaGVhZGluZy1tYXJnaW46IDAgMCAxNXB4ICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRXZlbnRzIC0tLSBcclxuJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtZXZlbnRzLWdhcDogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEdyaWQgY29sbGVjdGlvbiAtLS0gXHJcbi8vIENvbGxlY3Rpb24gaXRlbVxyXG4kbW9kdWxlcy1ncmlkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDcuNXB4LFxyXG4gICAgbWVkaXVtOiAxNXB4LCAvLyBDaGFuZ2luZyB0byAxNXB4IHRvIG1hdGNoIGZhbGxiYWNrIGd1dHRlci5cclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEd1dHRlciBmYWxsYmFjayBpZiBDU1MgdmFyaWFibGUgaXMgbm90IGRlZmluZWQsIGkuZSBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eSBvZiBvbGQgbW9kdWxlcy5cclxuJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2s6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkdW06IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgTW9kdWxlcyAtLS0gXHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1hcmdpbjogYXV0byAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDogMCAwIDUwJSAhZGVmYXVsdDtcclxuLy8gVXNlZCBmb3IgaW1hZ2UgcmlnaHQgKyBsZWZ0LlxyXG4kY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDIwcHgsIDI1cHgpLFxyXG4gICAgbGFyZ2U6ICg0NXB4LCA1MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodDogKFxyXG4gICAgc21hbGw6IDI1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgYXMgYSBvdmVycmlkZSBmb3IgbWl4aW4gY21zLWhlYWRpbmdzIGlmIG5lZWRlZC5cclxuJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uOiAoXHJcbiAgICBibG9nOiBmYWxzZSxcclxuICAgIGV2ZW50czogZmFsc2UsXHJcbiAgICBuZXdzOiBmYWxzZVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1zaG93LWJvcmRlcjogKFxyXG4gICAgYmxvZzogbnVsbCxcclxuICAgIGV2ZW50czogbnVsbCxcclxuICAgIG5ld3M6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoOiAoXHJcbiAgICBibG9nOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbixcclxuICAgIG5ld3M6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uLFxyXG4gICAgZXZlbnRzOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vblxyXG4pO1xyXG4kY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuLy8gVXNlZCBmb3IgY21zIG1vZHVsZXMgdGhhdCBhcmUgbm90IG9mIHR5cGUgZW50cnkgaS5lIGJsb2csIG5ld3MsIGV2ZW50LlxyXG4kY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIFN1YnNpZGlhcnkgLS0tIFxyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1wYWRkaW5nOiAxOHB4ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXNpemU6IHJlbS1jYWwoMjIpICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENNUyBQYWdlcyAtLS0tLSBcclxuLy8gLS0tIENvbW1vbiBTdHlsZXMgLS0tIFxyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbTogMzBweCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI6ICRjb2xvdXIzLTcgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC1zaXplOiAyMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1jb250ZW50LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRzaG93LWNtcy1iYWNrZ3JvdW5kOiAoXHJcbiAgICBibG9nOiBmYWxzZSxcclxuICAgIG5ld3M6IGZhbHNlLFxyXG4gICAgZXZlbnQ6IGZhbHNlLFxyXG4gICAgaW5mb3JtYXRpb246IHRydWVcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENNUyBUeXBlIHNwZWNpZmljICggYmxvZywgZXZlbnRzLCBuZXdzLCBldGMgKSAtLS1cclxuJG5ld3MtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgICFkZWZhdWx0O1xyXG4kYmxvZy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuICkgIWRlZmF1bHQ7XHJcbiRldmVudHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kaW5mb3JtYXRpb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVGFibGUgRGlzcGxheSAtLS0gXHJcbiRjbXMtdGFibGUtcm93LXBhZGRpbmc6IChcclxuICAgIHRvcC1ib3R0b206IDQwcHgsIFxyXG4gICAgcmlnaHQtbGVmdDogMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBcnRpY2xlIFBhZ2VzIC0tLVxyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsIDEpIDE1cHggc3BhY2luZy12YWx1ZSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAzKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsIFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZTogMjZweCAhZGVmYXVsdDtcclxuLy8gRGVwZW5kaW5nIG9uIHRoZSBpY29uIC8gaWNvbi1mYW1pbHkgeW91J3JlIHVzaW5nIHlvdSBtYXkgbmVlZCB0byBwcm92aWRlIGEgc2hpbSB0byBwZXJmZWN0bHkgY2VudGVyYWxpc2UuXHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltOiAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFN0b2NrIC0tLS0tIFxyXG4vLyAtLS0gUHJpY2UgLS0tIFxyXG4kcHJpY2UtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kcHJpY2UtdmF0LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IGdldCByaWQgb2YgdGhpcyBmb3IgY2VsbCBhbGlnbm1lbnQuXHJcbiRwcmljZS10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RvY2sgSW5kaWNhdG9ycyAtLS0gXHJcbiRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1pY29uLXNpemU6IChcclxuICAgIHNvaC0wOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplLFxyXG4gICAgc29oLTE6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemUsXHJcbiAgICBzb2gtMjogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nOiAwIDVweCAwIDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHNvaC0yLWljb24tY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kc29oLTAtaWNvbi1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRzb2gtMC1sZXZlbC1jb2xvdXI6ICRzb2gtMC1pY29uLWNvbG91ciAhZGVmYXVsdDtcclxuJHNvaC0xLWljb24tY29sb3VyOiAkY29sb3VyNi0zICFkZWZhdWx0O1xyXG4kc29oLTEtbGV2ZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRzb2gtMC1pY29uLWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvaC1ub3RpZmljYXRpb24tc3RhdHVzLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHNvaC1jb2xsZWN0aW9uLW9ubHktY3VzdG9tLWljb246IGZhbHNlICFkZWZhdWx0O1xyXG4kc29oLWNvbGxlY3Rpb24tb25seS1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbWFnZXMgLS0tLS1cclxuLy8gQWxsIGltYWdlcyBzaG91bGQgYmUgd3JhcHBlZCBpbiBhIC5pbWFnZSBjb250YWluZXIsIGZvciBwbmcncyB0aGV5IG1heSBoYXZlIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCB3aGljaCBvZnRlbiBkb2Vzbid0IHdvcmsgaW4gdGhlIGNvbnRleHQgb2YgdGFibGVzIHdoZXJlIHdlIGhhdmUgb2RkL2V2ZW4gY29sb3VyaW5nIG9uIHJvd3MsIHNvIGFzIGEgZ2VuZXJpYWwgcnVsZSBhZGRpbmcgYSB3aGl0ZSBiYWNrZ3JvdW5kIHRvIGFsbCBpbWFnZXMuXHJcbiRpbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZWRpYS1hc3BlY3QtcmF0aW9zOiAoXHJcbiAgICBcInByb2R1Y3RcIjogKFxyXG4gICAgICAgIFwid2lkdGhcIjogMSxcclxuICAgICAgICBcImhlaWdodFwiOiAxXHJcbiAgICApLFxyXG4gICAgXCJlYmdcIjogKFxyXG4gICAgICAgIFwid2lkdGhcIjogMSxcclxuICAgICAgICBcImhlaWdodFwiOiAxXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpbzogbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBwcm9kdWN0LCB3aWR0aCkgKyBcIi9cIiArIG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgcHJvZHVjdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGViZy1tZWRpYS1hc3BlY3QtcmF0aW86IG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgZWJnLCB3aWR0aCkgKyBcIi9cIiArIG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgZWJnLCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKSAvIHZhcigtLW1lZGlhLWhlaWdodCwgYXV0bykgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbWFnZSBvdmVybGF5cyAoIHNhc2hlcyApIC0tLSAtLVxyXG4kaW1hZ2Utb3ZlcmxheS11cmw6ICcvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvJztcclxuJGltYWdlLW92ZXJsYXktcG9zaXRpb246IGNlbnRlciAhZGVmYXVsdDtcclxuLy8gLS0tIEdyb3VwIG92ZXJsYXlzICggRUJHJ3MgKSAtLS1cclxuJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyOiAoXHJcbiAgICBzcGVjaWFsLW9mZmVyOiA1LFxyXG4gICAgZmVhdHVyZWQtaXRlbTogNCxcclxuICAgIGJlc3Qtc2VsbGVyOiAzXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdG9jayBPdmVybGF5cyAoIHNpbmdsZSBwcm9kdWN0ICYgc3RvY2tsaW5lICkgLS0tXHJcbiRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyOiAoXHJcbiAgICBzcGVjaWFsLW9mZmVyOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlciksXHJcbiAgICBmZWF0dXJlZC1pdGVtOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSksXHJcbiAgICBiZXN0LXNlbGxlcjogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKSxcclxuICAgIHByZXZpb3VzbHktcHVyY2hhc2VkOiA2LFxyXG4gICAgY29udHJhY3QtaXRlbTogN1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gVmlkZW8gUGxheWVyIC0tLS0tXHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMsXHJcbiAgICBob3ZlcjogLS13aGl0ZS1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiBob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGRlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBDYXRlZ29yeSAtLS0tLS1cclxuJGNhdGVnb3J5LWdyb3VwLWhvdmVyLXNjYWxlOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUHJvZHVjdCBMaXN0IC0tLS0tLSBcclxuLy8gLS0tIEdlbmVyYWwgTGlzdGluZyBTdHlsZXMgLS0tIFxyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG4kdmlld0ljb25EaW1lbnRpb25zOiAxNnB4ICFkZWZhdWx0O1xyXG4kbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9uczogMTZweCAhZGVmYXVsdDtcclxuLy8gU2VjdGlvbiBoZWFkaW5ncyAoIHJlY29tbWVuZGVkIHJlc3VsdHMgLyBwcmludGVyIHdpemFyZCApXHJcbiRzZWN0aW9uLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1ib3JkZXItY29sb3VyOiAkaGVhZGluZy0xLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gUmVjb21tZW5kZWQgcmVzdWx0cy5cclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luOiAoXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1pdGVtLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIEl0ZW1zIGZvdW5kLlxyXG4kc29ydGluZy1pdGVtcy1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLWl0ZW1zLWZvdW5kLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcblxyXG4vLyBEb3dubG9hZCBvcHRpb24uXHJcbiRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXA6IDEwcHggIWRlZmF1bHQ7IFxyXG4kc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoOiAoJGNvbW1vbi1ydWxlLXdlaWdodCAqIDIpICFkZWZhdWx0O1xyXG5cclxuLy8gU29ydGluZyBvcHRpb25zIHNldHRpbmdzLlxyXG4vLyBDb250YWluZXIgc2V0dGluZ3MuXHJcbiRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMTVweCAvLyByZWR1Y2luZyBmcm9tIDEwcHggMjBweCB0byAxMHB4IDE1cHggdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIGEgdmFyaXR5IG9mIGNvbnRyb2xzLlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gT3B0aW9ucyBzZXR0aW5ncy5cclxuJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ6IDEzcHggIWRlZmF1bHQ7IFxyXG4kcGFnaW5hdGlvbi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcclxuJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKSxcclxuICAgIGhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXdoaXRlLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXA6IChcclxuICAgIHNtYWxsOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDogMjE1cHggIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlOiAoXHJcbiAgICBjb3VudDogMixcclxuICAgIGZpbHRlci10b2dnbGU6IDEsXHJcbiAgICBjYWxsLXNlYXJjaDogMyxcclxuICAgIHNvcnQtYnk6IDUsXHJcbiAgICB2aWV3OiA2LFxyXG4gICAgcGVyLXBhZ2U6IDQsXHJcbiAgICBwYWdpbmF0aW9uOiA3XHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcDogKFxyXG4gICAgY291bnQ6IDEsXHJcbiAgICBmaWx0ZXItdG9nZ2xlOiAyLFxyXG4gICAgY2FsbC1zZWFyY2g6IDMsXHJcbiAgICBzb3J0LWJ5OiA0LFxyXG4gICAgdmlldzogNSxcclxuICAgIHBlci1wYWdlOiA2LFxyXG4gICAgcGFnaW5hdGlvbjogN1xyXG4pICFkZWZhdWx0O1xyXG4kaXRlbXMtcGVyLWxpc3Qtd2lkdGg6IChcclxuICAgIHNtYWxsOiA1MCUsXHJcbiAgICBsYXJnZTogMTclXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbTogKFxyXG4gICAgbGFyZ2U6IDEwLjI2cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IGxpc3Qgc2V0dGluZ3MgLS0tXHJcbiRwcm9kdWN0LWxpc3QtY29udGVudC1tYXJnaW4tbGVmdDogNTNweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1zb3J0LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBQcm9kdWN0IGxpc3QgaXRlbSBzZXR0aW5ncy5cclxuJHByb2R1Y3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c6IHRydWUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tY29sb3VyOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24td2VpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDogMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAyMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXF1YW50aXR5LWRlc2t0b3AtbWF4LXdpZHRoOiAzNDBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taW1hZ2Utd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoOiAxMzBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tbG9nZ2luLWJ1dHRvbi13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMjAlXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxMSVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDE1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFByb2R1Y3QgbGlzdCBpdGVtIGNvbXBvbmVudCBvcmRlci5cclxuJHByb2R1Y3QtbGlzdC1pbWFnZS1vcmRlcjogMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1kZXNjcmlwdGlvbi1vcmRlcjogMiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1jb2RlLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXByaWNlLW9yZGVyOiAzICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXF1YW50aXR5LXByaWNlLWZhdm91cml0ZXMtb3JkZXI6IDUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3Qtbm90LWxvZ2dlZC1pbi1vcmRlcjogNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IExpc3QgR3JpZCBTZXR0aW5ncyAtLS0tXHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1jb250ZW50LXBhZGRpbmc6IDAgMjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWNvbG91cjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBob3ZlcikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyBQcm9kdWN0IGxpc3QgZ3JpZCBjb21wb25lbnQgb3JkZXIuXHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1hbmNob3ItYmxvY2stb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1zdG9jay1pbmRpY2F0b3Itb3JkZXI6IDMgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1wcmljZXMtb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1idXR0b25zLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtbm90LWxvZ2dlZC1pbi1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXN0b2NrbGluZS1idXR0b246IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1sYWJlbC12YWx1ZS1hbGlnbWVuZW50OiBpZigkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImxlZnRcIiwgYXV0bywgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUT0RPOiBJIGtub3cgdGhpcyBpcyBtZXNzIGFuZCBoYXMgZ29uZSB0aHJvdWdoIG1hbnkgcmVmYWN0b3JzLi4uLiBcclxuLy8gLS0tIFByb2R1Y3QgTGlzdCBMaXN0IFNldHRpbmdzIC0tLS1cclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdzogJGJveFNoYWRvdzMgIWRlZmF1bHQ7XHJcbi8vIExvZ2luIC8gc3RvY2tsaW5lIGJ1dHRvbiB3aWR0aC5cclxuJGxvZ2luLXN0b2NrbGluZS13aWR0aDogMjUlICFkZWZhdWx0O1xyXG4vLyBGYXZvdXJpdGVzIGNvbHVtbiB3aWR0aCAoIERlc2t0b3AgKVxyXG4kZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDogMjUlICFkZWZhdWx0O1xyXG4vLyB0YWJsZSBpdGVtIGNvbnRyb2xzLlxyXG4kdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmlsdGVycyAvIFNlYXJjaCBBdHRyaWJ1dGVzIC0tLSBcclxuLy8gR2VuZXJhbCBzZXR0aW5ncyBcclxuJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZmlsdGVycy1kZXNrdG9wLWNvbnRhaW5lci1tYXgtd2lkdGg6IDI4MHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoOiAyNDBweCAhZGVmYXVsdDtcclxuLy8gRmlsdGVycyBtb2JpbGUgdG9nZ2xlLlxyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICB1bi1zdHVjazogJGNvbG91cjQtNixcclxuICAgIHN0dWNrOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXI6IChcclxuICAgIHVuLXN0dWNrOiAkY29sb3VyNCxcclxuICAgIHN0dWNrOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEZpbHRlcnMgaGVhZGVyLlxyXG4kZmlsdGVycy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctZm9udC1zaXplOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNiAhZGVmYXVsdDtcclxuLy8gQXBwbGllZCBhdHRyaWJ1dGUocylcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1pY29uLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWFsbC1jb2xvdXI6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc2l6ZTogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbi8vIE9wdGlvbiBoZWFkaW5nXHJcbiRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luOiAyNXB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC1zaXplOiRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gQXR0cmlidXRlc1xyXG4kZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDb2xvdXIgcHJldmlld1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aDogMTBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctaGVpZ2h0OiAkZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4vLyBQcmljZSBzbGlkZXJcclxuJGZpbHRlcnMtcHMtaW5wdXQtd2lkdGg6IDcwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtaW5wdXQtYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIFNob3cgbW9yZSAvIGxlc3MgYXR0cmlidXRlc1xyXG4kZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCAtLS0tLSBcclxuXHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbi8vIE1hcmdpbiAvIFBhZGRpbmcgdG9wICsgYm90dG9tLlxyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZzogMjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIGxhcmdlOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4IDE1cHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjVweCxcclxuICAgIGxhcmdlOiAxMHB4IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRwcm9kdWN0LWVucXVpcnktZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMTVweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDVweCAwLFxyXG4gICAgbGFyZ2U6IDQwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IEltYWdlIC0tLSBcclxuJHByb2R1Y3QtaW1hZ2Utd2lkdGg6IDU1MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA4KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgTWFpbiBoZWFkaW5nIC0tLSBcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemU6IDI4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAzNHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4vLyBDb2RlICggUmVmZXJuZWNlICYgYWx0IHJlZmVuZW5jZSBfXHJcbiRwcm9kdWN0LWNvZGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtY29kZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBtZWRpdW06IDIwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBFbnF1aXJ5IEJ1eSBCdXR0b24gLS0tXHJcbiRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbWVkaXVtOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByaWNlIC0tLSBcclxuJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZTogMjggIWRlZmF1bHQ7XHJcbi8vIC0tLSBBZGRpdGlvbmFsIGltYWdlcyAtLS1cclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtd2lkdGg6IDM3NXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1hY3RpdmUtb3BhY2l0eTogMC42ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyOiAoXHJcbiAgICBkZWZhdWx0OiAxcHggc29saWQgJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAxcHggc29saWQgJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6IDFweCBzb2xpZCAkY29sb3VyNixcclxuICAgIGFjdGl2ZS1jbGljazogMXB4IHNvbGlkIHJnYmEoJGNvbG91cjYsIDAuNSlcclxuKSAhZGVmYXVsdDtcclxuLy8gR3JpZFxyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDEwcHgsXHJcbiAgICBsYXJnZTogNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDYXNlIHByaWNlXHJcbiRwcm9kdWN0LWNhc2UtcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIExpZ2h0Ym94IC0tLS0tXHJcbiRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6IDJweCA4cHgsXHJcbiAgICBtYWduaWZpY2F0aW9uLWhvdmVyOiAycHggNHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC44NSkgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250ZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAyMHB4IDAsXHJcbiAgICB4bGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiAxMDAsXHJcbiAgICBtZWRpdW06IDgwLFxyXG4gICAgbGFyZ2U6IDg1XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1zbGlkZS1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIC8vIHNldHRpbmcgdG8gMCBvdGhlciBpbWFnZSB3b3VsZCBzY2FsZSBvdXRzaWRlIG9mIHRoZSBjb250YWluZXIgcHVzaGluZyB0aGUgcGFnZXIgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy13aWR0aDogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNDBweCxcclxuICAgIGxhcmdlOiA3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxNnB4LFxyXG4gICAgbGFyZ2U6IDI2cHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjMtMiwgMC4zKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTYsXHJcbiAgICBtZWRpdW06IDIwXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1pdGVtLWNvdW50LWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9uczogMzBweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFnZXIgLS0tXHJcbiRsaWdodGJveC1wYWdlci1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiBhdXRvLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGg6IChcclxuICAgIG1lZGl1bTogMTAwcHgsXHJcbiAgICBsYXJnZTogMTcwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IEVucXVpcnkgRGV0YWlscyAtLS1cclxuLy8gTGFiZWwgdmFsdWUgcGFpclxyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM6IGJhc2VsaW5lICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwOiAoXHJcbiAgICBzbWFsbDogNXB4LFxyXG4gICAgbWVkaXVtOiA1cHggMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWNvbG91cjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91ciAhZGVmYXVsdDtcclxuXHJcbi8vIE11bHRpIGxpbmUgY29udGFpbmVyXHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLW1hcmdpbjogMCAwIDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1jb2xvdXI6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuLy8gTGFiZWwgKyB2YWx1ZSBwYWlyXHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemU6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gUHJpY2luZy5cclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIG1lZGl1bTogMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGg6IChcclxuICAgIHNtYWxsOiAyMjBweCxcclxuICAgIG1lZGl1bTogMTkwcHgsXHJcbiAgICBsYXJnZTogMTkwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMWZyLFxyXG4gICAgbWVkaXVtOiA1MCUsXHJcbiAgICBsYXJnZTogNDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbi8vIEhhemFyZCBTdGF0ZW1lbnQuXHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFNoYXJlXHJcbiRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtc2l6ZTogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gT3B0aW9uYWwgZXh0cmFzXHJcbiRwcm9kdWN0LWVucXVpcnktb3B0aW9uYWwtZXh0cmFzLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIFByZXZpb3VzbHkgcHVyY2hhc2VkIC0tLSBcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDE1cHgsXHJcbiAgICBtZWRpdW06IDAgMCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBtZWRpdW06IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIG1lZGl1bTogMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1iYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaXRlbS1zcGFjaW5nOiA0MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTYsXHJcbiAgICBtZWRpdW06IDE0XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWxhYmVsLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWZvbnQtc2l6ZTogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtdmlldy1vcmRlci1idXR0b24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgT3ZlcmxheSBNb2R1bGUgLS0tIFxyXG4vLyAtLS0gUXVhbnRpdHkgUHJpY2UgQnJlYWsgLS0tIFxyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDogNDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLXNhdmUtYW1vdW50LWNvbG91cjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQtNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXNhdmluZy1jb2wtZm9udC13ZWlnaHQ6ICRzYXZpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLW1hcmdpbjogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLXBhZGRpbmc6IDAgNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtc3VwcHJlc3MtaGVhZGVyLWdhcDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gR3JvdXBlZCBtb2R1bGVzIC0tLVxyXG4kcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ncm91cGVkLXNlY29uZC1pdGVtLWJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xOyBcclxuLy8gLS0tIFByb2R1Y3QgTm90ZXNcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodDogMjVweCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWhlaWdodDogMTR2aCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTcGVjaWZpY2F0aW9uIC0tLSBcclxuJHNwZWNpZmljYXRpb24tZm9udC1zaXplOiAkcHJvZHVjdC1ub3Rlcy1zaXplICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tY29sb3VyOiAkcHJvZHVjdC1ub3Rlcy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBbHRlcm5hdGl2ZSBPcHRpb25zIC0tLSBcclxuJHByb2R1Y3QtYWx0LW9wdGlvbnMtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tIFRhYmJlZCBTcGVjaWZpY2F0aW9uIC0tLSBcclxuJHByb2R1Y3QtdGFicy10aXRsZS1kZXNrdG9wLXdpZHRoOiBmaXQtY29udGVudCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFicy10aXRsZS1wYWRkaW5nOiAxOHB4IDgwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWItc3BlY2lmaWNpYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTdG9ja2xpbmUgLS0tXHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTAwJVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDQwJSxcclxuICAgIGxhcmdlOiAyNyVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1vcHRpb24tY29sb3VyOiAoXHJcbiAgICB1bmF2YWlsYWJsZTogJGNvbG91cjMtN1xyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgdW5hdmFpbGFibGU6ICRjb2xvdXIzLTVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtbWF4LXdpZHRoOiA1MjBweCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RvY2tsaW5lLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBSYXRpbmcgLS0tLS0gXHJcbiRyYXRpbmctaWNvbi1jb2xvdXI6IChcclxuICAgIGluYWN0aXZlOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMClcclxuKSAhZGVmYXVsdDtcclxuJHJhdGluZy1zdW1tYXJ5LWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEJhc2tldCAtLS0tLSBcclxuLy8gLS0tIEJhc2tldCBUYWJsZSAtLS0gXHJcbiRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJlbW92ZS1idXR0b24taWNvbi1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpICFkZWZhdWx0OyBcclxuLy8gLS0tIEJhc2tldCBDb250cm9scyAtLS1cclxuJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gUmVtb3ZlIEFsbCBCdXR0b25cclxuJGJhc2tldC1ybS1hbGwtYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1yZW1vdmUtYWxsLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWJ1dHRvbi1pY29uOiB0cnVlICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcm0tYWxsLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFVwZGF0ZSBiYXNrZXQgYnV0dG9uLlxyXG4kYmFza2V0LXVwZGF0ZS1pY29uOiB0cnVlICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tcGFkZGluZzogMTBweCAzMHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LCBcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCwgXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtaWNvbi1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpICFkZWZhdWx0OyBcclxuJGJhc2tldC11cGRhdGUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTIgXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYXNrZXQgRGVsaXZlcnkgLS0tIFxyXG4kYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMzBweCxcclxuICAgIGxhcmdlOiAwIDAgMzVweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIEJhc2tldCBTdW1tYXJ5IC0tLSBcclxuJGJhc2tldC1zdW1tYXJ5LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAzMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXRvdGFsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS10b3RhbC10ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1wYWRkaW5nOiA0MHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktYmFja2dyb3VuZC1jb2xvdXI6IC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tdmFsdWUtZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGlnaGxpZ2h0ZWQtaXRlbS1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci1tYXJnaW46IDMwcHggMCAyNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgLSAxICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgLSAxICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LCAvLyBSZXBsYWNpbmcgd2l0aCBzb2xpZCBjb2xvdXIuXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1yZW1vdmUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktY2FsbG91dDogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXItdmFsaWQ6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBjb2xvdXItdmFsaWQ6ICRjb2xvdXIxLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXItaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGNvbG91ci1pbnZhbGlkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFRvdGFsICggc3RpY2t5IG1vYmlsZSApXHJcbiRiYXNrZXQtdG90YWwtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTcgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0tIENoZWNrb3V0IEJ1dHRvbnMgLS0tIFxyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tcGFkZGluZzogMTJweCA1cHggIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYWdlLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXBheXBhbC1idXR0b24tcGFkZGluZzogMTJweCA1cHggIWRlZmF1bHQ7XHJcbiRjaGVja291dC1wYXlwYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAjZmZjNDM5LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ2hlY2tvdXQgUmV0dXJuaW5nIEN1c3RvbWVyIC0tLVxyXG4kY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBhZGp1c3QtaHVlKHNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQtNSwgMTMlKSwgMjAlKSwgLTglKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDb250aW51ZSBzaG9wcGluZ1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDM1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQYXltZW50IG1ldGhvZHMgLS0tLS0gXHJcbi8vIFBheW1lbnQgbWV0aG9kIHNlbGVjdG9yXHJcbiRwYXltZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xyXG4vLyBUaGlzIGhhcyBiZWVuIHdvcmtlZCBvdXQgdGhlIHN5c3RlbSBpbiBmYXZvdXIgb2YgdXNpbmcgdGhlIFNDQSBjaGFsbGVuZ2UgZGltZW5zaW9ucyBpbnN0ZWFkLlxyXG4vLyAkcGF5bWVudC1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIHNtYWxsOiAxMDAlLFxyXG4vLyAgICAgbGFyZ2U6IGNhbGMoI3tsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpfSArICN7JGNoZWNrYm94LWRpbWVudGlvbnN9KVxyXG4vLyApICFkZWZhdWx0O1xyXG4kcGF5bWVudC1jb250YWluZXItYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4kcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNTAwcHgsXHJcbiAgICBvcGF5bzogMjdyZW0gLy8gU3dpdGNoaW5nIHRoZSByZW0gYXMgc29tZSB1c2VycyB3aWxsIHVzZSBleHRyZW1lIGZvbnQgc2NhbGluZyBzbyB0aGUgaGVpZ2h0IHdpbGwgbmVlZCB0byBzY2FsZSB3aXRoIGZvbnQtc2NhbGluZy5cclxuKSAhZGVmYXVsdDtcclxuJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFjY291bnQgR2VuZXJhbC5cclxuLy8gU29ydGluZy5cclxuJGFjY291bnQtc29ydGluZy1tYXJnaW46IDAgMCAxMHB4ICFkZWZhdWx0O1xyXG4vLyBQYXNzd29yZCByZXNldCBuZXcgbGluay5cclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLW1hcmdpbjogMCAwIDMwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBMb29rdXBzIC0tLS0tXHJcbi8vIC0tLSBQb3N0Y29kZSBsb29rdXAgdjEgKCBTaW5nbGUgRmllbGQgKSAtLS1cclxuJHBjb2RlLWxvb2t1cC1idXR0b24tcGFkZGluZzogMTJweCAxM3B4ICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbG9va3Vwcy1yZXN1bHRzLWhpZ2hsaWdodGVkLXRleHQtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gLS0tIE11bHRpIEZpZWxkIExvb2t1cCAtLS1cclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBtZWRpdW06IDUwcHggOCUsXHJcbiAgICBsYXJnZTogNTBweCAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXA6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogMjVweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbnRlcmFjdGl2ZSBNYXAgKCBTdG9ja2lzdCApIC0tLS0tXHJcbiRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4vLyBsb2NhdGlvbiBidXR0b24gcHJpbWFyaWx5IHVzZWQgZm9yIHRoZSBnZW9sb2NhdGlvbiBsb29rdXAuXHJcbiRsb2NhdGlvbi1idXR0b24taWNvbi1jb25maWc6IChcclxuICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsb2NhdGlvbiksXHJcbiAgcG9zaXRpb246IGFmdGVyLFxyXG4gIG1hcmdpbjogMCAwIDAgNDBweCxcclxuICBjb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4gICksXHJcbiAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFNpdGUgTWFwIC0tLS0tXHJcbiRzaXRlLW1hcC1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1tYXAtcGFyZW50LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFNpdGUgTGlzdCAtLS0tLS1cclxuJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogJHNpdGUtbGlzdC1sb2dvLW1hcmdpbixcclxuICAgIGxhcmdlOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1wYWRkaW5nOiAzMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRzaXRlLWxpc3QtbG9nby1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luOiAxMHB4IDAgMTVweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gVGhpcyBpcyBmb3IgY2FyZCB2aWV3IGFuZCB0YWJsZSBpbiBtb2JpbGUgKCBpLmUgbm90IGRlc2t0b3AgdGFibGUgKS5cclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10aW1lLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDogNDAlICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAzMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXA6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKSxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEF4aXMgU2VjdGlvbnMgLS0tLS1cclxuJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gWW91ciBBY2NvdW50IC0tLS0tIFxyXG4kYWNjb3VudC1wYWdlcy1pdGVtLWdyaWQtbWFyZ2luOiAwO1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS13aGl0ZS1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXdoaXRlLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogbmFtaW5nIGNvbnZlbnRpb25zIG5lZWQgdG8gYmUgcmVkb25lIGFzIHRoaXMgaXMgbm8gbG9uZ2VyIGFjY291bnQgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eS5cclxuJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy01LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXItYWx0OiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZS1hbHQ6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjMtNixcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKVxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgICAgIGRpc2FibGVkOiAkY29sb3VyM1xyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjZcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7IFxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tYW5jaG9yLXBhZGRpbmc6IDM1cHggMjBweCAzMHB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQ6IChcclxuICAgIGFjY291bnQtcGFnZTogNzAwLFxyXG4gICAgYWNjb3VudC1tZW51OiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGhvdmVyLWFsdDogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTMsXHJcbiAgICBhY3RpdmUtYWx0OiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGhvdmVyLWFsdDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlci1hbHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBhY3RpdmUtYWx0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZS1hbHQpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91clxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBJZiB0aGUgcHJpbWFyeSBjb2xvdXIgZG9lcyBub3QgY29udHJhc3QgYWdhaW5zdCB0aGUgdGV4dCBzZXQgdGhpcyB0byB0cnVlLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi11c2Utc2Vjb25kYXJ5LWNvbG91cjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gVE9ETzogb25jZSB0aGUgb2xkIGFjY291bnQgZ3JpZCBoYXMgYmVlbiByZXBsYWNlIHdpdGggdGhlIG5ldyBzZWNvbmQgdGhpcyBjYW4gZG8uXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemU6IChcclxuICAgIGNoYW5nZS1kZXRhaWxzOiA0NXB4LFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiAxM3B4LFxyXG4gICAgY29udHJhY3QtaXRlbXM6IDY1cHgsXHJcbiAgICBmYXZvdXJpdGVzOiA0NXB4LFxyXG4gICAgdmlldy1vcmRlcnM6IDU1cHgsXHJcbiAgICByZWNlbnRseS1wdXJjaGFzZWQ6IDY1cHgsXHJcbiAgICBtYW5hZ2UtY2FyZHM6IDM1cHgsXHJcbiAgICBzdGF0ZW1lbnQ6IDQ1cHgsXHJcbiAgICBtYW5hZ2UtdXNlcnM6IDU1cHgsXHJcbiAgICBicmFuY2gtc3dpdGNoZXI6IDYwcHgsXHJcbiAgICBjb250YWN0LXByZWZlcmVuY2VzOiA2MHB4LFxyXG4gICAgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6IDYwcHgsXHJcbiAgICB1cGxvYWQtYmFza2V0OiA0NXB4LFxyXG4gICAgdXBsb2FkLW9yZGVyOiA0NXB4LFxyXG4gICAgbG9nb3V0OiA0NXB4LFxyXG4gICAgbWFuYWdlLWNhbGxzOiA0NXB4LFxyXG4gICAgc2VydmljZS1jb250cmFjdHM6IDQ1cHgsXHJcbiAgICBjdXN0b21lci1hc3NldHM6IDQ1cHgsXHJcbiAgICBwYXltZW50LXJlcXVlc3RzOiA0NXB4LFxyXG4gICAgZG93bmxvYWQtcHJpY2UtbGlzdHM6IDQ1cHgsXHJcbiAgICBzaXRlLWxpc3Q6IDQ1cHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6IDQ1cHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6IDQ1cHgsXHJcbiAgICBkZWZhdWx0LWljb246IDQ1cHgsXHJcbiAgICBvbmxpbmUtZG9jdW1lbnRhdGlvbjogNDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplOiAoXHJcbiAgICBkZWZhdWx0OiAzMHB4LFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiA4cHgsXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogMjVweCxcclxuICAgIG1hbmFnZS1jYXJkczogMjNweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogMjVweCxcclxuICAgIGxvZ291dDogMjVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLSBWaWV3IE9yZGVyIC0tLVxyXG4kcHJpY2UtZHJvcC1mb250LXNpemU6IDExICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1hcnJvdy1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHggMjBweCxcclxuICAgIGxhcmdlOiAzMHB4IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTcwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTWFuYWdlIENhbGxzIC0tLSBcclxuJGNhbGwtZW5xdWlyeS1pY29uLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWNvbnRlbnQtbGFiZWwtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kbWFuYWdlLWNhbGxzLXRhYmxlLWhlYWRpbmctbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbi8vIFJhdGluZy5cclxuJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplOiAyMi41cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBNYW5hZ2UgVXNlcnMgLS0tXHJcbiR1c2Vycy1mb3VuZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdXNlcnMtZm91bmQtY291bnQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gVGFibGUuXHJcbiR1c2Vycy10Ym9keS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdXNlcnMtdGJvZHktY29udGFjdC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdXNlcnMtdGJvZHktY29udGFjdC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbi8vIFJlbW92ZSB1c2VyIGJ1dHRvbiAoIGxpc3QgKVxyXG4kcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM6IDIwcHggIWRlZmF1bHQ7IFxyXG4kcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gVmlldyAvIEVkaXQgdXNlclxyXG4kdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24taWNvbi1zaXplOiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgLSAyKSAhZGVmYXVsdDtcclxuJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDExNTBweCxcclxuICAgIGhlaWdodDogNzMwcHhcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItcGFkZGluZzogMjVweCAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC10YWJsZS1icmFuY2gtY29sLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLyB2aWV3IC8gZWRpdCB1c2VyXHJcbiR1c2Vycy1wb3B1cC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTE1MHB4LFxyXG4gICAgaGVpZ2h0OiA3MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtc2VhcmNoLW1heC13aWR0aDogNjIwcHggIWRlZmF1bHQ7XHJcbiR1c2Vycy1zZWFyY2gtaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEJyYW5jaCBzZWxlY3RvciAtLS0tLSBcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDogMTIwcHggIWRlZmF1bHQ7XHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLWNvbG91cjogJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIE1hbmFnZSBQYXltZW50IENhcmRzIC0tLS0tIFxyXG4kY2FyZHMtY2FyZC10eXBlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG4kY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gUGF5bWVudCBGcmFtZS5cclxuJHBheW1lbnQtZnJhbWUtcG9wdXAtbWF4LXdpZHRoOiAxMTUwcHggIWRlZmF1bHQ7XHJcbiRwYXltZW50LWZyYW1lLW1heC13aWR0aDogNjMwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFN0YXRlbWVudCAtLS0tLSBcclxuJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMykgIWRlZmF1bHQ7XHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc3RhdGVtZW50LWJhbGFuY2UtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVG9rZW5zIC0tLS0tIFxyXG4kdG9rZW5zLXRhYmxlLXBhZGRpbmc6IDIwMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIHNlY3Rpb24gY29sb3VycyAtLS0tLVxyXG4kc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBiYWNrZ3JvdW5kIGNvbG91cnMgLS0tLS0gXHJcbiRwYWdlLWJhY2tncm91bmQtY29sb3VyczogKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2UgYmFja2dyb3VuZCBpbWFnZXMgLS0tLS1cclxuJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8tLS0tLSBGb290ZXIgLS0tLS0gXHJcbi8vIElmIHVzaW5nIEZvb3RlciBsYXlvdXQgMiB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgdG8gcXVpY2tseSBjZW50ZXJhbGlzZS5cclxuJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci10b3A6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZTogXCIvY29udGVudC9pbWFnZXMvZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlLnBuZ1wiICFkZWZhdWx0O1xyXG5cclxuXHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemU6IDRweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyBGb290ZXIgZ3JpZCAoIGNvbnRlbnQgY29udGFpbmVyIClcclxuJGZvb3Rlci1ncmlkLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG4kZm9vdGVyLWdyaWQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtdG9wOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtdXJsOiAoXHJcbiAgICBzbWFsbDogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8xMy8zMjAvNTAwJyxcclxuICAgIGxhcmdlOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zL2lkLzEzLzEzMDAvMzAwJ1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNTAwcHgsXHJcbiAgICBsYXJnZTogMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLW1hcmdpbi10b3A6IDI1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYXJnaW4tdG9wOiA1MHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDEwcHgsXHJcbiAgICBtZWRpdW06IDcwcHggMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDcwcHggMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDUwJVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUeXBpY2FsbHkgdGhpcyBnZW5lcmFsbHkgZG9lc24ndCBuZWVkIHRvIGJlIHNldCBkdWUgdG8gYWxsb3dpbmcgdGhlIGNvbnRlbnQgZGVmaW5lIHRoZSB3aWR0aC5cclxuJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1vcmRlcjogKFxyXG4gICAgbWFpbGluZy1saXN0OiAxLFxyXG4gICAgc29jaWFsLWljb25zOiAyLFxyXG4gICAgdGV4dGRiOiAzXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGNlbnRlciwgbnVsbClcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEJhY2sgdG8gVG9wIC0tLVxyXG4kYmFjay10by10b3AtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTdweCxcclxuICAgIGxhcmdlOiAyMnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24td2lkdGg6IChcclxuICAgIHNtYWxsOiA1MHB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA1MHB4LFxyXG4gICAgbGFyZ2U6IDYwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodDogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZTogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYm9yZGVyLXJhZGl1czogMTBweCAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYmFjay10by10b3AtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0gTGlzdCAtLS0gXHJcbiRmb290ZXItbGlzdC1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbi8vIFJldmVyc2UgZm9vdGVyIGxpc3QgJiBzb2NpYWxzIGVsZW1lbnRzIG9yZGVyLlxyXG4kZm9vdGVyLWxpc3Qtb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWFyZWEtb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1yZXZlcnNlLW9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1tYXJnaW4tdG9wOiAzNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS13aWR0aDogMjMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwLjVweCxcclxuICAgIGxhcmdlOiAwIDAgMjFweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLWJvdHRvbTogMjFweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3Itd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1tb2JpbGUtc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0taG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1ob3Zlci10ZXh0LWRlY29yYXRpb246IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtbGluZS1oZWlnaHQ6ICRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gTWFpbiBtZW51ICggdGhpcyBpcyBhIG5ldyBjb25jZXB0IHNvIG5vdCBhbGwgY29uZmlnIG9wdGlvbnMgd2lsbCBiZSBoZXJlIClcclxuJGZvb3Rlci1tYWluLW1lbnUtZmxleC1ncm93OiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haW4tbWVudS1kZXNrdG9wLW1heC13aWR0aDogNTAlICFkZWZhdWx0O1xyXG4vLyBBbHQgbWVudVxyXG4kZm9vdGVyLWFsdC1tZW51LWxpc3QtaXRlbS13aWR0aDogYXV0byAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1hbmNob3ItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LWxpc3QtaXRlbS1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZpcnN0LWNoaWxkLXN1cHByZXNzLXBhZGRpbmc6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBQcm9tb3Rpb24gSGVhZGluZyAtLS0gXHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3BcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBMb2dvIC0tLSBcclxuJGZvb3Rlci1sb2dvLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTAlLFxyXG4gICAgbWVkaXVtOiA0MCUsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxvZ28taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbG9nby1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENvbnRhY3QgRGV0YWlscyAtLS1cclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG1hcC1nZXQoJGZvb3Rlci1wYXJlbnQtcGFkZGluZywgc21hbGwpLFxyXG4gICAgbGFyZ2U6IG1hcC1nZXQoJGZvb3Rlci1wYXJlbnQtcGFkZGluZywgbGFyZ2UpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgcmV2ZWFsIGJ1dHRvbiAtLS0gXHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTVcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gTWFpbGluZyBsaXN0IC0tLSBcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7IFxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBmaXQtY29udGVudFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1pY29uLWNvbmZpZzogKFxyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWFpbCksXHJcbiAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICBjb2xvdXI6ICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyLFxyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgc2l6ZTogMTZweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3BcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXRleHQtY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gU2V0IHRvIG51bGwgdG8gZm9sbG93IGRlZmF1bHQgZXhwcmVzcyBzdHlsaW5nLlxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXItaW5jbHVkZS1idXR0b246IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyLWluY2x1ZGUtYnV0dG9uOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDTVMgY29udGVudCBjb250YWluZXIgLS0tIFxyXG4vLyBUaGlzIGNvbXBvbmVudCBpcyBmYWlybHkgZnJlZSBmb3JtIGFzIGl0IGNhbiBjaGFuZ2UgcXVpdGUgcmFkaWNhbGx5IG9uIGEgc2l0ZSBieSBzaXRlIGJhc2lzLlxyXG4kZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IHJvd1xyXG4pICFkZWZhdWx0O1xyXG4vLyBTdHlsZSB0aGUgaDIncyBsaWtlIHRoZSBsaXN0IHBhcmVudC5cclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1tYXJnaW46IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWNvbG91cjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91ciAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXNpemU6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLW1hcmdpbjogMCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1mb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBTZXBlcmF0b3JzIC0tLSBcclxuJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQ6IChcclxuICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgaGVpZ2h0OiAycHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjogcmdiYSgkY29sb3VyMSwgMC4zKSAhZGVmYXVsdDtcclxuLy8gQ29udGVudFxyXG4kZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sIFxyXG4gICAgbGFyZ2U6IHJvd1xyXG4pICFkZWZhdWx0O1xyXG4vLyBKdXN0aWZ5IG9ubHkgZm9yIGRlc2t0b3AgYXMgaXQgZG9lc250IG1ha2Ugc2Vuc2UgZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4kZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b206IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoOiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCB3aWR0aCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENNUyAtLS0gXHJcbiRmb290ZXItY21zLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy01XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplO1xyXG4vLyAtLS0gQ29weXJpZ2h0IC0tLVxyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIGF1dG8gMCxcclxuICAgIGxhcmdlOiAzNXB4IGF1dG8gMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXdpZHRoOiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCB3aWR0aCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1oZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1tYXJnaW46IDE1cHggMCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItcGFkZGluZzogMzVweCAwIDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbjogKFxyXG4gICAgc21hbGw6IGNlbnRlcixcclxuICAgIGxhcmdlOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci1zaXplOiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1taW5pZmllZC1sYXlvdXQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIGJhbm5lciBzZXJpZXMgLS0tIFxyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItYmFubmVyLWltYWdlLXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCBhdXRvIDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMjBweCAwIDI1cHgsXHJcbiAgICBsYXJnZTogNjBweCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci13aWR0aDogMXB4IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1nYXA6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6ICAwIDI0LjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBhdXRvLCAwKSxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2Ugc3BhY2luZy12YWx1ZXMuXHJcbiRmb290ZXItYmFubmVyLWltYWdlLW1hcmdpbjogKFxyXG4gICAgdG9wOiA2MHB4LCBcclxuICAgIHJpZ2h0OiAyMHB4LCBcclxuICAgIGJvdHRvbTogMjVweCwgXHJcbiAgICBsZWZ0OiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1iYW5uZXItZ3JheXNjYWxlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyBNb2R1bGUgLS0tLS1cclxuLy8gLS0tIFNvY2lhbCBpY29ucyBjb21tb24gLS0tIFxyXG4kc29jaWFsLWljb25zLWRpbWVudGlvbnM6IDM1cHggIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTogMSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcbi8vIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4vLyBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbi8vIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlOiAnc2l0ZS1zcGVjaWZpYycgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTb2NpYWwgaWNvbnMgcHJvZHVjdCBwYWdlIC0tLVxyXG4kcHJvZHVjdC1zb2NpYWwtaWNvbnMtZmxvYXQ6IHJpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1zb2NpYWwtaWNvbnMtbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbi8vLS0tIFNvY2lhbCBJY29ucyBmb290ZXIgLS0tXHJcblxyXG4vLyAtLS0tLSBURU1QIFJFU1RPUkUgLS0tLS1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nLWJvdHRvbTogMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZy1ib3R0b20sXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wIFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zOiA0NXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29uLWRpbWVudGlvbnM6ICgkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucyAvIDIpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzOiAkc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gVEVNUCBSRVNUT1JFIEVORCAtLS0tLVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCBzcGFjaW5nLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luLCAzKSxcclxuICAgIGxhcmdlOiAwIDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQge1xyXG4gICAgLy8gRHVlIHRvIHN1cHByZXNzaW5nIHRoZSBiYWNrZ3JvdW5kIHRoZSBpY29ucyBtYXkgY29uZmxpY3Qgd2l0aCB0aGUgZm9vdGVyIGJhY2tncm91bmQgaWYgb25lIGlzIHNldCBzbyB5b3UgbWF5IHdhbnQgdG8gbWFudWFsbHkgb3ZlcnJpZGUgdGhlc2UgY29sb3Vycy5cclxuICAgICRmb290ZXItc29jaWFsLWljb25zLWNvbG91cjogKFxyXG4gICAgICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgICAgIGhvdmVyOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksIFxyXG4gICAgICAgIGFjdGl2ZTogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKVxyXG4gICAgKSAhZGVmYXVsdDtcclxufVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1zdXBwcmVzcy1jb250YWluZXItc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tICA0MDQgKCBlcnJvciBub3QgZm91bmQgKSAtLS0tLVxyXG4kbm90LWZvdW5kLWxvZ28tc2l6ZTogKFxyXG4gICAgd2lkdGg6IDIwMHB4LFxyXG4gICAgaGVpZ2h0OiAxMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2U6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJzQwNC5zdmcnICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtcmVwZWF0OiB0cnVlICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtc2l6ZTogOTBweCAzMHB4ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXNpemU6IDIwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC1zaXplOiA2MCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1zaXplOiAyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLXBhcmFncmFwaC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogOTB2dyxcclxuICAgIGxhcmdlOiA4MDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjEsIDAuOCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBBeGlzIENvdW50ZG93biAtLS0tLSBcclxuJGNvdW50ZG93bi1kaXNwbGF5LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjb3VudGRvd24tZGlzcGxheS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yIC0tLS0tIFxyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1zaXplOiAyNiAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50OiB0cnVlICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQ6IChcclxuICAgIGNvbG91ci0xOiAkY29sb3VyMy0xLFxyXG4gICAgY29sb3VyLTI6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggLS0tLS1cclxuLy8gLS0tIEhlYWRlciAtLS1cclxuJHBpY2stbi1taXgtaGVhZGluZy1zaXplOiAzNSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1mb250LXN0eWxlOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1mb250LXdlaWdodDogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMzBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDIwcHggMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50OiAkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFNlbGVjdG9ycyAtLS1cclxuLy8gV2lkdGggb25seSBpbiBkZXNrdG9wLlxyXG4kcGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXItd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zbGlkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgNDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vKiogXHJcbiAgICAtLS0tLSBFbWFpbCBUZW1wbGF0ZXMgLS0tLS0gXHJcblxyXG4gICAgVEhJTkshLi4uLi4uIExJS0UgUkVBTExZIFRISU5LIE9VVExPT0sgQkVGT1JFIE1BS0lORyBDSEFOR0VTLCB0aGluZ3MgdGhhdCB0aGVzZSB2YXJpYWJsZXMgd2lsbCBlZmZlY3Q6IFxyXG4gICAgLSBGcmFnbWVudHMgKCBhcmUgY29sb3VycyBnZW5lcmljICkgXHJcbiAgICAtIE91dGxvb2sgXHJcbiAgICAtIERpcGxvbWF0IGVtYWlsIHBhcmFtZXRlcnNcclxuXHJcbioqL1xyXG4kZW1haWwtdGVtcGxhdGUtYmFja2dyb3VuZC1jb2xvdXI6ICNlMGUwZTAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lcjogNjcwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItYm9yZGVyOiAyMHB4IHNvbGlkICRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1wcmljZS1jb2wtd2lkdGg6IDEzMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1ndXR0ZXItd2lkdGg6IDMwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyOiAkZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBFbWFpbCBidXR0b25zIC0tLVxyXG4kZW1haWwtYnV0dG9uLXdpZHRoOiAyMjBweCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDIwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBQcmltYXJ5XHJcbiRlbWFpbC1idXR0b24tcHJpbWFyeS1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuLy8gU2Vjb25kYXJ5XHJcbiRlbWFpbC1idXR0b24tc2Vjb25kYXJ5LWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1haWxpbmcgbGlzdCB0ZW1wbGF0ZXMgLS0tXHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3Qtd2lkdGg6IDY1MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiA1OTBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC1mb250LWZhbWlseTogKFxyXG4gICAgdGVtcGxhdGUtMTogXCJBcmlhbFwiXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiXHJcblxyXG4vLy0tLS0tIEhlYWRpbmdzIC0tLS0gXHJcbi8vIFVzZWQgdG8gYnJlYWsgY29udGVudCBvbnRvIG11bHRpcGxlIGxpbmVzIGluIG1vYmlsZSBidXQgaW4gZGVza3RvcCBpdHMgdXNlZCB0byBicmVhayBjb250ZW50IHVwIHdoaWxzdCByZW1haW5pbmcgb24gdGhlIHNhbWUgbGluZS5cclxuLm1vYmlsZS1icmVhayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG8gOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XHJcbiAgIGgxIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpID09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSA9PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICB9IFxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHRvIG92ZXJyaWRlIEZvdW5kYXRpb24ncyBub3JtYWxpemVyLnNjc3MsIHRoZXJlIGlzIG5vIGNvbmZpZ3VyYXRpb24gd2l0aGluIHNldHRpbmdzLnNjc3MgdG8gaGFuZGxlIHRoaXMgYW5kIHdlIGNhbm5vdCB1c2UgIWltcG9ydGFudC5cclxuYm9keSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgIH1cclxufVxyXG5cclxuaDEge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgxKSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpOyBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMikpIGFuZCBub3QgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMiksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIsIHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMS1wYWRkaW5nLCAzLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmgyIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMikpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICRoZWFkaW5nLTItZm9udC1zdHlsZSB7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJGhlYWRpbmctMi1mb250LXN0eWxlO1xyXG4gICAgfVxyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLTItbGluZS1oZWlnaHQ7XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRpbmctMi1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTIpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgYmFzaWNhbGx5IHRoZSBwYWdlIGhlYWRpbmcgc3R5bGVzIHdoZW4gd2UgY2Fubm90IHVzZSBhIGgxICggaS5lIHByb2R1Y3QgcGFnZSApXHJcbiAgICAmLnByZXNldDMge1xyXG4gICAgICAgIEBpZiBub3QgKCRwYWdlLWhlYWRpbmctdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMykpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMykpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0zKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0zKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0zKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0yLWJvcmRlci1yYWRpdXMsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcGFnZS1oZWFkaW5nLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQ0IHtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTQpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGlmKG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpID09IG51bGwsMnB4LG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpKTtcclxuICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTQpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgzKSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbWFyZ2luLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0zLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbWFyZ2luLCBwcmVzZXQtMik7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0zLXBhZGRpbmcsIHByZXNldC0yKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmg0IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy00LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNCkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNCk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuaDUge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTUtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg1KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg1KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5oNiB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNi1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDYpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDYpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYWxsb3V0IHR5cG9ncmFwaHkgLS0tLS1cclxuLmNhbGxvdXQge1xyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgaDUsIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVXNlZCBmb3IgYWxpZ25pbmcgdGV4dCBjZW50ZXIgLyByaWdodC5cclxuLnRleHQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGdldHMgc2V0IHRvIGEgYmxvY2sgZWxlbWVudCB3aGVuIGluaXRpYWxseSBtZWFzdXJpbmcuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBPbmNlIG1lYXN1cmluZyBoYXMgY29tcGxldGVkIGZsZXhib3ggaXMgdGhlbiB1c2VkLCBiYXNlbGluZSBuZWVkcyB0byBnZXQgc2V0IHRvIGtlZXAgdGhlIHRleHQgdmVydGljYWxseSBpbmxpbmUgd2l0aCBvdGhlciBjb2x1bW5zLlxyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAvLyBPdGhlcndpc2UgaW4gZm9yIGxhcmdlIHRhYmxldHMgc3VjaCBhcyBJcGFkJ3MgdGhlIGNvbnRhaW5lciBnb2VzIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlbi5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi1sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEFuY2hvcnMgLS0tLSBcclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3JzLXRleHQtZGVjb3JhdGlvbjtcclxuICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAvLyBjb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNCk7XHJcbiAgICBmb250LXdlaWdodDogJGFuY2hvcnMtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhbmNob3JzLWZvbnQtc2l6ZSk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVkaXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVkaXQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgIH1cclxuICAgICYubmV3cy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRuZXdzLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGJsb2cpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJsb2ctYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMtYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgZXZlbnRzKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGV2ZW50cy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXh0ZXJuYWwtbGluay1pY29uIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXh0ZXJuYWwtbGluay1pY29uKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvcnMtaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNik7XHJcbiAgICAgICAgb3BhY2l0eTogJGtub2NrQmFjazI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2FjdGl2ZS1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXIzLTYpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogVGhpcyBjYW4gYmUgcGhhc2VkIG91dCB1c2UgYXR0YWNobWVudC1jb250YWluZXIgaW5zdGVhZC5cclxuICAgICYucGRmLWRvd25sb2FkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGRmKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcGRmLXRhYmxlLWFuY2hvci1tYXJnaW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRmaWxlLWljb25zLXNpemUgLyAxLjMpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGRmKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBMaXN0cyAtLS0tLSBcclxub2wge1xyXG4gICAgbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlcGVyYXRvcnMgLS0tLS0tIFxyXG5ociB7XHJcbiAgICAmLm1vYmlsZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEFkZHJlc3MgRm9ybWF0dGluZyAtLS0tLVxyXG5hZGRyZXNzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBJZiB0aGlzIGlzIG1hZGUgY29uZmlndXJhYmxlIGluIHRoZSBmdXR1cmUgdGhlbiByZWNoZWNrIGNoZWNrb3V0IGNvbXBsZXRlIGRlbGl2ZXJ5ICBhZGRyZXNzIGZvbnQgc3R5bGUgdG8gbWFrZSBzdXJlIGl0IGlzIGNvbnNpc3RlbnQgd2l0aCBvcmRlciBkZXRhaWxzLlxyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEljb25zIC0tLS0tXHJcbi8vIER1ZSB0byBkZXNrdG9wIGhhdmluZyBhY2Nlc3MgdG8gdG9vbHRpcHMgKCB0aXRsZSBhdHRyaWJ1dGUgKSB3ZSBuZWVkIGEgbWVjaGFuaXNtIHRvIGRpc3BsYXkgdGhpcyBmb3IgbW9iaWxlIGRldmljZXMgZHVlIHRvIHRoZSBhYnNlbmNlIG9mIHRoZSBob3ZlciBzdGF0ZS5cclxuc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAuaWNvbi10ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBQcmljaW5nIC0tLS0tLSBcclxuQGluY2x1ZGUgcHJpY2UoKTtcclxuXHJcbi8vIC0tLS0tIEhvcml6b250YWwgUnVsZXMgLS0tLS0tXHJcbmhyIHtcclxuICAgIG1hcmdpbjogMjVweCAwO1xyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgXCJzbWFsbFwiOiAwLFxuICBcIm1lZGl1bVwiOiA2NDBweCxcbiAgXCJsYXJnZVwiOiAxMDI0cHgsXG4gIFwieGxhcmdlXCI6IDEyMDBweCxcbiAgXCJ4eGxhcmdlXCI6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJHVuaXQtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gZGl2aWRlKCRudW0sICRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQGlmICR1bml0LXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gZGl2aWRlKCR2YWx1ZSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLy0tLS0tIERpcmVjdGlvbnMgLS0tLS1cclxuJHBvaW50VXA6IC0xMzVkZWc7XHJcbiRwb2ludERvd246IDQ1ZGVnO1xyXG4kcG9pbnRSaWdodDogLTQzZGVnO1xyXG4kcG9pbnRMZWZ0OiAtMjIzZGVnO1xyXG5cclxuXHJcbi8vLS0tLS0gQmFubmVyIE92ZXJsYXlzIC0tLS0tIFxyXG5AbWl4aW4gb3ZlcmxheUJhbm5lcigkd2lkdGgsICRiZ0NvbG91cjogJycsICRjb2xvdXI6ICcjZmZmZmYnKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDA1JztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gSWNvbnMgLS0tLS1cclxuLy8tLS0gQ2hldmVyb25zIC0tLVxyXG5AbWl4aW4gY2hldnJvbjEoJGNvbG91ciwgJGRpcmVjdGlvbiwgJGRpbWVuc2lvbnM6IFwiXCIpIHtcclxuICAgIGhlaWdodDogJGRpbWVuc2lvbnM7XHJcbiAgICB3aWR0aDogJGRpbWVuc2lvbnM7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKCRkaXJlY3Rpb24pO1xyXG59XHJcbiBcclxuQG1peGluIGNoZXZyb24zKCRjb2xvdXIsICRzaXplLCAkYWN0aXZlOiBmYWxzZSwgJGRpcmVjdGlvbkluQWN0aXZlOiAxODBkZWcsICRkaXJlY3Rpb25BY3RpdmU6IDBkZWcpIHtcclxuICAgIEBpZiAoJGFjdGl2ZSA9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gMTBweDtcclxuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAjeyRzaXplfXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGlyZWN0aW9uSW5BY3RpdmV9KTtcclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkaXJlY3Rpb25BY3RpdmV9KTtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gU29jaWFsIC0tLSBcclxuQG1peGluIHNvY2lhbDEoJHByaXZhdGVVc2VBcmVhLCAkY29sb3VyLCAkc2l6ZSwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnLCAkaW52ZXJ0OiBmYWxzZSkge1xyXG4gICAgd2lkdGg6ICgyICogJHNpemUpO1xyXG4gICAgaGVpZ2h0OiAoMiAqICRzaXplKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpZiAoJGludmVydCA9PSB0cnVlKSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgd2lkdGg6ICgxLjIgKiAkc2l6ZSk7XHJcbiAgICAgICAgaGVpZ2h0OiAoMS4yICogJHNpemUpO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDAgMCAwIDI3JTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIElucHV0IHJlYWQtb25seSAtLS1cclxuQG1peGluIGlucHV0UmVhZE9ubHkoJGljb24tY29sb3VyOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpKSB7XHJcbiAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJGljb24tY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuby1hY2Nlc3MpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IChzcGFjaW5nLXZhbHVlKCRmaWVsZHNldC1sYWJlbC1wYWRkaW5nLCAyLCBsYXJnZSkgLyAyICsgMTBweCk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBIZWFkaW5nIC0tLS0tIFxyXG4vLy0tLSBVbmRlciBsaW5lIC0tLSBcclxuLy8gaGVhZGluZ1VuZGVyTGluZSB3YXMgdGhlIGZpcnN0IGF0dGVtcHQgb2YgdGhpcyBtaXhpbiBidXQgaGFkIG5vIHN1cHBvcnQgZm9yIGhvdmVyLCBhY3RpdmUgc3RhdGVzICsgaGFkIHNwZWNpZmljIHBhZGRpbmcuXHJcbkBtaXhpbiBoZWFkaW5nVW5kZXJMaW5lKCRkaXNwbGF5TGluZXM6IDIsICRjb2xvdXI6IFwiXCIsICR1bmRlcmxpbmVDb2xvdXI6IFwiXCIsICRwYWRkaW5nLWJvdHRvbTogMTVweCkge1xyXG4gICAgLy9JZiBubyBjb2xvdXIgaXMgYXNzaWduZWQgdGhlbiBkZWZhdWx0IHRvIGNvbG91cjQ7XHJcbiAgICBAaWYgKCRjb2xvdXIgPT0gXCJcIikge1xyXG4gICAgICAgICRjb2xvdXI6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJHVuZGVybGluZUNvbG91ciA9PSBcIlwiKSB7XHJcbiAgICAgICAgJHVuZGVybGluZUNvbG91cjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJGNvbG91cjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XHJcbiAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGRpc3BsYXlMaW5lcywgKGRlZmF1bHQ6ICR1bmRlcmxpbmVDb2xvdXIpKTtcclxufVxyXG4vLyBOZXcgdW5kZXJsaW5lIG1peGluIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBoZWFkaW5nVW5kZXJMaW5lLlxyXG5AbWl4aW4gdW5kZXJsaW5lKCRkaXNwbGF5LWxpbmVzLCAkdW5kZXJsaW5lLWNvbG91cjogKGRlZmF1bHQ6IG1hcC1nZXQoJGRlZmF1bHQtdW5saW5lLWNvbG91cnMsIGRlZmF1bHQpKSwgJGRlZmF1bHQtd2lkdGg6IDEwMCUsICRydWxlLWhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0LCAkcnVsZS1wb3NpdGlvbjogKGJvdHRvbTogMCkpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJGRlZmF1bHQtd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkcnVsZS1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIHRvcCkpIHtcclxuICAgICAgICAgICAgdG9wOiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCB0b3ApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCByaWdodCkpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgYm90dG9tKSkge1xyXG4gICAgICAgICAgICBib3R0b206IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIGxlZnQpKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy8gLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTIwOTg4Ni8xcHgtY2FsY3VsYXRpb24taXNzdWUtd2l0aC1icm93c2Vycy1zdWItcGl4ZWwtcHJvYmxlbXNcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAoJHJ1bGUtaGVpZ2h0ID4gMSBhbmQgc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtd2lkdGggPT0gMCkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAgICAgICAvLyBEdWUgdG8gYmFja2dyb3VuZC1jb2xvciBiZWluZyBzdXBwcmVzc2VkIGJ5IGJhY2tncm91bmQgZ3JhcGhpYyBvcHRpb25zIGluIGFkZGl0aW9uYWwgc2V0dGluZ3MsIGluY3JlYXNpbmcgd2VpZ2h0IGZvciBwb29yIHF1YWxpdHkgcHJpbnRlcnMuXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICN7KCRydWxlLWhlaWdodCArIDEpfSBzb2xpZCBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkZGlzcGxheS1saW5lcyA+IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gQnV0dG9ucyAtLS0tLVxyXG4vL0J1dHRvbjEgXHJcbkBtaXhpbiBidXR0b24xKCRjb2xvdXIsICRmb250U2l6ZTogMTUsICRmb250V2VpZ2h0OiA2MDAsICRwYWRkaW5nOiAxNXB4IDIwcHgsICR3aWR0aDogYXV0bywgJGJhY2tncm91bmQtY29sb3VyOiAoKSkge1xyXG4gICAgLy9Ad2FybiBcIlRoZSBidXR0b24xKCkgbWl4aW4gaXMgZGVwcmVjYXRlZC4gSW5jbHVkZSBjb21tb24tYnV0dG9uLTEoKSBpbnN0ZWFkLlwiO1xyXG4gICAgQGlmICgkd2lkdGggPT0gYXV0bykge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6ICN7JGZvbnRTaXplfXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmOmVuYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC41KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGljb24tYnV0dG9uKCRtb2JpbGUtYWx0LWNvbG91cnMgOiBmYWxzZSkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYnV0dG9uLmRpc2FibGVkLCBhLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBob3Zlci1hbHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzcyBhbnkgYW5jaG9yIGFycm93IGluZGljYXRvcnMgaW4gbWVudXMuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBDZW50ZXJhbGlzZSBpY29uIGluIHRoZSBjb250aWFuZXIuXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0byAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQsIGFjY291bnQtcGFnZSk7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuQG1peGluIGNvbW1vbi1idXR0b24tMSgkcGFkZGluZzogXCJcIiwgJGJhY2tncm91bmQ6IChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxLCBhY3RpdmU6ICRjb2xvdXI2KSAsICRjb2xvdXI6IChkZWZhdWx0OiAkY29sb3VyMSwgaG92ZXI6ICRjb2xvdXI0LCBhY3RpdmU6ICRjb2xvdXIxLCBkaXNhYmxlZDogJGNvbG91cjMtMyksICRib3JkZXItY29sb3VyOiAoKSwgJGZvbnQtc2l6ZTogXCJcIiwgJGZvbnQtd2VpZ2h0OiBcIlwiLCAkZGltZW50aW9uczogKHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgJG1hcmdpbjogKHNtYWxsOiAxMHB4IDAsIG1lZGl1bTogMTBweCAwLCBsYXJnZTogMCAwIDIwcHgpLCAkZGlzcGxheTogZmxleCwgJGljb24tY29uZmlnOiBudWxsLCAkZmxleC1ncm93OiBmYWxzZSkge1xyXG5cclxuICAgIC8vIEluaG91c2UgY29sb3VyIGVkZ2Ugc3RlcCBlZmZlY3QuXHJcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xyXG5cclxuICAgIC8vIERlZmF1bHRzLlxyXG4gICAgQGlmICRwYWRkaW5nID09IFwiXCIge1xyXG4gICAgICAgICRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtc2l6ZSA9PSBcIlwiIHtcclxuICAgICAgICAkZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtd2VpZ2h0ID09IFwiXCIge1xyXG4gICAgICAgICRmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkbWFyZ2luID09IDApIHtcclxuICAgICAgICAkbWFyZ2luOiAoXHJcbiAgICAgICAgICAgIHNtYWxsOiAwLFxyXG4gICAgICAgICAgICBsYXJnZTogMFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzogQ0FOTk9UIGRvIGNvbnRyYXN0LWNoZWNrZXIgKCBjb2xvdXIgcHJvY2Vzc2luZyApIGhlcmUganVzdCB5ZXQgYXMgc29tZSBtaXhpbiBjYWxsJ3MgZG8gbm90IGhhdmUgYSBmdWxsIGxpc3Qgb2YgY29sb3VyIG1peGluJ3MgYmVpbmcgcGFzc2VkIGluIGFuZCB0byBkbyBhIHJlbGlhYmxlIGZ1bGxiYWNrIHdpdGggbWFwcyB3ZSBuZWVkIGFjY2VzcyB0byBmdW5jdGlvbnMgbWFwLXNldCBvciBtYXAtbWVyZ2Ugd2hpY2ggd2UgY3VycmVudGx5IGRvIG5vdCBhcyB3ZSBuZWVkIHRvIHVwZGF0ZSBmcm9tIFJ1YnkgU2FzcyB0byBEYXJ0IFNhc3MgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vdmFsdWVzL21hcHNcclxuXHJcblxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRkaW1lbnRpb25zLCBtb2JpbGUtd2lkdGgpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgbW9iaWxlLXdpZHRoKTtcclxuICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGRpbWVudGlvbnMsIHdpZHRoKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmFsbGJhY2tcclxuICAgICRpY29uLXBvc2l0aW9uOiBiZWZvcmU7XHJcblxyXG4gICAgQGlmICgkaWNvbi1jb25maWcpIHsgXHJcbiAgICAgICAgJGljb24tcG9zaXRpb246IG1hcC1nZXQoJGljb24tY29uZmlnLCBwb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgbWF4LWhlaWdodDogbWFwLWdldCgkZGltZW50aW9ucywgbWF4LWhlaWdodCk7XHJcbiAgICBoZWlnaHQ6IGlmKG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkgPT0gJycsIDEwMCUsIG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkpO1xyXG4gICAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgICBAaWYgJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZmxleC1ncm93KSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLy8gQWRkaW5nIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGtlZXAgYW55IGFic29sdXRlIGVsZW1lbnRzIGluc2lkZSBvZiB0aGUgYnV0dG9uICggaS5lIGdyYWR1YXRlZC1jb2xvdXItZWRnZSApXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAje3NtYWxsLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICAvLyBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgJHBhZGRpbmcpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci13aWR0aDogJGNvbW1vbi1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0gPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBpZigkZm9udC13ZWlnaHQgPj0gNjAwLCAkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZy11cHBlcmNhc2UtYm9sZCwgJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkY29tbW9uLWJ1dHRvbi1saW5lLWhlaWdodDsgICAgXHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uLi4uXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRtYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAje21lZGl1bS12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sICN7bGFyZ2UtdmFsdWUoJG1hcmdpbil9KTtcclxuICAgIH1cclxuICAgIC8vIE9ubHkgYXBwbHkgaG92ZXIgZWZmZWN0IGlmIGRldmljZSBzdXBwb3J0cyBpdCAoIGkuZSBub3QgaW4gbW9iaWxlICkgdG8gYXZvaWQgdGhlIHN0aWNreSBob3ZlciBlZmZlY3QuXHJcbiAgICAvLyBodHRwczovL2l0bmV4dC5pby9maW5hbGx5LWEtY3NzLW9ubHktc29sdXRpb24tdG8taG92ZXItb24tdG91Y2hzY3JlZW5zLWM0OThhZjM5YzMxY1xyXG4gICAgLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zb2x2aW5nLXN0aWNreS1ob3Zlci1zdGF0ZXMtd2l0aC1tZWRpYS1ob3Zlci1ob3Zlci9cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciwgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkOmhvdmVyLCAmLmRpc2FibGVkOmhvdmVyIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gY29uZmlndXJhdGlvbi5cclxuICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xyXG4gICAgICAgIFxyXG4gICAgICAgICRpY29uLXBvc2l0aW9uOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgcG9zaXRpb24pO1xyXG4gICAgICAgIC8vIEZhbGxiYWNrXHJcbiAgICAgICAgQGlmIG5vdCAoJGljb24tcG9zaXRpb24pIHtcclxuICAgICAgICAgICAgJGljb24tcG9zaXRpb246IGJlZm9yZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgY29udGVudCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkaWNvbi1jb25maWcsIG1hcmdpbik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGljb24tY29uZmlnLCBzaXplKTtcclxuICAgICAgICAgICAgLy8gSWYgdXNpbmcgYSBmb250ZWxsbyBsaWJyYXJ5IHRoZW4gbWFrZSBzdXJlIHRoZSBmb250LXdlaWdodCBpcyBzZXQgdG8gNDAwIG90aGVyd2lzZSBhIHdlaXJkIGJvcmRlciBlZmZlY3QgaXMgYXBwbGllZCAoIHRoaXMgaXMgbGFyZ2VseSBkdWUgdG8gb25seSBoYXZlIHRoZSBmb250cyBpbiAxIHdlaWdodCApLlxyXG4gICAgICAgICAgICBAaWYgKHN0ci1pbmRleChcImZvbnRlbGxvXCIsIG1hcC1nZXQoJGljb24tY29uZmlnLCBmb250LWZhbWlseSkpKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUmVhZCBtb3JlIGJ1dHRvbiAvIGFuY2hvciAtLS0gXHJcbkBtaXhpbiByZWFkTW9yZVN1ZmZpeCgpIHtcclxuICAgIEBpZiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRyZWFkLW1vcmUtc3VmZml4LWN1c3RvbS1pY29uKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIENsb3NlIEJ1dHRvbiAtLS0gXHJcbkBtaXhpbiBjbG9zZUJ1dHRvbiAoJHNpemU6ICRpY29uLXNpemUsICRkZWZhdWx0LWNvbG91cjogXCJcIiwgJGhvdmVyLWNvbG91cjogXCJcIiwgJGFjdGl2ZS1jb2xvdXI6IFwiXCIpIHtcclxuXHJcbiAgICAvLyBGYWxsYmFja3MuXHJcbiAgICBAaWYgJGRlZmF1bHQtY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgYXMgdGhpcyBidXR0b24gb24gXCJtb3N0XCIgY2FzZXMgYXBwZWFycyBvbiBhIHdoaXRlIGJhY2tncm91bmQuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRkZWZhdWx0LWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkaG92ZXItY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRob3Zlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgIH1cclxuICAgIEBpZiAkYWN0aXZlLWNvbG91ciA9PSBcIlwiIHtcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkYWN0aXZlLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbG9zZS1idXR0b24pO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogKCRzaXplICogMS4yKTtcclxuICAgICAgICAgICAgQGlmICgkaG92ZXItY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gVGFibGUgbGF5b3V0IGluIG1vYmlsZS5cclxuQG1peGluIGdyaWQtdGFibGUtbGF5b3V0LW1vYmlsZSgpIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAvLyBUd28gY29sdW1uIGFycmFuZ2VtZW50IHdoaWNoIHRoZSBpbWFnZSBnZXRzIGNvbXByZXNzZWQgb24gc21hbGxlciBkZXZpY2VzIHRvIGZpdCBjZWxsIG1haW4gY29udGVudCAoIGkuZSBkZXNjcmlwdGlvbiwgcHJpY2UgJiBidXkgYm94ZXMgKS5cclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDFmcjtcclxuICAgIC8vIE11bHRpbWVkaWEgY29udGVudCA9PSBJbWFnZXMsIHZpZGVvcyBvciBhbmltYXRpb25zLiBUaGUgcmVzdCBvZiB0aGUgY29udGVudCBoYXMgc3BlY2lmaWMgYXJlYSdzIHRoYXQgaXQgc2l0cyBpbiAoIGkuZSBkZXNjcmlwdGlvbi1jb2wgc2l0cyBpbiB0ZSBkZXNjcmlwdGlvbiBhcmVhIClcclxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibXVsdGltZWRpYS1jb250ZW50IGRlc2NyaXB0aW9uXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgY29kZVwiIFwibXVsdGltZWRpYS1jb250ZW50IHByaWNlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgaW50ZXJhY3RpdmVcIjtcclxuICAgIC8vIEVhY2ggcm93IGV4Y2VwdCB0aGUgcHJpY2luZyByb3cgdG8gbWF0Y2ggaXRzIGNvbnRlbnQgaGVpZ2h0LCByZWFzb24gZm9yIHRoaXMgaXMgdG8gYWxsb3cgYW55IGF2YWlsYWJsZSBoZWlnaHQgdG8gYmUgdGFrZW4gdXAgYnkgdGhlIHByaWNpbmcgdGV4dCB0aGlzIHdpbGwgYWxzbyBwaW4gdGhlIGludGVyYWN0aXZlIGVsZW1lbnRzIHRvIHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcclxuICAgIC8vIERpc3RhbmNlIGJldHdlZW4gZWFjaCBjb250ZW50IGNvbnRhaW5lci5cclxuICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwJSAxZnI7XHJcbiAgICB9XHJcbiAgICAvLyA+IGE6Zmlyc3QtY2hpbGQgaXMgdGhlIG9sZCB3YXkgb2YgdGhpbmtpbmcgYmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIGZvcm1hbCBjb25jZXB0IGFzIGEgY2xhc3MuXHJcbiAgICAubXVsdGltZWRpYS1jb250ZW50LCA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcclxuICAgIH1cclxuICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBjb2RlO1xyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTtcclxuICAgIH1cclxuICAgIC8vIEludGVyYWN0aXZlIGFyZWEsIHRoaXMgY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgKCBidXkgYm94ZXMsIGxvZ2luLCBlbnF1aXJ5IG9yIHN0b2NrbGluZSBidXR0b25zICkuXHJcbiAgICAuaW50ZXJhY3RpdmUtY29udGVudCwgLnF1YW50aXR5LWNvbnRhaW5lciwgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBpbnRlcmFjdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRm9ybSBtaXhpbnMgLS0tLS0gXHJcbi8vIC0tLSBFcnJvciBCbG9jayAtLS0gXHJcbkBtaXhpbiBlcnJvci1ibG9jaygpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgaDIsIGg0IHtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXJyb3ItYmxvY2stZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcnJvci1ibG9jay1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gUGFnZSBTcGVjaWZpYyBNaXhpbnMgLS0tLS1cclxuLy8tLS0gUHJvZHVjdCAtLS1cclxuQG1peGluIHRyaXBsZU1vZHVsZVNlY3Rpb24oJHByaXZhdGVVc2VBcmVhOlwiXCIsICRoYXNJY29uOiBmYWxzZSAsJGljb25Db2xvdXI6XCJcIiwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBTb2xpZCcpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRoYXNJY29uID09IHRydWUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGljb25Db2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZTM2ME92ZXJsYXkoJGljb25TaXplOiA4MCUsICRvdmVybGF5U2l6ZTogOTBweCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG1heC13aWR0aDogJG92ZXJsYXlTaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRvdmVybGF5U2l6ZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIyLCAwLjIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBpbWFnZS0zNjApKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uU2l6ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAoJGJvcmRlclJhZGl1czIgLyAyKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRjb2xvdXIzLTEsIDAuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcmljZSgkaXMtbGlzdDogZmFsc2UpIHtcclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgeyAgICBcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgLy8gICAgIC8vIFRoaXMgd2FzIHB1dCBpbiBmb3Igb3B0aW9uYWwgZXh0cmEncyBub3QgYWxpZ25pbmcgd2l0aCB0aC5cclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gVG8gcHJldmVudCBkdXBsaWNhdGUgbGFiZWxzIGlmIHRoZXJlIGlzIG9ubHkgb25lIHByaWNlIGJlaW5nIG91dHB1dHRlZC5cclxuICAgIC5jb2wtbGFiZWwgKyAucHJpY2VzIHtcclxuICAgICAgICBwOm9ubHktY2hpbGQgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QgYW5kICRwcmljZS1saXN0LWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxpc3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIGlubGluZS1mbGV4IGR1ZSB0byBpbmNvbnNpc3RlbmNpZXMgb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJpY2UtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OyAvLyBGb2xsb3cgc2FtZSBydWxlIGFzIGRlc2NyaXB0aW9uIHRvIGJyaW5nIG11bGl0cGxlIGxpbmVzIGNsb3NlciBhcyB0aGV5IHJlbGF0ZS5cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIHdpdGggdmF0IHRleHQuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICY6aGFzKC52YXQpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBwcmV2ZW50IHNtYWxsIHN0cmluZ3Mgb2YgdGV4dCBpbiBsYWJlbHMgZnJvbSB3cmFwcGluZy5cclxuICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgfiAudmF0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRpbmcgcGFkZGluZyBsZWZ0IGR1ZSB0byBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UgdGhlIHZhdCB0ZXh0IGFzIHJlbmRlcmluZyByaWdodCB1cCBhZ2FpbnN0IHRoZSBwcmljZS5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmdzLXRleHQtdHJhbnNmb3JtICE9IG5vcm1hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmctc3RyaWtlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJycCB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcnJwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJycC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC10ZXh0LXRyYW5zZm9ybSAhPSBub3JtYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRycnAtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC1zdHJpa2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1wcmljZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2stcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhY2stc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1zaXplLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1zaXplLWNvbG91cjsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1pdGVtLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2staXRlbS1zaXplLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImNlbnRlclwiIGFuZCAkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcmljZS10ZXh0LWFsaWduID09IFwibGVmdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIEhhZCB0byBhZGQgb3ZlcnJpZGUgZm9yIFdpbGQgdGhpbmdzIGR1ZSB0byBpbmNvbnNpc3RhbmN5IGluIGxvZ2ljIG9uIG90aGVyIHNpdGVzICggaS5lIGF4aXMgKS5cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBtYXJnaW46ICRwcmljZS1tYXJnaW47XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBjb25zaXN0ZW5jeSBpc3N1ZXMgd2hlbiBkaXNwbGF5aW5nIG11bGlwbGUgcHJpY2VzLlxyXG4gICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC5jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAudmF0IHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhdC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBycnAoKSB7XHJcbiAgICAvLyAucnJwIHtcclxuICAgICAgICAvLyBjb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcnJwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRycnAtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1peGluIHNhdmluZygpIHtcclxuICAgIC8vIC5zYXZpbmcge1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNhdmluZy1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIC8vIGNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbkBtaXhpbiBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRxdWFudGl0eS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkcXVhbnRpdHktbGFiZWwtY29sb3VyO1xyXG4gICAgQGlmICgkcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICB9IFxyXG59XHJcblxyXG5AbWl4aW4gY29tbW9uLWNoZWNrYm94KCRkaW1lbnRpb25zOiAkY2hlY2tib3gtZGltZW50aW9ucykge1xyXG4gICAgLy8gQ2FsY3VsYXRlIHJhZGl1cy5cclxuICAgICRjaGVja2JveC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAvLyBDYXAgcmFkaXVzIG90aGVyd2lzZSB5b3Ugd2lsbCBlbmQgdXAgd2l0aCBhIGNpcmNsZS5cclxuICAgIEBpZiAoJGNoZWNrYm94LXJhZGl1cyA+IDUpIHtcclxuICAgICAgICAkY2hlY2tib3gtcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gQmFzZSBjaGVja2JveCBzdHlsZXMgLS0tXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAkZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICRjaGVja2JveC1yYWRpdXMge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tib3gtcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNoZWNrYm94LXRpY2spO1xyXG4gICAgICAgICAgICB3aWR0aDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoJGRpbWVudGlvbnMgLyAxLjcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTcGVjaWZpYyBjaGVja2JveCBzdHlsZXMgLS0tIFxyXG4gICAgLy8gRGVmYXVsdCBTdGF0ZS5cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGlzYWJsZWQgJiBSZWFkIE9ubHkuXHJcbiAgICAmW3JlYWRvbmx5XSArIHNwYW4sICZbZGlzYWJsZWRdIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEhvdmVyIFN0YXRlLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9jdXMuXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ2hlY2tlZCAvIEFjdGl2ZSBTdGF0ZS5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFbmFibGVkLlxyXG4gICAgICAgICY6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEaXNhYmxlZCAmIFJlYWQgT25seS5cclxuICAgICAgICAmW2Rpc2FibGVkXSwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlLWRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidWxsZXRwb2ludCgpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidWxsZXQtc2l6ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1bGxldC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidWxsZXQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcm9kdWN0IGNvbGxlY3Rpb24gc3R5bGVzLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoJGludmVydC1lYmctY29sb3VyczogZmFsc2UsICRpcy1ncmlkLWNvbGxlY3Rpb246IGZhbHNlKSB7XHJcbiAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcikge1xyXG4gICAgICAgJjpub3QoLm1pbmlmaWVkLWxheW91dCkge1xyXG4gICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtI3tpZigkY29sbGVjdGlvbi1lYmctaW1hZ2Utc2VwZXJhdG9yLCcnLCc6bm90KC5lYmcpJyl9IC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItcG9zaXRpb24tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IGxlZnQsIGltYWdlIHJpZ2h0XHJcbiAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcih0cnVlKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgZ3JvdXBzIGRvbnQgaGF2ZSBhIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBndXR0ZXIgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIG1hcmdpbi5cclxuICAgICAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gR2l2ZSB0aGUgdGV4dCBtb3JlIGRvbWluYW5jZSBvdmVyIHRoZSBpbWFnZSA4NDQ2NzguIFxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFNwZWNpZmljIHN0eWxlcyBmb3IgcHJvZHVjdCBjb2xsZWN0aW9ucy5cclxuICAgICAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLmNvZGUsIC5wcmljZXMsIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDEsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAzLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udGVudCByaWdodCwgSW1hZ2UgbGVmdFxyXG4gICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBncm91cHMgZG9udCBoYXZlIGEgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgZ3V0dGVyIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBtYXJnaW4uXHJcbiAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAvLyBHaXZlIHRoZSB0ZXh0IG1vcmUgZG9taW5hbmNlIG92ZXIgdGhlIGltYWdlIDg0NDY3OC4gXHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcclxuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBwcm9kdWN0IGNvbGxlY3Rpb25zLlxyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpO1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24taW1hZ2UtYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCB0b3AsIGltYWdlIGJvdHRvbS5cclxuICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIEFzc3VtaW5nIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UsIGFzIG9yZGVyIGlzIG5vdCB1c2VkIG9uIGFueSBvZiB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIGNlbGwgdGhlbiB0aGlzIHdpbGwgZm9yY2UgdGhlIGltYWdlIHRvIHRoZSBib3R0b20uXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdub24tY29tcGFjdCcpOztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWluaWZpZWQsIHJlc3RyaWN0ZWQgaW1hZ2Ugc2l6ZS5cclxuICAgICYubWluaWZpZWQtbGF5b3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoKTtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBc3N1bWUgdGhlIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiwgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB5b3UncmUgYSBwcm9kdWN0IGNhcm91c2VsLlxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLy8gU2V0IGhlaWdodCB0byByZWFkIG1vcmUgY29udGVudCBmcm9tIHRha2luZyB1cCB0aGUgZW50aXJlIHBhZ2UgYXMgdGhlc2UgYXJlIG9mdGVyIGZ1bGwgQ01TIGVudHJpZXMuXHJcbiAgICAgICAgJjpoYXMoLnJlYWQtbW9yZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIGVCdXNzaW5lc3MgZ3JvdXAgc3BlY2lmaWMgc3R5bGluZy5cclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgd2UncmUgb25seSBzaG93aW5nIHRoZSBpbWFnZSwgc28gcmVtb3ZlIGFkZGl0aW9uYWwgcGFkZGluZyB0byBtYWtlIHRoZSBjZWxsIG1hdGNoIHRoZSBpbWFnZSBzaXplLlxyXG4gICAgICAgICAgICAmOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBpcyBjYXVzaW5nIGJ1dHRvbiBhbGlnbm1lbnQgaXNzdWVzIHJlZ2FyZGluZyBmb3VuZGF0aW9uJ3MgZXF1YWxpemVyLlxyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAkY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmhvdmVyIC5kZXNjcmlwdGlvbiB7ICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUgLmRlc2NyaXB0aW9uIHsgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBGb2xsb3cgcHJvZHVjdCBjZWxsIGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50IGFuZCAkaXMtZ3JpZC1jb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXMgYW5kICRpcy1ncmlkLWNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhPSAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICE9ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGdyaWQgY29sbGVjdGlvbiB0aGVuIGRvbid0IGFwcGx5IGJhY2tncm91bmQgaW4gZGVmYXVsdCBzdGF0ZSwgaWYgdGhpcyBpcyBhIGNhcm91c2VsIHRoZW4gYXBwbHkgdGhlIGRlZmF1bHQgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTsgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvOyAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1ob3Zlci1ib3gtc2hhZG93LXN1cHByZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgcGFkZGluZyBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gcGFkZGluZy5cclxuICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ25vbi1jb21wYWN0Jyk7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFdoZW4gaW4gbW9iaWxlIGZpdC1jb250ZW50IGluY2FzZSB0aGVyZSBpcyBhIGJvcmRlciBhcHBsaWVkLCBpbiB0aGUgY29udGV4dCBvZiB3aWxkIHRoaW5ncyB0aGUgYm9yZGVyIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgY29udGVudCB3aXRob3V0IGEgZ3V0dGVyIFIgKyBMLCBTVVBQUkVTU0lORzogQXMgdGhpcyB3YXMgY2F1c2luZyBhbiBpbXBhY3Qgb24gcGFja2FnaW5nZGVwb3QgYW5kIG1pbGVzIGZvciBlZ2IgbW9kdWxlcyBub3QgZmlsbGluZyBjZWxsIHdpdGggYmFja2dyb3VuZCBjb2xvdXIsIGEgYmV0dGVyIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGp1c3QgY2VudGVyIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgY2VsbCB1c2luZyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gRGVmYXVsdCB0byBmbGV4IGxheW91dC5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgdGhpcyBhcyBzb21lIGRlc2lnbnMgYWxsb3cgdGhlIGltYWdlIHRvIHRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY2VsbCBhbmQgdGhlbiBpbmRlbnQgdGhlIGNvbnRlbnQuXHJcbiAgICAgICAgLy8gJi5wcm9kdWN0IHtcclxuICAgICAgICAvLyAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAmICsgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIC8vIEJhc2Ugc3R5bGVzIHRoYXQgZ2V0IHVzZWQgaW4gYWxsIGxheW91dHMgLyBkYXRhICggaS5lIHByb2R1Y3QsIGViZywgY21zIClcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gbGVmdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZy10b3AgJGNvbnRlbnQtcGFkZGluZyBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZywgMSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHN0b2NrIGluZGljYXRvcnMgaGF2ZSBiZWVuIGRpc2FiYWJlZCB0aGVuIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gcHJpY2VzIGFuZCBidXR0b24ocykuXHJcbiAgICAgICAgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy93aWR0aDogNjYlO1xyXG4gICAgICAgICAgICB3aWR0aDogJGNvbGxlY3Rpb24tYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWJ1dHRvbnMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1pbmlmaWVkIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWhvdmVyLXVuZGVybGluZSwgdW5kZXJsaW5lLCBub25lKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHlvdSBsYXlvdXQgY2xhc3NlcyBpbnN0ZWFkLlxyXG4gICAgICAgIC8vICYucHJvZHVjdCB7XHJcbiAgICAgICAgLy8gICAgIC5pbWFnZSBpbWcge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1wcm9kdWN0LWltYWdlLW1hcmdpbjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoaXMgaXMgdHJhbnNwYXJlbnQganVzdCBpbmNhc2Ugd2UgaGF2ZSBhbnkgLnBuZyBiYW5uZXJzLlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZy1ib3R0b207XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgbm9uLWNvbXBhY3QpIDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgd2FzIGNhdXNpbmcgaXNzdWUgd2hlbiBhcHBseWluZyBsYXlvdXQgc3R5bGluZywgd2hpY2ggd2FzIGNhdXNpbmcgdGhpcyBydWxlIHRvIGJlIHZlcnkgZGlmZmN1bHQgdG8gb3ZlcnJpZGUuXHJcbiAgICAgICAgICAgICAgICAvLyAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgbm9uLWNvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gRmxpcCB0aGUgbG9naWMuXHJcbiAgICAgICAgICAgICAgICAmOmlzKDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgIH0gICBcclxuICAgIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0byBzY2FsZSB0aGUgaW1hZ2UgdG8gbWF4IGF2YWxpYWJsZSBzcGFjZSArIG1ha2Ugc3VyZSAuaW1hZ2UgaXMgYSBibG9jayBlbGVtZW50IG9yIGltYWdlIHdpbGwgZmFpbCB0byBkaXNwbGF5IG9uIEFwcGxlIGRldmljZXMuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgd2FzIGNhdXNpbmcgdGhlIGVxdWFsaXNlciB0byBhc3NpZ24gaGVpZ2h0OiAwOyBmb3IgaU9TIGRldmljZXMgdXNpbmcgQ2hyb21lIG1vcmUgb24gdGhpcyBvbiA4NDI2ODcuXHJcbiAgICAgICAgLy8gQ2hhbmdlIHRvIGZpdC1jb250ZW50IGZvciBib3JkZXItcmFkaXVzIGVmZmVjdCBhcyB0aGlzIHdhcyBjdXQgb2ZmIGluIGNvbXBhY3QgdmlldywgY2Fubm90IHVzZSB0aGlzIGFzIENocm9tZSBvbiBpT1MgY2F1c2VzIHRoZSBlcXVhbGlzZXIgdG8gaW5jb3JyZWN0bHkgYXNzaWduIGhlaWdodDogMDtcclxuICAgICAgICAvLyBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAvLyBTZXR0aW5nIG92ZXJmbG93IHRvIGVuc3VyZSBzcXVhcmVkIGltYWdlcyBkb24ndCBvdmVycmlkZSB0aGUgYm9yZGVyLXJhZGl1cyBvZiB0aGUgY2VsbCB3aGljaCB3aWxsIHJlc3VsdCBpbiBzcXVhcmVkIGVkZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwgYW5kIHJvdW5kZWQgYXQgdGhlIGJvdHRvbS5cclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgZmxleC1zaGluayBkdWUgdG8gaW1hZ2VzIGJlaW5nIHN0cmV0Y2hlZCBpbiBpZS5cclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcHJvZHVjdC1saXN0LWdyaWQtbGFiZWwtdmFsdWUtYWxpZ21lbmVudDtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAvLyBBcyB3ZSBkb24ndCBrbm93IHRoZSBkZWZhdWx0IGNvbG91ciB1c2luZyBhIG5ldXRyYWwgY29sb3VyIGluc3RlYWQuXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sbGVjdGlvbi1jb2RlLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByaWNlKHRydWUpO1xyXG4gICAgQGluY2x1ZGUgcnJwKCk7XHJcbiAgICBAaW5jbHVkZSBzYXZpbmcoKTtcclxuICAgIGZvcm0sIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgIH1cclxuICAgIC5hZGRUb0Jhc2tldC5pY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLy9IYW5kbGVzIHF1YW50aXR5IHNlbGVjdG9ycyB0aGF0IGFyZSBpbiB0aGUgY2Fyb3VzZWwuXHJcbiAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTcGVjaWZpY2FsbHkgZm9yIGtlZXBpbmcgdHlwb2dyYXBoeSBpbnN5bmMgYWNyb3NzIGNvbGxlY3Rpb25zIGFuZCB0YWJsZXMuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpIHtcclxuICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpIHtcclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTcuNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBXaGVuIHNob3dpbmcgbXVsdGltZWRpYSBjb250ZW50IHJpZ2h0IG9yIGxlZnQgdGhlbiBhZGQgcGFkZGluZyBhYm92ZSB0ZXh0IGNvbnRlbnQgc28gdGhlIGZpcnN0IGl0ZW0gaXMgbm90IHJpZGluZyBvbiB0aGUgYm9yZGVyIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lci5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1maXJzdC1pdGVtLXBhZGRpbmcoKSB7XHJcbiAgICAvLyBBc3N1bWUgdGhlcmUgd2lsbCBhbHdheXMgYmUgYW4gaW1hZ2UuXHJcbiAgICAmOmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAxLCAnY29tcGFjdCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCkge1xyXG4gICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKSB7XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGZpdC1jb250ZW50IHdpbGwgZmlnaHQgYWdhaW5zdCBhc3BlY3QtcmF0aW8gcnVsZSBhcyBmaXQtY29udGVudCB3aWxsIHRyeSB0byBzaHJpbmsgdGhlIGNvbnRhaW5lciB3aGVuIHRoZSBwYWdlIGlzIGxvYWRpbmcgY2F1c2luZyBhIENMUyBpc3N1ZS5cclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpIHtcclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKSB7XHJcbiAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKSB7XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NiU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpIHtcclxuICAgIGZvcm0geyBcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoJHJldmVyc2UtY29sdW1uczogZmFsc2UpIHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAvLyBJcyB0aGlzIGFuIEVCRz8gXHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIE1vdmluZyB0b3dhcmRzIGNvbnRhaW5pbmcgYWxsIGNlbGwgY29weSAvIGRldGFpbHMgLyBkYXRhIGludG8gb25lIGNvbnRhaW5lci5cclxuICAgICAgICBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDIsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZW1vdmUgZ3JpZC1yb3cgYW5kIGp1c3QgbGV0IHRoZSBncmlkIGF1dG8gcGxhY2UgdGhlIHJlc3Qgb2YgdGhlIGl0ZW1zLlxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudW5pdC1vZi1tZWFzdXJlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKSB7XHJcbiAgICAvLyBtYXgtd2lkdGg6IDk4JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpZiAoJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEZWZhdWx0IGNvbGxlY3Rpb24gYm9yZGVyLlxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi11bmRlcmxpbmUoKSB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLXNsaWRlLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IHN1bW1hcnkgc2VwZXJhdG9yIC0tLSBcclxuQG1peGluIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy9cclxuICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyO1xyXG59XHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zIC0tLS0tIFxyXG4vLyAtLS0gT24gcGFnZSAtLS0gXHJcbkBtaXhpbiBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJHBhZGRpbmc6ICgpLCAkbWFyZ2luOiAoKSwgJGZvbnQtc2l6ZTogMTRweCwgJGljb24tc2l6ZTogMTlweCkge1xyXG5cclxuICAgIC0tZm9udC1mYW1pbHk6ICN7JGZvbnRBd2Vzb21lU29saWR9O1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBJZiBjb250ZW50IGlzIGluIGEgY29udGFpbmVyIHRoZW4gZG9uJ3Qgd3JhcCAoIGVzc2VudGlhbGx5IGJhY2t3YXJkcyBzdXBwb3J0ICkuXHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXApO1xyXG4gICAgbWFyZ2luOiBpZihtYXAtaGFzLWtleSgkbWFyZ2luLCBwcmVzZXQtMSksIG1hcC1nZXQoJG1hcmdpbiwgcHJlc2V0LTEpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1tYXJnaW4sIHByZXNldC0yKSk7XHJcbiAgICBwYWRkaW5nOiBpZihtYXAtaGFzLWtleSgkcGFkZGluZywgcHJlc2V0LTEpLCBtYXAtZ2V0KCRwYWRkaW5nLCBwcmVzZXQtMSksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIHByZXNldC0xKSk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgQGlmICgkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCk7XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0eWxlIHByZXNldHMuXHJcbiAgICAvLyBEZWZhdWx0IC8gUHJlc2V0LTEgYXJlIHRoZSBzYW1lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBiZWZvcmUgcHJlc2V0IGNsYXNzZXMgd2VyZSBhIHRoaW5nLlxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBJbml0aWFsIGxheW91dCBmb3IgZnVsbCBwYWdlIG5vdGlmaWNhdGlvbnMgKCBlLmcgbm8gaXRlbXMgZm91bmQgaW4gbGlzdHMgKS5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIE1pbmlmaWVkIGxheW91dCwgd2l0aCBhbGlnbm1lbnQgbGVmdC5cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogaWYobWFwLWhhcy1rZXkoJHBhZGRpbmcsIHByZXNldC0yKSwgbWFwLWdldCgkcGFkZGluZywgcHJlc2V0LTIpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbXBhY3QgdmVyc2lvbiBvbiBwcmVzZXQtMSAoIGkuZSByZWR1Y2VkIHBhZGRpbmcgKSB0byBmaXQgd2l0aGluIFxyXG4gICAgJi5wcmVzZXQtMyB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHlwZSBwcmVzZXRzLlxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGluZm9ybWF0aW9uLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIHR5cGVzLlxyXG4gICAgJi5pY29uLW5vbi1yZXR1cm5hYmxlIHtcclxuICAgICAgICAtLWZvbnQtZmFtaWx5OiAjeyRleHByZXNzLWRlZmF1bHQtaWNvbnN9O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm9uLXJldHVybmFibGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVc2VkIHdoZW4gc2hvd2luZyB0ZWNobmljYWwgZXJyb3JzIHRvIHByZWZpeCB0aGUgYWN0dWFsIGVycm9yIGluIGEgZW5kIHVzZXIgZnJpZW5kbHkgZm9ybWF0LlxyXG4gICAgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyICggZmFsbGJhY2sgaWYgbm8gcHJlc2V0IGlzIGFzc2lnbmVkIClcclxuICAgID4gcCB7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vIEdvIHRvIGJlIGJhc2VsaW5lIG90aGVyIGFuY2hvcnMgd2lsbCBhcHBlYXIgb24gYSBkaWZmZXJlbnQgbGluZSBvbiBzb21lIGZvbnRzICggaS5lIGZ1bnRpbWUgKS5cclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIHNwYWNpbmctdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCwgMiwgbGFyZ2UpIGF1dG8gMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodCwgJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lci5cclxuICAgID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3soJGljb24tc2l6ZSArIDUpfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcbkBtaXhpbiBkaXNhYmxlZC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbmZvcm1hdGlvbi1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgaW5mb3JtYXRpb24pO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbmZvLWNpcmNsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgaW5mb3JtYXRpb24pO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhbGVydC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgfSAgICBcclxufVxyXG5AbWl4aW4gd2FybmluZy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgd2FybmluZyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gc3VjY2Vzcy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgc3VjY2Vzcyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgTWl4aW5zIC0tLS0tIFxyXG5AbWl4aW4gY21zLXRhYmxlKCkge1xyXG4gICAgcDpub3QoOmVtcHR5KSArIHRhYmxlLCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46ICRjbXMtdGFibGUtc2libGluZy1tYXJnaW47XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgJjpub3QoW2NsYXNzKj1wcmVzZXRdKSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNldCB0aGUgY29sb3VyIGhlcmUgYXMgaXQgZ2V0cyBkaWZmaWN1bHQgdG8gb3ZlcnJpZGUgKCBpLmUgaW50ZXJuYWwgb25seSBkb2N1bWVudGF0aW9uICksIGluc3RlYWQgZWl0aGVyIHVzZSBwcmVzZXRzIG9yIHNldCB0aGUgZGVmYXVsdCBpbiBfc2V0dGluZ3Muc2NzcyAkdGFibGUtaGVhZC1mb250LWNvbG9yLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KFtjbGFzcyo9cHJlc2V0XSkge1xyXG4gICAgICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWhlYWRlci1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQgeyAgXHJcbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246ICRjbXMtdGFibGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPbmx5IGFwcGx5IHRoZSBnYXAgaWYgdGhlcmUgaXMgdGhlYWQgYmVmb3JlLlxyXG4gICAgICAgIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHsgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5vLXdyYXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb21wYXJpc29uLXRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oJG1hcmdpbjogJHRib2R5LW1hcmdpbikge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWJsb2NrcXVvdGUoKSB7XHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJsb2NrcXVvdGUtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhpbWcpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2NrcXVvdGUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy1ibG9ja3F1b3RlLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLWJsb2NrcXVvdGUtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1oZWFkaW5ncygpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDEpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDEpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgxKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoMSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDEpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGgxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgyKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgyKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgzKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDMpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgzKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMyk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDQpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg0KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDQpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg1KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg1KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDUpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg1KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDYpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg2KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDYpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLXBhcmFncmFwaCgkZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWxpbmUtaGVpZ2h0LCAkZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUpIHtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgJGNtcy1wYXJhZ3JhcGgtbWFyZ2luKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIGxlZnQgYWxpZ25lZC5cclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gZW0ncyB0byBzY2FsZSBtYXJnaW4gd2l0aCBpbmxpbmUgZm9udCBzaXplLCB0aGlzIHdhcyBhIHByb2JsZW0gZm9yIENLRWRpdG9yNCB3aGVuIHRoZSBmbG9hdCBwcm9wZXJ0eSBpcyBhcHBsaWVkIHZpYSBpbmxpbmUgc3R5bGVzIHRvIHRoZSBpbWcgYWdhaW5zdCBhIHNpbmdsZSBsaW5lIHBpZWNlIG9mIHRleHQgd2hpY2ggd291bGQgY2F1c2UgdGhlIGxheW91dCB0byBicmVhay5cclxuICAgICAgICBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAmW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIHJpZ2h0IGFsaWduZWQuXHJcbiAgICAgICAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAmW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtbGlzdHMoJGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0OiAkY21zLWxpc3QtbGluZS1oZWlnaHQsICRmb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSkge1xyXG4gICAgdWwsIG9sIHtcclxuICAgICAgICAvLyBMaXN0cyBzaG91bGQgYWx3YXlzIGlnbm9yZSBjb250YWluZXIgdGV4dC1hbGlnbiBhbmQgYmUgYWxpZ25lZCB0byB0aGUgbGVmdC5cclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgLy8gbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAyNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbGlzdC1wYWRkaW5nLCA0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbGkge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzcyBhcyB3ZSdyZSB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMy03O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB0aGlzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIxMzY5ODQzL2lzLXRoZXJlLWEtd2F5LXRvLW1ha2UtbnVtYmVycy1pbi1hbi1vcmRlcmVkLWxpc3QtYm9sZFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLWxpc3QtcGFkZGluZztcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAvLyA+IHVsIGxpICsgbGkge1xyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gTWFrZSBzdXJlIGxpc3RzIGRvbnQgYnV0dCB1cCBhZ2FpbnN0IGhlYWRpbmdzLlxyXG4gICAgdWwgKyBoMSwgb2wgKyBoMSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgxXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMiwgb2wgKyBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgyXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMywgb2wgKyBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgzXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNCwgb2wgKyBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg0XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNSwgb2wgKyBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg1XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNiwgb2wgKyBoNiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg2XCIpO1xyXG4gICAgfVxyXG4gICAgZGwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtY29kZSgpIHtcclxuICAgIGNvZGUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWNvZGUtYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBwYWRkaW5nICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xpcGJvYXJkLWNvcHkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWFuY2hvcigpIHtcclxuICAgIGEge1xyXG4gICAgICAgIC8vIEF2b2lkIHN0eWxpbmcgaWYgdGhpcyBpcyBhIGJ1dHRvbi5cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IHdhcyBnZXR0aW5nIGluIHdheSBvZiBhbmNob3IgaW5zaWRlIG9mIHRhYmxlcyB3aGVuIG5lc3RlZCBpbiBjbXMgY29udGVudC5cclxuICAgICAgICAvLyAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAmW2hyZWZePVwidGVsOlwiXSwgJltocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1hbmNob3ItY29udGFjdC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaG93LWNvbnRhY3QtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gR2l2ZSB0aGUgYW5jaG9yIHNvbWUgYnJlYXRoaW5nIHJvb20gZnJvbSB0aGUgcmVzdCBvZiB0aGUgY29udGVudC5cclxuICAgIC8vIERvbid0IGFwcGx5IHRoZSBwYWRkaW5nIGlmIHRoaXMgaXMgYSBidXR0b24uXHJcbiAgICBwXHJcbiAgICBhIHtcclxuICAgICAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgICAkYW5jaG9yLWd1dHRlci1zcGFjaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgLy8gQXMgYSB0ZXN0IHRvIHN0cmluayBjb250ZW50IGkuZSBpbWFnZXMgZG93bi5cclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIHJvdyBpbmNhc2UgdGhlcmUgaXMgbWFya3VwIGluc2lkZSBvZiB0aGUgYW5jaG9yICggaS5lIHN0cm9uZyBmb3IgYXhpcyB2TWVyY2hhbnQgKVxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6ICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZzogJGFuY2hvci1ndXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYW5jaG9yLXdlaWdodDtcclxuXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1pbWFnZSgpIHtcclxuXHQvLyBDa2VkaXRvciA1IHdyYXBzIGFsbCBpbWFnZXMgaW4gYSBmaWd1cmUgdGhlbiBhcHBsaWVzIGNsYXNzaW5nIGZvciBhbGlnbm1lbnQgaW5zdGVhZCBvZiBkaXJlY3RseSBhZGRpbmcgaW5saW5lIENTUywgd2hlbiBhIHBhZ2UgaXMgcmVuZGVyZWQgdGhlIENrZWRpdG9yJ3Mgc3R5bGVzaGVldCBpcyBub3QgbG9hZGVkIGluIG9ubHkgd2hlbiBpbiB0aGUgZWRpdG9yIGlzIGluaXRpYWxpc2VkLlxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICAvLyBJZiBDS0VkaXRvciBoYXMgYXNzaWduZWQgYSBhYnNvbHV0ZSB3aWR0aCBtYWtlIHN1cmUgaXQgZG9lc24ndCBleHBhbmQgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgd2hlbiBpbiBtb2JpbGUuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAkY21zLWltYWdlLXNwYWNpbmc7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBDa2VkaXRvci5cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBmaXQtY29udGVudCB0byBhbGxvdyBmb3IgdGhlIGNvbnRhaW5lciB0byBtYXRjaCB0aGUgaW1hZ2Ugd2lkdGggYnV0IHByZXZlbnQgdGhlIGNhcHRpb24gZnJvbSBleHBhbmRpbmcgZnVydGhlciB0aGFuIHRoZSBpbWFnZSB3aWR0aC5cclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjbXMtaW1hZ2Utc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGV4dCBmbG93IGFyb3VuZCB0aGUgaW1hZ2UuXHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAvLyBNYXRjaCB0b3AgKyBib3R0b20uXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSk7XHJcblx0XHR9XHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgLy8gTWF0Y2ggdG9wICsgYm90dG9tLlxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKTtcclxuXHRcdH1cclxuICAgICAgICAvLyBUZXh0IGJyZWFrLlxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2NsYXNzKj1cImltYWdlLXN0eWxlLWJsb2NrXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMikpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWltYWdlLWdhbGxhcnkoKSB7XHJcbiAgICBkaXYuZ2FsbGFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgICAgICAmLmNlbGwtZ3V0dGVycyB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy15b3V0dWJlLXZpZGVvKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xyXG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWdvb2dsZS1tYXBzLWVtYmVkZGVkKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxufVxyXG4vLyBVc2VkIGZvciByZWFkIG1vcmUgdGV4dC5cclxuQG1peGluIHNpbXBsZS1mYWRlKCRvcGFjaXR5OiAkZGVmYXVsdC1mYWRlLW9wYWNpdHksICRmZWF0aGVyOiAkcmVhZC1tb3JlLWZlYXRoZXItZGVmYXVsdCkge1xyXG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgJG9wYWNpdHksICRyZWFkLW1vcmUtZmFkZS1jb2xvdXIgJGZlYXRoZXIpXHJcbn1cclxuLy8gU3BlZWNoIGJ1YmJsZSBnZW5lcmF0b3IgKCBodHRwczovL3Byb2plY3RzLnZlcm91Lm1lL2J1YmJseS8gKS5cclxuLy8gJHNpZGU6IFwidG9wLCByaWdodCwgYm90dG9tLiBsZWZ0XCJcclxuQG1peGluIHNwZWVjaC1idWJibGUoJHNpZGU6IFwidG9wXCIsICRwb2ludGVyLXNpemU6IDVweCwgJGJvcmRlci1jb2xvdXI6ICRjb2xvdXI0LCAkYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZS1wb2ludGVyKCRzaWRlLCAkcG9pbnRlci1zaXplLCAkYm9yZGVyLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICgkcG9pbnRlci1zaXplIC0gMyksICRiYWNrZ3JvdW5kLWNvbG91ciwgdHJ1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICRwb2ludGVyLXNpemUsICRib3JkZXItY29sb3VyLCAkaXMtaW50ZXJuYWwtYXJyb3c6IGZhbHNlKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcInJpZ2h0XCIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSAgPT0gXCJib3R0b21cIiB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBzY2FsZSBpbnRlcm5hbCBhcnJvdyBiYXNlZCBvbiB0aGUgdG9vbHRvcCBjb250ZW50IGJvcmRlci5cclxuICAgICAgICBib3JkZXItd2lkdGg6ICN7aWYoJGlzLWludGVybmFsLWFycm93LCAoJHBvaW50ZXItc2l6ZSArICgkdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aCAvIDIpKSwgJHBvaW50ZXItc2l6ZSl9cHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tpZigkaXMtaW50ZXJuYWwtYXJyb3csICgkcG9pbnRlci1zaXplICsgKCR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoIC8gMikpLCAkcG9pbnRlci1zaXplKX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRib3JkZXItY29sb3VyOztcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH1cclxufVxyXG5cclxuLy8gT3JkZXIgVGFibGUgc3R5bGVzICggdXNlZCBmb3IgYmFza2V0LCBjaGVja291dCBjb21wbGV0ZSAmIHZpZXcgb3JkZXIgKVxyXG5AbWl4aW4gb3JkZXItdGFibGUoKSB7XHJcbiAgICAvLyBHbG9iYWwgYmFza2V0IHRhYmxlIHByb3BlcnRpZXMuXHJcbiAgICB0ZCwgdGgge1xyXG4gICAgICAgICY6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIHBhZGRpbmc6ICRvcmRlci1tb2JpbGUtcm93LXBhZGRpbmc7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJi5yZWFkLW9ubHkge1xyXG4gICAgICAgIC8vIHRkLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogNjtcclxuICAgICAgICAgICAgLy8gLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDc7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmFkZC10by1iYXNrZXQtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAvLyAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyB3aWR0aCBzbyBvcHRpb25hbCBleHRyYSdzIHdpdGhvdXQgYW4gaW1hZ2UgdGhlIGRlc2NyaXB0aW9ucyBob2xkcyBpbiBwbGFjZS5cclxuICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHByZXZlbnQgaGVpZ2h0IGR1ZSB0byBuZWVkaW5nIHRvIHN1cHBvcnQgcmVjdGFuZ2xlIGltYWdlcy5cclxuICAgICAgICAgICAgICAgICAgICAvL2hlaWdodDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRvcmRlci10YWJsZS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIgc3BhbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9udCBzZXQgYSBhYnNvbHV0ZSB3aXRoIG90aGVyd2lzZSB0aGlzIHdpbGwgbm90IHNjYWxlIHdlbGwuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFza2V0LWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIC5zdG9ja1dhcm5pbmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkY29sb3VyMy0zLCAwLjYpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0Ym9keS1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBub24tcmV0dXJuYWJsZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSk7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCB7XHJcbiAgICAgICAgLy8gd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgLy8gb3JkZXI6IDM7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtY29kZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXByaWNlLWNvbCwgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmF0LXJhdGUtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hZGQtdG8tYmFza2V0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG9yZGVyOiA1O1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBmcmVlIHRleHQgcXVhbnRpdHkgc2VsZWN0b3IuXHJcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1Yi10b3RhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1zdWItdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRvcmRlci10YWJsZS1zdWItdG90YWwtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1yZW1vdmUtY29sIHsgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGJhc2tldEJvZHlSZW1vdmVDb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBmb3IgZ2VuZXJpYyAucmVtb3ZlLWJ1dHRvbiBpbiBfdGFibGVzLnNjc3MuXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpO1xyXG4gICAgICAgIC8vICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmOmhvdmVyIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vICY6YWN0aXZlIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5iYXNrZXRVcGRhdGVSb3cge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmFza2V0SGVhZEJvcmRlckNvbG91cjtcclxuICAgIH1cclxuICAgIC5iYXNrZXQtaXRlbS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLy8gV2UgdXNlZCB0byBub3QgdXNlIGdyaWQgbGF5b3V0IGR1ZSB0byBJRSBzdXBwb3J0IGJ1dCBhcyB3ZSBubyBsb25nZXIgc3VwcG9ydCBJRSB0aW1lIHRvIG1ha2Ugb3VyIGxpZmUncyBlYXNpZXIhLlxyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgMiBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0YW5kYXJkIHN0eWxlcyBhZGRlZCB0byBtZW51IGRyb3Bkb3ducy5cclxuQG1peGluIGRyb3Bkb3duLWZvb3Rlcigkc3VwcHJlc3MtcGFkZGluZzogZmFsc2UpIHtcclxuICAgIEBpZiBub3QgKCRzdXBwcmVzcy1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRtb2JpbGUtbWVudS1mb290ZXItcGFkZGluZy1ib3R0b207IFxyXG4gICAgfVxyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXItYm9yZGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tZm9vdGVyLWJvcmRlcigpIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLWNvbG91cjtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLXNpemUgMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vIE1lbnUgaG92ZXIgaWNvbiAvIGlzLXN1Ym1lbnUtcGFyZW50LlxyXG5AbWl4aW4gbWVudS1pdGVtLXByZWZpeC1pY29uKCkge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lZ2EtbWVudS1saW5rLWljb24pO1xyXG4gICAgICAgIGhlaWdodDogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIEFsd2F5cyBzaG93IGFycm93cyBpbiBtb2JpbGUuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXI0KSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZSAtICgkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgKiAyKTtcclxuICAgICAgICBoZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemUgLSAoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0ICogMik7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgcmdiYSgkc3Bpbm5lci1jb2xvdXIsIC4yKTtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgJHNwaW5uZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgMHM7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluIC43cyBjdWJpYy1iZXppZXIoMC41NjAsIDAuMTEwLCAwLjIyMCwgMC44NjUpIDBzIGluZmluaXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAvLyBhbmltYXRpb24ga2V5ZnJhbWVzXHJcbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgICAgIGZyb20gIHsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcbiAgICAgICAgdG8gICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEluIG1vYmlsZSB0aGUgdG9nZ2xlIGJhciB0cmlnZ2VycyB0aGluZ3MgbGlrZSBiYXNrZXQsIHNlYXJjaCAmIHNpdGUgbmF2aWdhdGlvbiwgdGhpcyBpcyB0aGUgZ2VuZXJpYyBzdHlsZXMgdGhvc2UgbWVudSdzIC8gcG9wdXBzIHVzZS5cclxuQG1peGluIGhlYWRlci1tb2JpbGUtbWVudSgpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgei1pbmRleDogJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gQnVpbGQgY29sb3VyIHBhbGxldGUgdG9uZXMuXHJcbkBtaXhpbiBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoJGNvbG91ci1uYW1lLCAkY29sb3Vycykge1xyXG4gICAgLy8gQ2hlY2sgaWYgdmFyaWFibGUgZXhpc3QuXHJcbiAgICBAaWYgbm90ICh2YXJpYWJsZS1leGlzdHMoJGNvbG91ci1uYW1lKSkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbG91ciBtYXAgXCIgI3skY29sb3VyLW5hbWV9IFwiIGRvZXNuJ3QgZXhpc3QgZm9yIHNpdGUgI3skc2l0ZX1cIjtcclxuICAgIH1cclxuICAgIEBlYWNoICRsaWdodG5lc3MsICRjb2xvdXIgaW4gJGNvbG91cnMge1xyXG4gICAgICAgIC0tI3skY29sb3VyLW5hbWV9LWxpZ2h0bmVzcy0jeyRsaWdodG5lc3N9OiAjeyRjb2xvdXJ9O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZWdhIG1lbnUgcGFyZW50IGxldmVsIDIgc3R5bGVzLlxyXG5AbWl4aW4gbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKSB7XHJcbiAgICA+IGEge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZykgIT0gJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gXCJub25lXCIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVnYSBtZW51IHJvb3QgcGFyZW50IGRyb3Bkb3duIGFycm93cy5cclxuQG1peGluIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRkZWZhdWx0LWNvbG91ciwgJGhvdmVyLWNvbG91cikge1xyXG4gICAgJjpob3ZlciA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gNHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVG9vbHRvcCBjb250ZW50IGNvbnRhaW5lciBwb3NpdGlvbmluZywgdGhpcyBnZXRzIGNhbGxlZCBpZiB0aGUgY29udGVudCBnZXRzIHdyYXBwZWQgaW4gYWRkaXRpb25hbCBjb250YWluZXIocylcclxuQG1peGluIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpIHtcclxuICAgIHdpZHRoOiAkdG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4vLyBWaWRlbyBwbGF5IGljb24gb3ZlcmxheS5cclxuQG1peGluIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gQWRkIHNsaWdodCBzaGltIGR1ZSB0byBmbGV4Ym94IG5vdCBqdXN0aWZ5aW5nIHBlcmZlY3RseSBjZW50ZXIuXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTs7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFZpZGVvIHJlcGxheSBpY29uIG92ZXJsYXksIHRoaXMgd2FzIGltcGxlbWVudGVkIGFmdGVyIHRoZSB2aWRlby1wbGF5LWljb24gcnVsZXMsIGluIGhpbmRzaWdodCB0aGlzIGNvdWxkIGJlIG1ha2UgbW9yZSBtb2R1bGFyLlxyXG5AbWl4aW4gdmlkZW8tcmVwbGF5LWljb24tb3ZlcmxheSgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci1yZXBsYXktdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pOztcclxuICAgICAgICBib3JkZXI6ICN7JHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhbGxiYWNrKCRuYW1lLCAkZmFsbGJhY2ssICRtZXRyaWNzKSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJyN7JG5hbWV9IEZhbGxiYWNrJztcclxuICAgICAgICBzcmM6IGxvY2FsKCcjeyRmYWxsYmFja30nKTtcclxuICAgICAgICBzaXplLWFkanVzdDogbWFwLWdldCgkbWV0cmljcywgc2l6ZS1hZGp1c3QpO1xyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgYXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBkZXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgbGluZS1nYXAtb3ZlcnJpZGUpO1xyXG4gICAgfVxyXG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIC0tLS0tIFRhYmxlIFN0eWxlcyAtLS0tLSBcclxuLy8gLS0tIFRhYmxlIEhlYWQgLS0tIFxyXG4udGFibGUtZm9vdGVyLXNwYWNlciB7XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodCBzb2xpZCAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgIH1cclxufVxyXG50YWJsZSB7XHJcblxyXG4gICAgLS1ib3JkZXItY29sb3VyOiAje2RlZmF1bHQtY29sb3VyKCR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cil9O1xyXG4gICAgLS1ib3JkZXItaG92ZXItY29sb3VyOiAje2hvdmVyLWNvbG91cigkdGJvZHktcm93LWJvcmRlci1jb2xvdXIpfTtcclxuXHJcbiAgICAvLyBTZXR0aW5nIGhlaWdodCBwcm9wZXJ0eSB0byBhbGxvdyBmb3IgPGRpdj4ncyBpbnNpZGUgb2YgPHRkPidzIHRvIHNwYW4gZnVsbCBoZWlnaHQsIGZvciBtb3JlIGFib3V0IHRoaXMgY2hhbmdlIHBsZWFzZSBzZWUgS2FwZXJzdG9uZSdzIGNvbW1lbnQgaGVyZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMjE1NTUzL21ha2UtYS1kaXYtZmlsbC1hbi1lbnRpcmUtdGFibGUtY2VsbFxyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24sIHdoZW4gc2V0dGluZyBzbW9vdGgtZWRnZXMgdGhlICRnbG9iYWwtcmFkaXVzIHZhbHVlIGdldHMgc2V0IHRoaXMgY3JlYXRlIGEgd2VpcmQgZWZmZWN0IGluIG1vZHVsZSBjYXVzaW5nIHRoZSB0ZCdzIGJvcmRlciB0byBvdmVyZmxvdyB0aGUgcmFkaXVzLlxyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICYuc3RyaXBlZCB7XHJcbiAgICAgICAgdHIgeyBcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgLy8gRW5zdXJlIGJhY2tncm91bmQtY29sb3IgZ2V0cyByZW5kZXJlZCBpbiBwcmludCBtb2RlLlxyXG4gICAgICAgICAgICAvLyBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgICAgICAgICAgLy8gLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgLy8gJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgZm9yIGNhbGwgcG9ydGFsIGRlc2lnbi5cclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGQgcnVsZXMgdG8gdGhlIGJvdHRvbSBvZiBlYWNoIHJvdy5cclxuICAgICYuc2hvdy1ib3JkZXItYm90dG9tIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeygkdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nICogMil9O1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaG93IGJvcmRlcnMgYXJvdW5kIGVudGlyZSB0YWJsZSAmIGNlbGxzLlxyXG4gICAgJi5zaG93LWJvcmRlcnMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaG93IG9ubHkgaW50ZXJuYWwgYm9yZGVycy5cclxuICAgICYuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCYXNpY2FsbHkgdHJlYXQgdGhlIGZpcnN0IGNvbHVtbiBsaWtlIGEgdmVydGljYWwgdGhlYWQuXHJcbiAgICAmLmhpZ2hsaWdodC1maXJzdC1jb2x1bW4ge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR2VuZXJhbCBzdHlsZXMgdXNlZCBhY3Jvc3MgdGhlIHNpdGUuXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCR0YWJsZS1wcmVzZXQtMS1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkdGFibGUtcHJlc2V0LTEtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdy1zcGFjaW5nIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAjeygkdGJvZHktbWFyZ2luIC0gKHNwYWNpbmctdmFsdWUoJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZywgMikgKiAyKSl9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLWhlYWRlci1ib2R5LW1hcmdpbigpO1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggc3BhY2luZy12YWx1ZSgkdGhlYWQtcHJlc2V0LTEsIDIsIHBhZGRpbmcpOyBcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmltYWdlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy01O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bm90KC5wZGYtZG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBwcmltYXJpbHkgaW4gdGhlIGJhc2tldC5cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0NXB4IDAgNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkdGJvZHktbWFyZ2luO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAvLyBVc2VkIHByaW1hcnkgaW4gdGhlIGFjY291bnQgYXJlYS5cclxuICAgICYucHJlc2V0LTMge1xyXG4gICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcHggc3BhY2luZy12YWx1ZShtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyksIDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm93LWFkZGl0aW9uYWwtcGFkZGluZyB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIC8vIERvbid0IG5lZWQgdG8gZG8gdGhpcyBmb3JtIG1vYmlsZSBkdWUgdG8gcmVzcG9uc2UtdGFibGUgY2xhc3MuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICR0Ym9keS1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQmVjYXVzZSB0aGVyZSBpcyBubyBvdGhlciBlYXN5IHdheSB0byBhZGQgYSBtYXJnaW4gYmV0d2VlbiB0aGUgdGFibGUgcm93cyB3aXRoIG91dCBhZGRpbmcgbWFya3VwLlxyXG4gICAgJi5yb3ctc3BhY2luZyB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZztcclxuICAgICAgICAmOmhhcygucm93LWlucHV0LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgICBzcGFuLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIGZvciB1cGxvYWQgY3N2IHRhYmxlICM3NjcyMzkuXHJcbiAgICAgICAgLy8gdGQge1xyXG4gICAgICAgIC8vICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgLy8gICAgID4gc3BhbiB7XHJcbiAgICAgICAgLy8gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBubyBpbWFnZSBhbGlnbiBhbGwgdGV4dCBiYXNlbGluZS5cclxuICAgIHRkIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICB9XHJcbiAgICAvLyBFbHNlIHZlcnRpY2FsIGFsaWduIGNlbnRlciBvdGhlcndpc2UgbXVsdGktbGluZSB0ZXh0IHdpbGwgYmUgcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHJvdy5cclxuICAgICY6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICB0ZC5uby1wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIHNwYW4udGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkcGRmLXRhYmxlLWFuY2hvci1tYXJnaW4gKyAoJGZpbGUtaWNvbnMtc2l6ZSAvIDEuMykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3IgbW9iaWxlIHZpZXcgc28gYnV0dG9ucyBkb24ndCBhcHBlYXIgb24gYSBuZXcgbGluZS5cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyIHtcclxuICAgICAgICAvLyBTdWNjZXNzXHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBXYXJuaW5nLlxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWxlcnRcclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFcnJvciByb3cuXHJcbiAgICAgICAgJi5lcnJvci1yb3csICYuZXJyb3Ige1xyXG4gICAgICAgICAgICAvLyBIYXZpbmcgdG8gb3ZlcnJpZGUgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIHRyLmVycm9yLXJvdywgJiArIHRyLmVycm9yIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFeHBpcmVkLlxyXG4gICAgICAgICYuY2FyZC1leHBpcmVkLCAmLmV4cGlyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVtb3ZlLWNvbCwgLmV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoZSByb3cgY2FuIGJlIHVzZWQgdG8gY2hlY2sgYSBjaGVja2JveCBvciByYWRpbyBidXR0b24uXHJcbiAgICAgICAgJi5yb3ctaW5wdXQtdG9nZ2xlIHtcclxuICAgICAgICAgICAgLy8gSGF2aW5nIHRvIHVzZSBib3gtc2hhZG93IGR1ZSB0byBuZWVkaW5nIHRvIHVzZSBib3JkZXItY29sbGFwc2UgJiBib3JkZXItc3BhY2luZyB0byBnZXQgZ2FwIGJldHdlZW4gcm93cy5cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy03KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgLy8gQWx3YXlzIG1ha2Ugc3VyZSBjb250ZW50IGlzIHZpc2libGUgb24gaG92ZXIuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdWNjZXNzLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1yZWFzb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtaWNvbiwgLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3JkZXItdG90YWwtY29sLCB0aC5jc3YtaW1wb3J0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuYWRkcmVzcy1ibG9jayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuY2FyZC10eXBlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheW1lbnQtY2FyZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leHBpcmVkLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxudGhlYWQge1xyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7IFxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC1hbGlnbik7IFxyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtdHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtdHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aFtjbGFzcyQ9ZGVzY3JpcHRpb24tY29sXSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgdGJvZHkgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIHJvdy1ib3JkZXIpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIEBpZiAoJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2NvbXBhcmlzb24tdGFibGVdIHtcclxuICAgIC5jb21wYXJpc29uLXZhbHVlcyB0ZCt0ZCwgdGgrdGgge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXI6ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS12YWx1ZXMtYm9yZGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIC8vcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi12YWx1ZS1yaWdodCB7XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbXBhcmlzb24tc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbXBhcmlzb24tY3VycmVudGx5LXNlbGVjdGVkIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbXBhcmlzb24tY29sdW1uLWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmcsIDIpIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29sdW1uLWVtcHR5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhpcyB0YWJsZSBoYXMgYSBpbWFnZS1jb2x1bW4sIHRoZW4gdXNlIHRoZSBncmlkIGxheW91dCBpbiBtb2JpbGUuXHJcbiAgICAmOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgY29sdW1uIGhhcyBhIGxhYmVsICsgdmFsdWUgdGhlbiBzcGxpdCBpdCBpbnRvIHR3byBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgNzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2Ugcm93IGludG8gZ3JpZCB2aWV3LlxyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMWZyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFueSB0ZCB0aGF0IGlzIG5vdCB0aGUgaW1hZ2UgdGQgbW92ZSB0byAyIGNvbHVtbi5cclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgY29sdW1uIGhhcyBhIGxhYmVsICsgdmFsdWUgdGhlbiBzcGxpdCBpdCBpbnRvIHR3byBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBjaGVja2JveGVzIHRvIHZlcnRpY2FsbHkgYWxpZ24gY2VudGVyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5bcmVzcG9uc2l2ZS1yZXZlYWxdIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJiArIHRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHBhZGRpbmctaXRlbS15OiAxOHB4O1xyXG4gICAgJHBhZGRpbmctaXRlbS14OiAyMHB4O1xyXG4gICAgLnJlc3BvbnNpdmUtdGFibGUtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSBzb2xpZCBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSBzb2xpZCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCApIHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyRwYWRkaW5nLWl0ZW0teX07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQXMgd2UncmUgbm93IHJldmVhbGxpbmcgY29udGVudCBzaG93IGFueSBvdmVyZmxvd2luZyB0ZXh0LlxyXG4gICAgICAgICAgICAuZWxsaXBzaXMtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICN7JHBhZGRpbmctaXRlbS15fSAjeyRwYWRkaW5nLWl0ZW0teH07XHJcbiAgICAgICAgJjpoYXMoLnVucmVhZC1jb2wpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHNwYWNlIGZvciB0YXAgYXJlYSBpbiBtb2JpbGUuIFxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAjeyRwYWRkaW5nLWl0ZW0teX07XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1zb3J0LWNvbCB7XHJcbiAgICAmLmFzY2VuZCBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXNvcnQtYXNjZW5kKTtcclxuICAgIH1cclxuICAgICYuZGVzY2VuZCBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXNvcnQtZGVzY2VuZCk7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIC8vIEZvciBpY29uIGFsaWdubWVudC5cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTs7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRoZWFkLXNvcnRpbmctYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2OyBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTW92aWluZyBob3ZlciBzdGF0ZSB0byB0ZCB0byBhbGxvdyBmb3IgZ3JlYXRlciBoaXQgYXJlYS5cclxudGQubm90aWZpY2F0aW9uLWNvbCB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXItd2lkdGg6IDAgMCAwIG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIC4xOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGxlZnQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVucmVhZC1jb2wge1xyXG4gICAgLy8gVHJ5aW5nIHRvIGJlIHNlbWkgY29tcGxpZW50IHdpdGggbGlnaHRob3VzZSdzIGV4cGVjdGF0aW9uIGludGVybXMgb2YgdGFwIGFyZWEgKDQ4eDQ4KSBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2RvY3MvbGlnaHRob3VzZS9zZW8vdGFwLXRhcmdldHNcclxuICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vICY6aG92ZXIge1xyXG4gICAgLy8gICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgICAgIHRvcDogMDtcclxuICAgIC8vICAgICAgICAgbGVmdDogMDtcclxuICAgIC8vICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAvLyAgICAgICAgIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIC4xOCk7XHJcbiAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBsZWZ0ICR0cmFuc2l0aW9uT3V0cm8gZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250ZW50IHNwZWNpZmljIHN0eWxlcy5cclxudGFibGUge1xyXG4gICAgJi5yZXVzYWJsZS1jYXJkLXRhYmxlIHtcclxuICAgICAgICAvLyBTcGVjaWZpY2FsbHkgaW4gdGhlIGNvbnRleHQgb2YgcGF5bWVudC5cclxuICAgICAgICAmLnBheW1lbnQge1xyXG4gICAgICAgICAgICAucmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIaWRlIHRoZSBzZWxlY3Qgcm93IGluZmF2b3VyIG9mIGNsaWNraW5nIG9uIHRoZSByb3cgdG8gcHJvZ3JhbWF0aWNhbGx5IHRvZ2dsZSB0aGUgY2hlY2tib3ggLyByYWRpby5cclxuICAgICAgICB0aC5zZWxlY3QtY29sLCB0ZC5zZWxlY3QtY29sIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmludmFsaWQtYmFza2V0LXRhYmxlIHtcclxuICAgICAgICAvLyBLZWVwIHRhYmxlIGlubGluZSB3aXRoIHRoZSB0ZXh0ZGIgZW50cnkgYWJvdmUuXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSAqIDIpfSk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyLCBsYXJnZSkgKiAyKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVmZXJlbmNlLWNvbCwgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyaWVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4NTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVwZGF0ZWQtY29sLCAudXBkYXRlZC1ieS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2Nlc3MtbGV2ZWwtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cnkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXB4IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJldmlzaW9uLWNvbHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51cGRhdGVkLWJ5LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51cGRhdGVkLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wdWJsaXNoZWQtY29sLCAuYWNjZXNzLWxldmVsLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEge1xyXG4gICAgICAgIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmICsgLm5lc3RlZC10YWJsZS1yb3cge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICYgPiB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5mb2xkZXItZmlsdGVycy10YWJsZSB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRhYmxlIGNvbnRlbnRzIHNjcm9sbCBiZWhhdmlvdXIuXHJcbi50YWJsZS1jb250YWluZXIge1xyXG4gICAgJHNoYWRvdy1jb2xvdXI6IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgIC8vIENvbW1vbiBzY3JvbGwgcnVsZXMuXHJcbiAgICAmLnRhYmxlLXNjcm9sbC1lbmFibGVkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7IC8vIGxvY2tpbmcgdG8gcHJlc2V0LTEgYXMgdGhhdCBzZWVtcyB0byBiZSB3aGF0IHdlIGNvbW1vbmx5IHVzZS5cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBIZWFkZXIgYm94LXNoYWRvdyB3aGVuIHNjcm9sbGluZyAvIHNjcm9sbCBhdCBib3R0b20uXHJcbiAgICAmLnNjcm9sbC1taWRkbGUsICYuc2Nyb2xsLWF0LWJvdHRvbSB7XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDlweCAtMXB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbmVyIGJvdHRvbSBzaGFkb3cuXHJcbiAgICAmLnNjcm9sbC1taWRkbGUsICYuc2Nyb2xsLWF0LXRvcCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn0sIGluc2V0IDAgLTEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUYWJsZSBzcGVjaWZpYyBydWxlcy5cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cmllcyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBvdGhlciBtYXJnaW4ncyBpbXBvc2VkIGJ5IFNBU1MgY29uZmlnIGFzIHRoZSB0YWJsZSBpcyBpbiB0aGUgY29udGFpbmVyIHdpdGggYSBzY3JvbGxiYXIgdXAgdGhlIHNpZGUgbG9va3Mgd2VpcmQuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTWFrZSB0YWJsZSBjb2x1bW4gaGVhZCBzdGljay5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IC0xcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLSBJbnB1dHMgLS0tLSBcclxuLSBTdHlsaW5nIGZvciBmb3JtIGlucHV0cyAoIHNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIClcclxuLSBRdWFudGl0eSBzZWxlY3RvcnNcclxuLSBGb3Jtc1xyXG4gIC0gRmllbGRzZXRzXHJcbiAgLSBGaWVsZHNcclxuLSBWYWxpZGF0aW9uXHJcbiAgLSBGb3JtIGVycm9ycyBmcm9tIHRoZSBzZXJ2ZXJcclxuICAtIEFkdmFuY2VkIHZhbGlkYXRpb24gKCBzZXR0aW5nIHBhc3N3b3JkIClcclxuLSBQcmltYXJ5LCBTZWNvbmRhcnksIEV0YyBidXR0b25zIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cclxuLSBVSSBibG9jayBwYW5lLlxyXG4qL1xyXG5cclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0tIFxyXG5mb3JtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEJ1dHRvbnMgLS0tLS0gXHJcbi8vLS0tIFN1Ym1pc3Npb24gLS0tXHJcbmZvcm0uaXMtaW52YWxpZCB7XHJcbiAgYnV0dG9uW3R5cGU9c3VibWl0XSwgLmZvcm0tc3VibWl0LWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgfVxyXG4gIFxyXG59XHJcbi8vIC0tLSBHZW5lcmFsIGJ1dHRvbiBzdHlsZXMgLS0tXHJcbmJ1dHRvbiB7XHJcbiAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gIH1cclxufVxyXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAuY29udHJvbC50ZXh0IHtcclxuICAgIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogKGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCk7XHJcbiAgICAgIH1cclxuICAgICBcclxuICAgIH1cclxuICAgICYucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3sobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkIHtcclxuICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgLy8gQXNzdW1lIHRoZSBsYXN0IGZpZWxkIGNvbnRhaW5zIHRoZSBzdWJtaXQgYnV0dG9uLlxyXG4gIC8vICY6bGFzdC1jaGlsZCB7XHJcbiAgICAvLyBidXR0b25bdHlwZT1zdWJtaXRdIHtcclxuICAgICAgLy8gQWRkIGluIHNvbWUgbWFyZ2luIHRvIGtpY2sgdGhlIGJ1dHRvbiBhd2F5IGZyb20gdGhlIGZpZWxkcyBzbGlnaHRseS5cclxuICAgICAgLy8gbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC8vIH1cclxuICAvLyB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gIH1cclxuICAmLmFsaWduLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuICAmLmFsaWduLWxlZnQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuICBsYWJlbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIC8vIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICB9XHJcbiAgICAgICYucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7c21hbGwtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9KTtcclxuICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7c21hbGwtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9IC0gICN7bGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKX0pO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXNzd29yZC1yZXZlYWwge1xyXG4gICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgKyB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZHZpc29yeS10ZXh0IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRmaWVsZC1sYWJlbC1mb250LXNpemUgLSAzKSk7XHJcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYudGV4dCwgJi5lbWFpbCwgJi50ZWwsICYubnVtYmVyLCAmLnRleHRhcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6aGFzKGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLnByaW1hcnktYnV0dG9uKSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICAgIC8vIFNwZWNpZmljYWxseSBub3QgY2hlY2tib3gncyBhcyBTYWZhcmkgZmVlbHMgdG8gZGlzcGxheSBhIGJsYW5rIGFyZWEgZXZlbiB0aG91Z2ggY2hlY2tib3ggaW5wdXQncyBoYXZlIGhlaWdodCArIHdpZHRoIHByb3BlcnRpZXMgc2V0IHRvIDA7XHJcbiAgICAgICY6bm90KFt0eXBlPWNoZWNrYm94XSkge1xyXG4gICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCArIHRleHRhcmVhIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgLy8gbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpO1xyXG4gICAgICAvLyBOZWVkIHRvIHNldCBhIG1heC13aWR0aCBvdGhlcndpc2Ugd2hlbiB5b3UgZXhwYW5kIHRoZSBhcmVhIGl0IHRha2VzIHVwIHRoZSBlbnRpcmUgd2lkdGggaW4gYSBmb3JtIGFuZCBwdXNoZXMgdGhlIGxhYmVsIGFib3ZlLlxyXG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICB0ZXh0YXJlYSB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgLmVycm9yLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWF4LXdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApIC8gMS4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpub3QoLm1lZGl1bSk6bm90KC5sYXJnZSk6bm90KC5sYXJnZS0xKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gICYuc21hbGwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgJGZpZWxkLWp1c3RpZnktY2VudGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJi5tZWRpdW0ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgJGZpZWxkLWp1c3RpZnktY2VudGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmZ1bGwtd2lkdGgge1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5saXN0IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7IFxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGFiZWwtaW5wdXQtZ2FwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH0gIFxyXG4gICAgYSB7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrOyB0byBwdXNoIGFuY2hvcnMgb250byBuZXcgbGluZS5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCAwO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tIFRoZXNlIGFyZSBub3JtYWxseSB1c2VkIGZvciBcIiBwbGVhc2Ugc3BlY2lmeSBvdGhlciBcIiBmaWVsZHMgLS0tICBcclxuICAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gLS0tIE11bHRpLWNvbHVtbiBmb3JtIGZpZWxkIHN1cHBvcnQgLS0tIFxyXG4gICZbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdLCAmW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0sICZbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc21hbGwtMSwgJi5tZWRpdW0tMSwgJi5sYXJnZS0xIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAzNjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsLTIge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9IFxyXG4gICYuc21hbGwtMyB7XHJcbiAgICB3aWR0aDogMzMlO1xyXG4gIH0gXHJcbiAgJi5tZWRpdW0tMiB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLm1lZGl1bS0zIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2UtMiB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2UtMyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIE91dHB1dHRlZCBjbXMgY29udGVudCBuZXh0IC8gdW5kZXIgYSBpbnB1dCBmaWVsZC5cclxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XHJcbiAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIC8vIE92ZXJyaWRlIGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplIGFzIHdlJ3JlIGluIHRoZSBjb250ZXh0IG9mIGEgZm9ybS5cclxuICBwLCBhIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgIH1cclxuICB9XHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogJGFkZGl0aW9uYWwtaW5mby1pbWFnZS1tYXJnaW47XHJcbiAgfVxyXG4gICYubGFyZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbi8vIFVzZWQgZm9yIHBvc3Rjb2RlIGxvb2sgdXAuXHJcbi5sb29rdXAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vLyAtLS0gUmV2ZWFsIFBhc3N3b3JkIC0tLSBcclxuLy8gLmNvbnRyb2wudGV4dC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuLy8gICBpbnB1dCB7XHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHJldmVhbC1wYXNzd29yZC13aWR0aH07XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbmlucHV0W3R5cGU9cGFzc3dvcmRdIHtcclxuICBjb2xvcjogJGNvbG91cjMtMztcclxuICBmb250LXNpemU6IDIycHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgZm9udC1mYW1pbHk6IGNhcHRpb247XHJcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAvLyAmLmlzLWludmFsaWQtaW5wdXQge1xyXG4gIC8vICAgY29sb3I6ICRhbGVydC1jb2xvdXI7XHJcbiAgLy8gfVxyXG4gIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyAwIDAgJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IDQ0cHg7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogLTE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBib3gtc2hhZG93OiAxNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJjpmb2N1cyB7XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyAmLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMrLnBhc3N3b3JkLXJldmVhbHtcclxuICAvLyAgIGJvcmRlci1jb2xvcjogJGVycm9yLWJvcmRlci1jb2xvdXI7XHJcbiAgLy8gfVxyXG4gICYgKyBidXR0b24ge1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhc3N3b3JkLXJldmVhbCB7XHJcbiAgd2lkdGg6ICRyZXZlYWwtcGFzc3dvcmQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGFzc3dvcmQtcmV2ZWFsKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIGZvbnQtc3R5bGU6IDEycHg7XHJcbiAgICBjb2xvcjogJHJldmVhbC1pY29uLWNvbG91cjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJi5pbnB1dC1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dDo6LW1zLWNsZWFyLCBpbnB1dDo6LW1zLXJldmVhbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gLS0tIEJ1dHRvbjEgLS0tXHJcbi8vIEFjdGlvbiBidXR0b25zLlxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRhLWRlZmF1bHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYS1kZWZhdWx0LWJ1dHRvbi1jb2xvdXIsICRhLWRlZmF1bHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgJi5zdWNjZXNzLCAmLmVtYWlsIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzdWNjZXNzLWJ1dHRvbi1jb2xvdXIsICRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxuICAmLndhcm5pbmcge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHdhcm5pbmctYnV0dG9uLWNvbG91ciwgJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG4gICYuYWxlcnQge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAkYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG59XHJcbi8vIC0tLS0tIEdlbmVyaWMgQnV0dG9ucyAtLS0tLS1cclxuLy8gQWxpZ25tZW50IGNsYXNzJ3MgZm9yIENNUyAoIFJpY2ggVGV4dCBFZGl0b3IgKSBjb250ZW50LlxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tY2VudGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLXJpZ2h0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWxlZnQge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG4vLyBTRVRUSU5HIE1PQklMRS1XSURUSDogQVVUTzsgb3RoZXJ3aXNlIGlmIHdlIHVzZSAxMDAlICsgYWRkIG1hcmdpbiB0aGUgYnV0dG9uIHdpbGwgYmUgZGUtY2VudGVyYWxpc2VkIGluIGl0cyBjb250YWluZXIuXHJcbi8vIFBSTy1USVA6IFN0cnVnZ2xpbmcgd2l0aCBuYW1pbmcgYSBidXR0b24/IHRyeSB0aGlzOiBxdWF0ZXJuYXJ5LCBxdWluYXJ5LCBzZW5hcnksIHNlcHRlbmFyeSwgb2N0b25hcnksIG5vbmFyeSwgZGVuYXJ5IHRoaXMgd2lsbCB0YWtlIHlvdSB1cCB0byAxMCB2YXJpYXRpb25zLi4uLlxyXG4vLyBQcmltYXJ5IGJ1dHRvbiBpcyB0eXBpY2FsbHkgdXNlZCB3aGVuIHByb2NlZWRpbmcgdG8gdGhyb3VnaCB0byBhbm90aGVyIHByb2Nlc3MuXHJcbi5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcHJpbWFyeS1idXR0b24tcGFkZGluZywgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4vLyBTZWNvbmRhcnkgYnV0dG9uIGlzIHR5cGljYWxseSB1c2VkIHdoZW4gY2FuY2VsbGluZyBhbiBhY3Rpb24uXHJcbi5zZWNvbmRhcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi50ZXJ0aWFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkdGVydGlhcnktYnV0dG9uLXBhZGRpbmcsICR0ZXJ0aWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICR0ZXJ0aWFyeS1idXR0b24tY29sb3VyLCAkdGVydGlhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4ucXVhdGVybmFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcXVhdGVybmFyeS1idXR0b24tcGFkZGluZywgJHF1YXRlcm5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCAkcXVhdGVybmFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBpbmxpbmUtZmxleCk7XHJcbn1cclxuLnF1aW5hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHF1aW5hcnktYnV0dG9uLXBhZGRpbmcsICRxdWluYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHF1aW5hcnktYnV0dG9uLWNvbG91ciwgJHF1aW5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4vLyBHZW5lcmljIGJ1dHRvbiB0aGF0IGdldHMgdXNlIGJ5IGNtcyBlZGl0b3JzLlxyXG4uY21zLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtYnV0dG9uLXBhZGRpbmcsICRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLWJ1dHRvbi1jb2xvdXIsICRjbXMtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICgwLCAwIDAgMTBweCkpO1xyXG59XHJcbi5jbXMtcHJvY2VlZC1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA1cHg7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC13ZWlnaHQ7XHJcbiAgQGlmICgkY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybTtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb3B5IHRvIGNsaXBib2FyZCBidXR0b24uXHJcbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC8vIFRoaXMgbWF5IG5lZWQgZXh0ZW5kaW5nIGluIHRoZSBmdXR1cmUgdG8gc3VwcG9ydCBpY29uIGJlZm9yZSB0ZXh0LlxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xpcGJvYXJkLWNvcHkpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgc2l6ZTogMTVweDtcclxuICB9XHJcbiAgLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAkY29waWVkLXRleHQtcGFkZGluZzogNXB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICN7KCRjb3BpZWQtdGV4dC1wYWRkaW5nICogMil9KTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlICsgI3soJGNvcGllZC10ZXh0LXBhZGRpbmcgKiAyKX0pO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtI3skY29waWVkLXRleHQtcGFkZGluZ307XHJcbiAgICBsZWZ0OiAtI3skY29waWVkLXRleHQtcGFkZGluZ307XHJcbiAgICBwYWRkaW5nOiAkY29waWVkLXRleHQtcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjMsIC45KTtcclxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4ubG9jYXRpb24tYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoOS41cHggMTJweCA5LjVweCAyMXB4LCAkbG9jYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgJGxvY2F0aW9uLWJ1dHRvbi1ib3JkZXItY29sb3VyLCAxNCw0MDAsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGZsZXgsICRsb2NhdGlvbi1idXR0b24taWNvbi1jb25maWcsIDEpO1xyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgLnJlZmVyZW5jZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIHBhZGRpbmc6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZztcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlcntcclxuICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0aGlyZC1wYXJ0eS10cmFja2luZyk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tZ3V0dGVyO1xyXG4gICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgZm9udC1zaXplOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yIHtcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbjogNXB4IDAgMDtcclxuICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGhpcmQtcGFydHktdHJhY2tpbmcpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcmludC1lbGVtZW50LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRwcmludC1lbGVtZW50cy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAsIDApLCBmbGV4LCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWljb24tY29uZmlnKTtcclxufVxyXG5cclxuLnByaW50LWVsZW1lbnQtbGluayB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlcik7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcblxyXG4gIH1cclxufVxyXG5cclxuLy8gUGF5cGFsIEJ1dHRvbi5cclxuI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1wYWRkaW5nLCAkY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKCksICgpLCAxNXB4LCA2MDAsICh3aWR0aDogMTAwJSksIChzbWFsbDogMCwgbWVkaXVtOiAwLCBsYXJnZTogMCkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogNnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXlwYWwpKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJbmNyZW1lbnQgdGFibGUgcm93ICAoIGUuZy4gbWFuYWdlIGNhcmRzICkuXHJcbi5pbmNyZW1lbnQtcm93LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDEwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VsZWN0aW9uLWluY3JlbWVudCk7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcblxyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCdXR0b24gY29udGFpbmVycy5cclxuLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgfVxyXG4gIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgIC8vIElmIG1hcmdpbiBSICsgTCBhcHBsaWVkIGluIG1vYmlsZSB0aGlzIHdpbGwgY2F1c2UgdGhlIGJ1dHRvbnMgdG8gYmUgc3RlcHBlZCBpbiBkdWUgdG8gZm9ybSBwYWRkaW5nIGFyb3VuZCBjb250ZW50LlxyXG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogNXB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJjpudGgtb2YtdHlwZSgzbi0yKSB7XHJcbiAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhlcmUgaXMgdHdvIGJ1dHRvbi1jb250YWluZXIncyBvciBvbmx5IG9uZS5cclxuICAgICY6bnRoLW9mLXR5cGUoMm4pLCAmOm9ubHktY2hpbGQge1xyXG4gICAgICAvLyBJZiBubyBhbGlnbiBjZW50ZXIuXHJcbiAgICAgICY6bm90KC5hbGlnbi1jZW50ZXIpIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyBTZWxlY3QgYWxsIGJ1dHRvbnMgdGhhdCBhcmUgbm90IGFjdGlvbi1idXR0b25zLlxyXG4gICAgICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICAmOm5vdCguYWN0aW9uLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgYXJlIGFueSBvdGhlciBidXR0b25zLlxyXG4gICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAvLyBQdXNoIGFsbCBjb250ZW50IHRvIHRoZSByaWdodC5cclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlcmUgaXMgYSBndXR0ZXIuXHJcbiAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4OyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAmOm5vdCguYWN0aW9uLWJ1dHRvbikge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1idXR0b24ge1xyXG4gICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICAvLyBhLCBidXR0b24ge1xyXG4gICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gU28gdGhlIGNhbmNlbCBidXR0b24gYWx3YXlzIGFwcGVhcnMgb24gdGhlIHJpZ2h0LlxyXG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IC0tLVxyXG4uYWRkVG9CYXNrZXRGb3JtIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuQG1peGluIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKSB7XHJcbiAgd2lkdGg6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGg7XHJcbiAgaGVpZ2h0OiAkYWRkLXRvLWJhc2tldC1pY29uLWhlaWdodDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIC8vIFN1cHByZXNzaW5nIGNhbm5vdCBnZW5lcmljYWxseSBhcHBseSB0aGlzIGFjcm9zcyBhbGwgaW5zdGFuY2UsIHRoaXMgXCIgZ3V0dGVyIFwiIGlzIGZhciBiZXR0ZXIgYmVpbmcgbWFuYWdlZCBieSBmbGV4Ym94ZXMgZ2FwIHByb3BlcnR5LlxyXG4gIC8vIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgIGZvbnQtc2l6ZTogJGFkZC10by1iYXNrZXQtaWNvbi1zaXplO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9ICBcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE5ldyBhZGQgdG8gYmFza2V0IGNsYXNzIHRoYXQgc2hvdWxkIGdldCB1c2VkIGluc3RlYWQgb2YgLmFkZC10by1iYXNrZXQsIHRoaXMgYWxzbyBkZS1jb3VwbGVzIHRoZSBKUyBsaXN0ZW5lcnMgZnJvbSBDU1MgY2xhc3MgYXMgd2VsbCB3aGljaCBpcyByZXF1aXJlZCBhcyBwYXJ0IG9mIHRoZSBmb2xsb3dpbmcgam9icyA4MzgyMzggJiA4MjAxOTQuXHJcbi5iYXNrZXQtYWRkLWJ1dHRvbiB7XHJcbiAgJi5pY29uIHtcclxuICAgIEBpbmNsdWRlIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKTtcclxuICB9XHJcbiAgJi50ZXh0LWJhc2VkIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1idXR0b24tY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1ib3JkZXIsICRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAxMDAlKSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYWRkVG9CYXNrZXQuaWNvbiB7XHJcbiAgQGluY2x1ZGUgYmFza2V0LWFkZC1idXR0b24taWNvbigpO1xyXG59XHJcblxyXG4uYWRkLXRvLWJhc2tldCB7XHJcbiAgJjpub3QoLnByZXNldC0yKSB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWNvbG91ciwgJGJhc2tldC1idXR0b24tYm9yZGVyLCAkYmFza2V0LWJ1dHRvbi1mb250LXNpemUsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMTAwJSksIDApO1xyXG4gIH1cclxuICAmLnByZXNldC0yIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCAoZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAvIDEuMiksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAod2lkdGg6IDEwMHB4KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYW5pbWF0ZWQuZHJvcCB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29sb3I6ICRjb2xvdXI2IWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICBhbmltYXRpb246IGJhc2tldEljb25Ib3ZlciAwLjVzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhc2tldEljb25Ib3ZlciB7XHJcbiAgMCUge1xyXG4gICAgdG9wOiAtMjBweDtcclxuICAgIG9wYWNpdHk6IDAuMjtcclxuICB9XHJcbiAgMTUlIHtcclxuICAgIHRvcDogLTE1cHg7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICB0b3A6IC0xMHB4O1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gIH1cclxuICA0NSUge1xyXG4gICAgdG9wOiAtNXB4O1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIHRvcDogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gU3RvY2tsaW5lIC0tLSBcclxuLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nLCAkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCAkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIE5vdCBsb2dnZWQgaW4gLS0tIFxyXG4ubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gIGEsIGJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkbm90LWxvZ2dlZC1pbi1idXR0b24tcGFkZGluZywgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBFbnF1aXJ5IGZvcm0gYnV0dG9uIC0tLSBcclxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAuZW5xdWlyeS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRlbnF1aXJ5LWJ1dHRvbi1wYWRkaW5nLCAkZW5xdWlyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRlbnF1aXJ5LWJ1dHRvbi1jb2xvdXIsICRlbnF1aXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIEZhdm91cml0ZXMgLS0tXHJcbi8vIFRISVMgQ09VTEQgQkUgQ09OU09MSURBVEVEIElOVE8gT05FIENPREUgUEFUSCBOT1cgVEhFIDpIQVMgR09PRCBTVVBQT1JUIFNPIFRIRSBDU1MgQ09VTEQgREVURUNUIElGIFRIRVJFIElTIEEgTEFCRUwgT1IgTk9ULCBUSElTIElTIEFEVkFOVEFHRVMgVE8gSEFWSU5HIFBSRVNFVFMgRk9SIEZMRVhJQklJVFkuXHJcbi5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAvLyBDb21tb24gc3R5bGVzLlxyXG4gIGEge1xyXG4gICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgJjphZnRlciwgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmF2b3VyaXRlcy1kZWZhdWx0KTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgZm9udC1zaXplOiAkZmF2b3VyaXRlcy1pY29uLXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5hY3RpdmUgYSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBJY29uIHdpdGggdGV4dCBsYWJlbC5cclxuICAmLnByZXNldDEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyKTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgJjpub3QoLmRpc2FibGVkKTpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLy8gSnVzdCBhbiBpY29uLlxyXG4gICYucHJlc2V0MiB7XHJcbiAgICAgICY6bm90KC5hY3RpdmUpIGEge1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgIGhlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWhlaWdodDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgfVxyXG4gIH1cclxuICBcclxufVxyXG5cclxuLy9DaGVja2JveGVzLiByYWRpbyBidXR0b25zICYgU2VsZWN0XHJcbmxhYmVsLmRpc2FibGVkLCBsYWJlbC5yZWFkb25seSB7XHJcbiAgY3Vyc29yOiBuby1kcm9wO1xyXG59XHJcblxyXG4uY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gIC8vZW5mb3JjZSB0aGlzIHNvIGZvdW5kYXRpb24gZG9lc24ndCBvdmVycmlkZSBpdC5cclxuICAvL2Rpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAwIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcbiAgZmxleDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC8vIE9ubHkgaW4gZmlyZWZveCB0aGVyZSBhcHBlYXJzIHRvIGJlIGEgNHB4IGJvcmRlciBhcm91bmQgY2hlY2tib3hlcyBzbyB0aGlzIGlzIGEgaGFja3kgZml4LCBkaXNwbGF5OiBjb250ZW50czsgYWxzbyB3b3JrcyBidXQgdGhlbiBpbnRyb2R1Y2VzIGEgYnVnIHdoZXJlIHlvdSBjYW5ub3Qgc2hpZnQrdGFiIG9uIGNoZWNrYm94ZXMgYW55bW9yZS5cclxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gR2VuZXJhbCBpbnB1dCBzdHlsaW5nIC0tLS0tXHJcbi5jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgLy8gQ2VudGVyIGl0ZW1zIGluIG1vYmlsZSBkdWUgdG8gU2FmYXJpIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aGVuIGlucHV0cyB3aXRoIGJ1dHRvbnMgdGhhdCBoYXMgbmVzdGVkIGZvbnQgaWNvbnMuXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgLy8gT25seSByZWFsbHkgd2FudCB0byB0aGlzIG9uIG1vYmlsZSBoYXZlbid0IHRlc3RlZCB0aGlzIHdpdGggZGVza3RvcCB2aWV3LlxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gIH1cclxuICAvLyAtLS0gSGlkZGVuIGlucHV0IHN0eWxpbmcgLS0tXHJcbiAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gRG8gbm90IGFwcGx5IHZpc2liaWxpdHk6IGhpZGRlbiBvdGhlcndpc2UgOmZvY3VzIGRvZXNuJ3Qgd29yay5cclxuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gICYuaXMtaG92ZXJlZCwgJjpob3ZlciB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpOyBcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuaW5wdXQtcHJlZml4LWljb24sIGlucHV0IHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWZvY3VzZWQge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIElmIHRoZSBsYWJlbCBpcyBvdXRzaWRlIG9mIHRoZSAuY29udHJvbCBjb250YWluZXIgKCBlLmcuIGxhYmVsIGFmdGVyIGNoZWNrYm94ICkuXHJcbiAgJiArIC5sYWJlbCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1pbnB1dC1nYXA7XHJcbiAgfVxyXG5cclxuICAvLyBJY29uIHRoYXQgc2l0cyBiZWZvcmUgdGhlIGlucHV0LlxyXG4gIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgJiArIGlucHV0IHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgJiArIGlucHV0IHtcclxuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIHZpc2FibGUgaW5wdXRzLlxyXG4gICY6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXRlbF0sIHRleHRhcmVhIHtcclxuICAgICAgICBib3gtc2hhZG93OiBob3Zlci1jb2xvdXIoJGlucHV0LWJveC1zaGFkb3cpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnJlYWQtb25seS1pbnB1dCwgJi5kaXNhYmxlZC1pbnB1dCB7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAvLyBGb3IgbW9iaWxlIGRldmljZXMgc3VwcHJlc3MgZm9yIHRleHQgZmllbGRzLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAmOm5vdCgudGV4dCkge1xyXG4gICAgICAgIEBpbmNsdWRlIGlucHV0UmVhZE9ubHkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2hvdyBmb3IgYWxsIGZpZWxkcyBpbiBkZXNrdG9wLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSBpbnB1dFJlYWRPbmx5KCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgXHJcbiAgLy8tLS0gQ2hlY2tib3ggLS0tXHJcbiAgICYuY2hlY2tib3gge1xyXG4gICAgICAmLnNtYWxsIHtcclxuICAgICAgICAvLyBJbiBtb2JpbGUgd2Ugd2FudCBjaGVja2JveGVzIHRvIGRlZmF1bHQgdG8gd2lkdGg6MTAwJSBidXQgb3ZlcnJpZGUgd2lkdGggaW4gZGVza3RvcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bm90KC5zbWFsbCkge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAvLyAtLS0gUmFkaW8gQnV0dG9ucyAtLS0gXHJcbiAgJi5yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC8vIFJhZGlvIGJ1dHRvbiBkZXNpZ24uXHJcbiAgJi5yYWRpbzpub3QoLmNoZWNrYm94KSB7IFxyXG4gICAgaW5wdXQge1xyXG4gICAgICAvLyBJZiByYWRpbyBhY3RpdmUuXHJcbiAgICAgICY6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ucmFkaW8ge1xyXG4gICAgICB3aWR0aDogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIGhlaWdodDogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBmbGV4Ym94IGp1c3RpZnktY29udGVudDogY2VudGVyIGlzIG9mZiBieSAuNXB4LlxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC4ycHg7XHJcbiAgICAgICAgbGVmdDogLjRweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBDaGVja291dCBzdHlsZXMuXHJcbiAgJi5yYWRpby5jaGVja2JveCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLy0tLSBTZWxlY3QgLS0tXHJcbiAgJi5zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHNlbGVjdCBkcm9wZG93biB0byBvdmVybGFwIHRoZSByZWNhcHRjaGEgYmFkZ2UgaW4gbW9iaWxlLlxyXG4gICAgLy8gei1pbmRleDogMTtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgICY6ZGlzYWJsZWQsICZbcmVhZG9ubHldIHtcclxuICAgICAgICAmICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTsgXHJcbiAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6ZGlzYWJsZWQsICZbcmVhZG9ubHldIHtcclxuICAgICAgICArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIHtcclxuICAgICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtaW52YWxpZC1pbnB1dCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIH1cclxuICAgICAmOmZvY3VzIHtcclxuICAgICAgICsgZGl2W2NsYXNzPWNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lcl0gLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgIH1cclxuICAgICB9IFxyXG4gICAgfVxyXG4gICAgJi5pcy1jbG9zaW5nIHtcclxuICAgICAgei1pbmRleDogMjAwMDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlLCAmLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGV5IGFwcGVhciB1bmRlciB0aGUgaGVhZGVyIHdoZW4gc3RpY2t5LlxyXG4gICAgICB6LWluZGV4OiAxOTk5O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZHJvcGRvd24tdG9wIHtcclxuICAgICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDsgIFxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxODVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7IFxyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLWJvdHRvbSB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLXRvcCB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tdG9wLmFjdGl2ZSB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgIHdpZHRoOiAkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgfVxyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAvLyBOZWVkIHRvIHNldCBoZWlnaHQ6IDEwMCUgb3RoZXJ3aXNlIHRoZSBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lciBpZiBpdCBoYXMgYSBzZXQgaGVpZ2h0LlxyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogKCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGggKyAzKTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vIE5lZWQgcG9zaXRpb24gYWJzb2x1dGUgb3RoZXJ3aXNlIGluIG1vYmlsZSBwdXNoZXMgdGhlIGVudGlyZSBwYWdlIGRvd24uXHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gdG9wOiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMXB4O1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9uIHtcclxuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgJltzZWxlY3RlZF0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuICAgICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7IFxyXG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgIC8vIEFkZGluZyBpbiBhIG1pbi13aWR0aCB0byBwcmV2ZW50IGNyYW1wZWQgc2VsZWN0IGRyb3Bkb3ducyB3aXRoIHNob3J0ZWQgc3RyaW5ncyBvZiB0ZXh0IGZvciB0aGVpciBvcHRpb24gZGVzY2lwdGlvbnMuXHJcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgICAgIC8vIERvbnQgc2V0IDEwMCUganVzdCBpbmNhc2UgdGhlcmUgaXMgYSB0b29sdGlwIGFzc2lnbmVkLlxyXG4gICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGZsZXg6IDE7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgaW5wdXQgdG8gdGFrZSB1cCBhdmFsYWJsZSB3aWR0aC5cclxuICAgICAgICAvLyBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCk7XHJcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50aXRsZSB7XHJcbiAgICAgIC8vIHdpZHRoOiBhdXRvO1xyXG4gICAgICAvLyAubGFiZWwge1xyXG4gICAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBJbmNyZWFzaW5nIHRvIDI1MHB4IHRvIGFsbG93IGZvciB1bi1zZWxlY3RlZCB2YWx1ZS5cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi50ZXh0IHtcclxuICAgIGN1cnNvcjogdGV4dDtcclxuICAgIGlucHV0IHtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICY6bm90KFt0eXBlPXBhc3N3b3JkXSk6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICYuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgJjpmb2N1cyB7IFxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5pcy1pbnZhbGlkLWlucHV0KSArIGJ1dHRvbiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc2xpZGVyIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxuICAmLmZpbGUge1xyXG4gICAgLy8gSGF2aW5nIHRvIHVzZSBpbXBvcnRhbnQgZHVlIHRvIG92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGlucHV0LWZpbGUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogJGlucHV0LWZpbGUtb3V0ZXItYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGh9KTtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aH0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aCBkYXNoZWQgbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkaW5wdXQtZmlsZS13aWR0aCkhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICYuaXMtcmVhZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtcmVhZHkge1xyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkLXJlYWR5KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgfVxyXG4gICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgLmZpbGUtdXBsb2FkLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtcmVtb3ZlKTtcclxuICAgICAgICAgIEBpZiAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1maWxlLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZmlsZS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IChsYXJnZS12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nKSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmlsZS11cGxvYWQtaWNvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkKTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS11cGxvYWQtaWNvbik7XHJcbiAgICAgICAgZm9udC1zaXplOiA0NnB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgICAgJiArIC5sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpbGUtc2l6ZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXJlbW92ZSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNlYXJjaCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIFRvb2x0aXBzLlxyXG4gIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVRvb2xUaXBIaW50IDJzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgc2VsZWN0LCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgd2lkdGg6ICRxdWFudGl0eS1kcm9wZG93bi13aWR0aDtcclxuICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gIH1cclxuICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkcXVhbnRpdHktZHJvcGR3b24tcGFkZGluZy1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlVG9vbFRpcEhpbnQge1xyXG4gIDAlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgLy8gR29pbmcgYWdhaW5zdCB0aGUgZ3JhaW4gaGVyZSBiZWNhdXNlIG9mIGlPUyBpZiB3ZSBkbyBub3Qgc2V0IHRoZSBmb250LXNpemUgdG8gPiAxNnB4IHRoZW4gYnJvd3NlciB3aWxsIHpvb20gaW4gb24gdGhlIGlucHV0IGZpZWxkLi4uIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vMTZweC1vci1sYXJnZXItdGV4dC1wcmV2ZW50cy1pb3MtZm9ybS16b29tLyBhbmQgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjk4OTI2My9kaXNhYmxlLWF1dG8tem9vbS1pbi1pbnB1dC10ZXh0LXRhZy1zYWZhcmktb24taXBob25lLCB0aGVyZSBoYXMgYmVlbiBzdWdnZXN0aW9ucyB0aGF0IHRoZSBmaXggaW4gdGhhdCBzdGFjayBwb3N0IHNwZWNpZmljYWxseSBcIiBtYXhpbXVtLXNjYWxlPTEgXCIgaGFzIGNhdXNlZCBpc3N1ZXMgd2l0aCBhbmRyb2lkIGRldmljZXMgbm90IGJlaW5nIGFibGUgdG8gcGluY2ggem9vbSBzbyBJIGhhdmUgb3B0ZWQgdG8gZ290IGRvd24gdGhlIHB1cmUgY3NzIGZpeC5cclxuICBAaWYgKCRpbnB1dC1mb250LXNpemUgPCAxNikge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgIEBpZiAoJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gJjphdXRvZmlsbCB7XHJcbiAgLy8gICBjb2xvcjogJGNvbG91cjMtMyAhaW1wb3J0YW50O1xyXG4gIC8vICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgLy8gfVxyXG59XHJcblxyXG5pbnB1dC5tYWlsLWlucHV0IHtcclxuICAvLyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aH0pO1xyXG4gIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAvLyBEZWZhdWx0IGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgaW5wdXQgZm9yIHNtYWxsIGRldmljZXMgYXMgYnV0dG9uIHdpbGwgbmVlZCB0byB3cmFwLlxyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIEBpZiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAvLyBEbyB3ZSB3YW50IHRoZSBidXR0b24gdG8gYXBwZWFyIHNlcGVyYXRlIGZyb20gdGhlIGlucHV0LlxyXG4gICAgQGlmICRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBtYXJnaW46IDA7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgLy8gJjpmb2N1cyArIGJ1dHRvbiB7XHJcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gICAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAvLyB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlcjtcclxuICB9XHJcbiAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICsgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbikge1xyXG4gICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogJG1haWxpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIC8vIERlZmF1bHQgdG8gdGhlIGJvcmRlciBnb2VzIGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgYnV0dG9uIGZvciBzbWFsbCBkZXZpY2VzIGFzIHRoZSBidXR0b24gd2lsbCB3cmFwLlxyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpZiAkbWFpbGluZy1idXR0b24tZm9udC1zaXplIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWFpbGluZy1idXR0b24tZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpZiBub3QgKCRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtID09IFwibm9uZVwiKSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgQGlmICRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICAmOmVtcHR5IHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1haWwpO1xyXG4gICAgICAgIHdpZHRoOiAkbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgZ3JvdXBlZCBoaWRkZW4gZmllbGRzIHRoYXQgZ2V0IHRvZ2dsZWQgKCB0aGluayBkZWxpdmVyeSBhZGRyZXNzZXMgKS5cclxuLmNvbmRpdGlvbmFsLWlucHV0cyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUXVhbnRpdHkgU2VsZWN0b3JzIC0tLS0tXHJcbi8vIC0tLSBGcmVlIFRleHQgLS0tIFxyXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvLyAtLS0gQ29sb3VyaW5nIC0tLVxyXG4gIC8vIERlZmF1bHRcclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiZGVmYXVsdFwiKTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXNldCAxXHJcbiAgJi5wcmVzZXQtMSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQgIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBjb2xvdXJzLlxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGlzYWJsZWRcIik7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRpc2FibGVkXCIpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxhYmVsIHtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRxdWFudGl0eS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGUtYWN0aXZhdGUgc3Bpbm5lciBidXR0b25zIGFzIHdlIGhhdmUgdGhlIGluY3JlbWVudG9yIGJ1dHRvbnMgb24gZWl0aGVyIHNpZGUuXHJcbiAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAvLyBFcnJvciBzdHlsaW5nLlxyXG4gIC8vIE1vcmUgZ2VuZXJpYyBlcnJvciBzdHlsaW5nIG5vdyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBJRS5cclxuICAmOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gT2xkIHdheSBvZiBkb2luZyB0aGlzIHJlcXVpcmluZyBKUy5cclxuICAmLmlzLWludmFsaWQtcXVhbnRpdHkge1xyXG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWVycm9yIHtcclxuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgLnF1YW50aXR5LWVycm9yIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgIEBpZiAoJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgIC8vIElFIERvZXNuJ3Qgc2VlbSB0byBsaWtlIHRoaXMgYXBwcm9hY2guXHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXIsXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIGJhY2tncm91bmQ6ICRxdWFudHRpeS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50IHtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVhbnRpdHktc2VsZWN0b3ItaW5jcmVtZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWFudGl0eS1zZWxlY3Rvci1kZWNyZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIFNlbGVjdCBkcm9wZG93biAgLS0tXHJcbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcbiAgfVxyXG4gIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0O1xyXG4gIH1cclxuICAuc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICB9XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBoZWlnaHQ6ICRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpO1xyXG4gIH1cclxuICBcclxufVxyXG5cclxuLy8gLS0tLS0gQWJpZGUgLS0tLS0gXHJcbi8vIC0tLSBGb3JtIEVycm9ycyAtLS1cclxuLy8gU3RhbmRhcmQgRXJyb3IgdGhhdCBnZXRzIHNob3cgdW5kZXIgdGhlIGZpZWxkLlxyXG5zcGFuLmZvcm0tZXJyb3Ige1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctbGVmdDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gICYuaXMtdmlzaWJsZSB7XHJcbiAgICAvL3BhZGRpbmctbGVmdDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG59XHJcbi8vIEVycm9yIHRoYXQgZG9lc24ndCBnZXQgc2hvdyBkaXJlY3RseSBpbiB0aGUgbWFpbiBjb250ZW50IGJ1dCByYXRoZXIgaW4gYSBjYWxsb3V0LlxyXG5zcGFuLmZvcm0tY2FsbG91dC1lcnJvciB7XHJcbiAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbi5cclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICBib3JkZXItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiAgLy8gYW5pbWF0aW9uOiBrZl9zaGFrZSAwLjRzIDEuOCBsaW5lYXI7XHJcbn1cclxuXHJcblxyXG51bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwIDAgMzVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gID4gbGkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDExcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWR2YW5jZWQtZm9ybS1lcnJvciB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgZm9udC1zdHlsZTogJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zdHlsZTtcclxuICAgICAgY29sb3I6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1mYWlsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBjb2xvcjogJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1pY29uLWNvbG91cjtcclxuICAgICAgfVxyXG4gICAgICAmLmlzLXZhbGlkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1mYWlsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gVGhlIHJlYXNvbiBmb3IgdGhlIG92ZXJyaWRlcyBpcyBiZWNhdXNlIHdlIG5lZWQgdG8gdXRpbGlzZSBhYmlkZSdzIGxpdmUgdmFsaWRhdGlvbiB3aGljaCBhZGRzIHRoZSBpbnZhbGlkIGNsYXNzLCBpdCBpcyBmYXIgc2ltcGlsYXIgdG8gb3ZlcnJpZGUgaGVyZSBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgbm9kZSBtb2R1bGVzLlxyXG4uYWR2YW5jZWQtdmFsaWRhdGlvbi1hY3RpdmUuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgLy8gLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMgeyBcclxuICAvLyAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gIC8vICAgJiArIC5saW5lLWJ1dHRvbiB7XHJcbiAgLy8gICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxufVxyXG5cclxuLy8gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBncm91cC1mb3JtLWVycm9yICYgZXJyb3ItYmxvY2sgaXMgdGhlIGVycm9yLWJsb2NrIGlzIGRpY3RhdGVkIGJ5IHRoZSBzZXJ2ZXIgd2hlbiB0byBzaG93IGJ1dCBncm91cC1mb3JtLWVycm9yIGlzIHNob3duIHdoZW4gdGhlIEpTIHZhbGlkYXRpb24gZGVjaWRlcyB3aGVuIHRvZG8gc28uXHJcbi5ncm91cC1mb3JtLWVycm9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgQGluY2x1ZGUgZXJyb3ItYmxvY2soKTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyBTdXByZXNzaW5nIHRvIGFsbG93IGZvciBidXR0b24gbWFyZ2luIGhhbmRsZSB0aGUgZ3V0dGVycywgdGhpcyB3YXMgZGVjaWRlZCBmb3IgZG93bmxvYWQgb3JkZXJzLlxyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgZm9yIHNlcnZlciBmb3JtIGVycm9ycy5cclxuLmVycm9yLWJsb2NrIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgbWFyZ2luOiAwIDAgMzBweDtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgQGluY2x1ZGUgZXJyb3ItYmxvY2soKTtcclxufVxyXG5cclxuLy8gLS0tIEdlbmVyYWwgdmFsaWRhdGlvbiAtLS1cclxuLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICsgc3Bhbi5jaGVja2JveCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGtleWZyYW1lcyBrZl9zaGFrZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4KTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4KTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4KTtcclxuICB9XHJcbn1cclxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gICY6bm90KC5kaXNhYmxlZCksICY6bm90KC5yZWFkLW9ubHktaW5wdXQpIHtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGZpbGUgdHlwZSBkdWUgdG8gdGhhdCBzcGFubmluZyB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAmOm5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4gICAgICAvL3dpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWludmFsaWQtaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICY6Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWhvdmVyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHb2luZyBiYWNrIG9uIHRoaXMgZGVjaXNpb24gYXMgRmlyZWZveCBvbiBoYXMgMi43NSUgb2YgZ2xvYmFsIHVzYWdlLCB0aGUgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIGVzc2VudGFsbHkgb3V0cHV0IHRoZSBidXR0b24gbWFudWFsbHkgdXNpbmcgSFRNTCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNzg0NjAyMy9pbnB1dC10eXBlLXNlYXJjaC1uby1sb25nZXItc2hvd3MtY2FuY2VsLWJ1dHRvbi14LXVuZGVyLWZpcmVmb3hcclxuLy8gRHVlIHRvIGxhY2sgb2YgYnJvd3NlciBzdXBwb3J0IHRoaXMgbmVlZHMgdG8gYmUgc3VwcHJlc3MgZHVlIHRvIGNvbnNpc3RlbmN5LlxyXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXHJcbi8vIGlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLWNsZWFyIHsgIGRpc3BsYXk6IG5vbmU7IHdpZHRoIDogMDsgaGVpZ2h0OiAwOyB9XHJcbi8vIGlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLXJldmVhbCB7ICBkaXNwbGF5OiBub25lOyB3aWR0aCA6IDA7IGhlaWdodDogMDsgfVxyXG5cclxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi8vIC0tLS0tIFBvc3Rjb2RlIGxvb2t1cCAtLS0tLVxyXG4ubG9va3VwLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLy8gLnBvc3Rjb2RlLWxvb2t1cC1jb250YWluZXIge1xyXG4vLyAgIC5sYWJlbCB7XHJcbi8vICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICB3aWR0aDogYXV0bztcclxuLy8gICAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG4ucG9zdGNvZGUtbG9va3VwLWVycm9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICYuYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxufVxyXG5pbnB1dC5sb29rdXAta2V5IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IDM2MHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG4gICYgKyBidXR0b24gIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgfVxyXG4gICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xyXG4gLy9AaW5jbHVkZSBidXR0b24xKCRjb2xvdXIxLCAxNCwgNjAwLCAwIDE1cHgpO1xyXG4gQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRwY29kZS1sb29rdXAtYnV0dG9uLXBhZGRpbmcsICRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXIsICRwY29kZS1sb29rdXAtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKFwiYXNzb2NpYXRlZFwiKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoXCJhc3NvY2lhdGVkXCIpLCAod2lkdGg6IGF1dG8sIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMTBweCAwIDAsIG1lZGl1bTogMCAwIDAgMTBweCwgbGFyZ2U6IDAgMCAwIDEwcHgpKTtcclxufVxyXG5cclxuLmxvb2t1cC1yZXN1bHRzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB1bCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMjVweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIC5zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJ1dHRvbiwgYSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaWYgKCRsb29rdXBzLXJlc3VsdHMtaGlnaGxpZ2h0ZWQtdGV4dC1lbmFibGVkKSB7XHJcbiAgICAgIC8vIEhpZ2hsaWdodCBjb250ZW50LlxyXG4gICAgICBzcGFuIHsgXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7IFxyXG4gICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYnJhbmNoLXNlYXJjaCwgJi5hY2NvdW50LXNlYXJjaCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLyAtLS0tLSBHZW9sb2NhdGlvbiAtLS0tLVxyXG4uZ2VvbG9jYXRpb24tY29udGlhbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlZmF1bHQgc2VhcmNoIHN0eWxlcyAtLS0tLSBcclxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICBmbGV4OiAxO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgQGlmIChzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgLy8gcGFkZGluZzogMCA3MHB4IDAgMjVweDtcclxuICAvLyB9XHJcbiAgLy8gQ29udHJhc3QgY2hlY2tlciBmb3Igc2VhcmNoIGJ1dHRvbi5cclxuICAvLyBEZWZhdWx0XHJcbiAgJGJ1dHRvbi1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KSAsbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gIC8vIEhvdmVyXHJcbiAgJGJ1dHRvbi1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gIC8vIEFjdGl2ZVxyXG4gICRidXR0b24tY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpLG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuXHJcbiAgJjpob3ZlciwgJi5ob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAyMHB4IDZweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICArIGJ1dHRvbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDE1cHggMHB4IDIwcHggMnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5mb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgKyBidXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8gYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAvLyBCaXQgb2YgYSBoYWNrIGJ1dCB0aGUgb25seSB3YXkgdG8gdmVydGljYWxseSBhbGlnbiB0aGUgdGV4dCBkdWUgdG8gc29tZSBmb250IGZhbWlseSdzIG1ha2luZyB0aGUgdGV4dCBhcHBlYXIgc2xpZ2h0IGhpZ2hpZXIgdGhhbiBvdGhlcnMgLi4uLi4gYW5kIG5vIGZsZXhib3ggZG9lc24ndCBoZWxwIGhlcmUgSSB0cmllZC5cclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBjb2xvcjogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAvL2ZvbnQtd2VpZ2h0OiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGUge1xyXG4gICAgICBmb250LXN0eWxlOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlO1xyXG4gICAgfVxyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgfVxyXG4gIEBpZiAoc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgJjpub3QoOmhhcygrIGJ1dHRvbikpIHtcclxuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuICArIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogJHNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICB3aWR0aDogJHNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICBmb250LXNpemU6ICRzZWFyY2gtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAaWYgJHNlYXJjaC1idXR0b24taW5uZXItYm9yZGVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVG9nZ2xlYWJsZSBpbnB1dHMgLS0tLS0gXHJcbi50b2dnbGUtY29udGFpbmVyIHtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEdldHMgcGxhY2VkIG92ZXIgdGhlIGZpZWxkcyB0byBibG9jayB0aGUgdXNlciBmcm9tIGNsaWNraW5nIG9uIHRoZW0gLS0tLVxyXG4udWktYmxvY2stcGFuZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmxvY2stYmFja2dyb3VuZDtcclxuICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgei1pbmRleDogMTAwMDtcclxuICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vLWFjY2Vzcyk7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgZm9udC1zaXplOiA4MnB4O1xyXG4gICAgICBjb2xvcjogcmdiYSgkY29sb3VyMy0zLCAwLjYpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU1NPIFNlbGVjdGlvbiAtLS0tLVxyXG4uc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZzogI3skc3NvLWNvbW1vbi1nYXB9IDA7XHJcbiAgfVxyXG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogJHNzby1jb21tb24tZ2FwO1xyXG4gIH1cclxuICAub3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICYgKyAuc3NvLXNlcGVyYXRvciB7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRzc28tY29tbW9uLWdhcDtcclxuICAgIH1cclxuICB9XHJcbiAgLnNzby1idXR0b24ge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzc28tYnV0dG9uLXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAvLyBVc2luZyBtaWNyb3NvZnQgYnV0dG9uIHN2ZyB3aWR0aCAmIGhlaWdodCB0byBnaXZlIG91ciBhc3BlY3QgcmF0aW8uIGh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9lbnRyYS9pZGVudGl0eS1wbGF0Zm9ybS9ob3d0by1hZGQtYnJhbmRpbmctaW4tYXBwc1xyXG4gICAgYXNwZWN0LXJhdGlvOiAyMTUvNDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRzc28tYnV0dG9uLXdpZHRoKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYubWljcm9zb2Z0IHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRzaGFyZWQtYnV0dG9ucy1kaXJlY3RvcnkgKyBpZigkc3NvLWJ1dHRvbi1taWNyb3NvZnQtdGhlbWUgPT0gXCJsaWdodFwiLFwibWljcm9zb2Z0LXNzby1saWdodC5zdmdcIixcIm1pY3Jvc29mdC1zc28tZGFyay5zdmdcIil9Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zc28tc2VwZXJhdG9yIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzc28tc2VwZXJhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbn0iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG4vLyBGb3VuZGF0aW9uIFNBU1MgZnVuY3Rpb24uXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbi8vIEV4cHJlc3MgY29uZmlndXJhdGlvbjtcclxuQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xyXG4vLyBFeHByZXNzIE1JWElOJ3MuXHJcbkBpbXBvcnQgJ21peGlucyc7XHJcbi8vIEV4cHJlc3MgdHlwb2dyYXBoeS5cclxuQGltcG9ydCAndHlwb2dyYXBoeS5zY3NzJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogJGNvbG91cjQsXHJcbiAgc2Vjb25kYXJ5OiAkY29sb3VyMyxcclxuICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogJGNvbG91cjMtMTtcclxuJG1lZGl1bS1ncmF5OiAkY29sb3VyMy0yO1xyXG4kZGFyay1ncmF5OiAkY29sb3VyMy0zO1xyXG4kYmxhY2s6ICRjb2xvdXIyO1xyXG4kd2hpdGU6ICRjb2xvdXIxO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiBudWxsOyAvLyBUaGlzIGdldHMgb3ZlcnJpZGRlbiBieSBheGlzLXBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzLlxyXG4kYm9keS1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGJvZHktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuJHByaW50LWhyZWZzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbGFyZ2U6ICRnbG9iYWwtd2lkdGgsIC8vIFJhaXNpbmcgbGFyZ2UgYnJlYWtwb2ludCB2YWx1ZSwgc28gYXQgMTUwJSB6b29tIHdlIGdvIGludG8gbW9iaWxlLlxyXG4gIHhsYXJnZTogMTYwMHB4LFxyXG4gIHh4bGFyZ2U6IDE5MjBweFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICBoaWRwaS0xOiAxLFxyXG4gIGhpZHBpLTEtNTogMS41LFxyXG4gIGhpZHBpLTI6IDIsXHJcbiAgcmV0aW5hOiAyLFxyXG4gIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IG1lZGl1bTsgLy8gVGhlIHJlYXNvbiBmb3IgbG93ZXJpbmcgdGhpcyBpcyB0aGlzIHdpbGwgYWxsb3cgdGhlIHJlc3BvbnNpdmUgdGFibGUgYnJlYWtwb2ludCBraWNrIGluIGdpdmVuIHdlJ3JlIGdvaW5nIGFib3ZlIDEzMDBweCBkZW5zZSB0YWJsZXMgd291bGQgYmUgYmV0dGVyIHNob3cgaW4gbW9iaWxlIHZpZXcuXHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBJTVBPUlRBTlQ6IERPIE5PVCBVU0UgVEhFU0UgQ09ORklHVVJBVElPTiBPUFRJT05TIFRIRSBTQVNTIEZJTEUgSVMgTk8gTE9OR0VSIEJFSU5HIElNUE9SVEVEIEFORCBFWFBSRVNTIEhBTkRMRVMgSEVBRElORyBGT05UUyBJVFNFTEYgU0VFIF9UWVBPR1JBUEhZLlNDU1NcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzUpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XHJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1lcnJvci1mb250LXNpemUpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbi8vIEluc3RlYWQgb2YgdXNpbmcgZm91bmRhdGlvbidzIGluZGljYXRvcnMgd2UgdXNlIG91ciBvd24gZHVlIHRvIHBvc2l0aW9uaW5nLlxyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogZmFsc2U7XHJcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjY29yZGlvbnMtdGl0bGUtZm9udC1zaXplKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG91cjE7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMDtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogbnVsbDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiAkYnJlYWRjcnVtYnMtdXBwZXJjYXNlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiBtYXAtZ2V0KCRzaXRlLWljb25zLCBicmVhZGNydW1icy1zZXBlcmF0b3IpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogMDtcclxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMDtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICBzbWFsbDogMC41cmVtLFxyXG4gIGRlZmF1bHQ6IDFyZW0sXHJcbiAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAwO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDI2cHgsIC8vIGFkZGluZyBwb3NzaXRpb24gcmlnaHQgdG8gYmUgaW5saW5lIHdpdGggYWNjb3JkaW9uIHN0YXR1cyBhcnJvd3MuXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogYXV0byxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFRha2luZyBiYWNrIG93bmVyc2hpcCBmcm9tIGZvdW5kYXRpb24gb24gYXJyb3cgZnVuY3Rpb24gZHVlIHRvIG5lZWRpbmcgdG8gYWxsb3cgZm9yIGNvbmZpZ3VyYXRpb24gZm9yIGljb25zLlxyXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8gVGhlc2UgdmFsdWVzIHdlcmUgc2V0IHRvIG51bGwgYXMgdGhleSB3ZXJlIGNvbmZsaWN0aW5nIHdpdGggdGhlICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciBjb2xvdXIgc2NoZW1lcyBiYXNpY2FsbHkgY2F1c2luZyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGNvbnRlbnQgY29sb3VyLlxyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogbnVsbDtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbnVsbDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG91cjtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1mb250LXNpemUpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuJGlucHV0LXNoYWRvdzogMDtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogJGJveFNoYWRvdzM7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kbGFiZWwtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuLy8gRGlzYWJsaW5nIHRoaXMgaW4gZmF2b3VyIG9mIHN0eWxlcyBpbiBfYXhpcy1tZW51cy5zY3NzXHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBudWxsO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6IG51bGw7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiBmYWxzZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogZmFsc2U7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4XHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAwO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDQwMDA7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJGNvbG91cjY7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRjb2xvdXI0O1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjQxcmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMDtcclxuJHRhYmxlLXBhZGRpbmc6IDA7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6ICR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiAkdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLXN0cmlwZTogb2RkO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogJGNvbG91cjA7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpOyAvLyBQcmVzZXQtMSBpcyBwcmV0dHkgbXVjaCB3aGF0IHdlJ3JlIHVzaW5nIGV2ZXJ5d2hlcmUgc28gY2hhbmdpbmcgdG8gYmUgY29uc2lzdGVudC5cclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogbm9uZTtcclxuJHRhYi1jb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiBub25lO1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKCR0YWJzLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkY29sb3VyMDtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDA7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiBub25lO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkY29sb3VyMDsgLy8gU2V0IHRvIHRyYW5zcGFyZW50IGFuZCBvdmVycmlkZSB3aXRoIEV4cHJlc3MncyBTQVNTLlxyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMTBweDsgLy8gU2V0dGluZyBkZWZhdWx0IHZhbHVlIGJ1dCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIGJ5IEV4cHJlc3MncyBTQVNTICR0YWJzLWNvbnRlbnQtcGFkZGluZy5cclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpLFxyXG4gIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycylcclxuKTtcclxuXHJcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogKFxyXG4gIHNtYWxsOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpLFxyXG4gIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycylcclxuKTtcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6IDIwcHg7XHJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XHJcbiR4eS1ibG9jay1ncmlkLW1heDogODtcclxuXHJcbiIsIi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXHJcblxyXG4vLyBUT0RPOiByZW1vdmUgZGVwYXJ0bWVudCByZWZlcmVuY2VzIGZyb20gZG9jdW1lbnRhdGlvbiBidWlsZC5cclxuQGlmIChsZW5ndGgoJHNpdGUtc3R5bGVzLWNvbG91cnMpID4gMCkge1xyXG4gICAgLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUsIC5zaXRlLXN0eWxlIHtcclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggc3R5bGUgc2V0cy5cclxuICAgICAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNpdGUtc3R5bGVzLWNvbG91cnMpIHtcclxuICAgICAgICAgICAgLy8gR2V0IHN0eWxlIHNldFxyXG4gICAgICAgICAgICAkc3R5bGUtc2V0OiBudGgoJHNpdGUtc3R5bGVzLWNvbG91cnMsICRpbmRleCk7XHJcbiAgICAgICAgICAgIEBpZiAoJHN0eWxlLXNldCkge1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IHByaW1hcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogbnVsbDtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHN0eWxlLXNldCwgcHJpbWFyeS1jb2xvdXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiBtYXAtZ2V0KCRzdHlsZS1zZXQsIHByaW1hcnktY29sb3VyKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHZhcmlhbnRzLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2V0LXByaW1hcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZXQtcHJpbWFyeS1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEdldCBzZWNvbmRhcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkc3R5bGUtc2V0LCBzZWNvbmRhcnktY29sb3VyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCBzZWNvbmRhcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiBtYXAtZ2V0KCRzdHlsZS1zZXQsIHNlY29uZGFyeS1jb2xvdXIpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdmFyaWFudHMuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiBtYXAtbWVyZ2UoJHNldC1zZWNvbmRhcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZXQtc2Vjb25kYXJ5LWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgc3R5bGUgc2V0IGNsYXNzICYgYXNzaWduIGNvbG91ciBvdmVycmlkZSB2YXJpYWJsZS5cclxuICAgICAgICAgICAgICAgICYuZGVwYXJ0bWVudC0jeyRpbmRleH0sICYuc3R5bGUtI3skaW5kZXh9IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBQcmltYXJ5IENvbG91clxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNldC1wcmltYXJ5LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJwcmltYXJ5LWNvbG91clwiLCAkc2V0LXByaW1hcnktY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2VvbmRhcnkgQ29sb3VyXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2V0LXNlY29uZGFyeS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic2Vjb25kYXJ5LWNvbG91clwiLCAkc2V0LXNlY29uZGFyeS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcIlNpdGUgU3R5bGVzOiBObyBzZXQgZm91bmQgZm9yICN7JHN0eWxlLXNldH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gLS0tLS0tLSBDb250YWlucyBhbGwgc3R5bGVzIHJlZ2FyZGluZyBmb3JtIGxheW91dHMsIGlmIHlvdSdyZSBsb29raW5nIGZvciBpbnB1dCBvciBzZWxlY3Qgc3R5bGVzIHBsZWFzZSByZWZlciB0byBpbnB1dHMuc2NzcyAtLS0tLS0tXHJcblxyXG5cclxuLy8gVE9ETzogQ3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlZmFjdG9yaW5nIGNvZGUgdG8gdGhpcyBmaWxlLlxyXG5cclxuXHJcbi5yZXF1aXJlZC1wcm9tcHQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZyk7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luKTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVxdWlyZWQtcHJvbXB0LWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHJlcXVpcmVkLXByb21wdC1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRyZXF1aXJlZC1wdG9tcHQtZm9udC1zdHlsZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmcpO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gVHJ5IHRvIHByZXZlbnQgdGV4dCBmcm9tIHNwYW5uaW5nIHRvbyB3aWRlLlxyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICAgICAgLy8gSnVzdCB0byBrZWVwIHRoZSB0b3AgYW5kIGJvdHRvbSBpbmxpbmUgd2l0aCB0aGUgcGFkZGluZyBjYXVzZWQgYnkgdGhlIGFsZXJ0IGljb24uXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJHNhLW1hcmdpbiwgMSk7XHJcbiAgICB9XHJcbiAgICAmLmNvbnRlbnQtYm9yZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0tIFxyXG5mb3JtIHtcclxuICAgICYudXNlci1kYXRhLWZvcm0ge1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBwYWRkaW5nLWJvdHRvbSBmb3IgU1NPIGZvcm0gZGVzaWduIFxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIC8vIEdvdCB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3VyIGp1c3QgYSBwYWdlIGJhY2tncm91bmQgaW1hZ2UgaXMgc2V0LlxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2luZ2xlLWNvbHVtbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5vcm1hbGx5IHRoZSBzdWJtaXQgYnV0dG9uLlxyXG4gICAgICAgICAgICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGlucHV0IHRvIHRha2UgdXAgYXZhbGFibGUgd2lkdGguXHJcbiAgICAgICAgLy8gLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBpbnB1dCB7XHJcbiAgICAgICAgLy8gICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHJldmVhbC1wYXNzd29yZC13aWR0aH07XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1lZGl1bS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogNDY1cHg7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMsIGRpdiA+IGxlZ2VuZCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsICRjb2xvdXI0LCAkaGVhZGluZy1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiwgbGVnZW5kIHtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyLCAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkaGVhZGluZy0yLXBhZGRpbmcsIDMsIHByZXNldC00KSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUmUtYWRqdXN0aW5nIHRoZSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIGEgcnVsZS5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAuc3ViLWdyb3VwLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGVnZW5kIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViLWdyb3VwLW5hbWUge1xyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRzdWItaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjIsICRjb2xvdXIzKTsgXHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAmICsgLnJlcXVpcmVkLXByb21wdCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lcnJvci1ibG9jayB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHNvIHRoaXMgbG9vayBjb25zaXN0ZW50IHdpdGggZm9ybXMgaW4gYSBsYXJnZS02IGNlbGwuXHJcbiAgICAgICAgICAgIC8vICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDY4cHggMCAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgkZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQgKyAobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKSArIGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCkpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogbWFwLWdldCgkY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgLy8gQWRkaW5nIGJhY2tncm91bmQtY29sb3IgZHVlIHRvIGlmIGEgcGFnZSBiYWNrZ3JvdW5kIGlzIGFjdGl2ZS5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkc2V0LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgJiArIGgyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuZmllbGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHggNy41cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA4NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FwdGNoYSAtLS0tIFxyXG4uY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgLy8gQWRkaW5nIHBvc2l0aW9uIGFic29sdXRlIGFzIHJlY2FwdGNoYSdzIGlubGluZSBzdHlsZXMgYXJlIGNhdXNpbmcgbW9kYWxzIHRvIGJlIHB1c2hlZCBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAmLmNoZWNrYm94IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIH1cclxuICAgIC5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIEdvb2dsZSdzIHN0eWxlcyBkdWUgdG8gb3ZlcmxhcHBpbmcgdGhlIHN0aWNreSBidXR0b25zIGluIG1hbmFnZSBjYWxscy5cclxuICAgICAgICBib3R0b206IDYwcHggIWltcG9ydGFudDsgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gLS0tLS0gQ29uZmlybWF0aW9uIC0tLS0tIFxyXG5cclxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIHtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6ICgkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nIC8gMyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygoKSwgKHByZXNldC0xOiAwIGF1dG8gNTBweCkpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndhcm5pbmcsICYuYWxlcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0NXB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMCAyMi41cHggMTBweCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmNvbmZpcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgIH1cclxuICAgICYubWFyZ2luLWJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1zdWNjZXNzO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtd2FybmluZztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1hbGVydDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEhlYWRlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFVwcGVyICsgbG93ZXIgbmF2aWdhdGlvbiBiYXJzLlxyXG4tIFNpdGUgbG9nb1xyXG4tIEhlYWRlciBzdGlja3kgZnVuY3Rpb25hbGl0eTpcclxuICAtIEZ1bGxcclxuICAtIE1pbmlmaWVkXHJcbiAgLSBObyBUb3AgQmFyXHJcbiAgLSBNZW51XHJcbi0gVkFUIFN3aXRjaGVyXHJcbi0gQnJlYWRjcnVtYnNcclxuLSBCYXNrZXQgU3VtbWFyeSBcclxuLSBDYWxsb3V0cyBpbiB0aGUgaGVhZGVyIHRvIG1vZGlmeSBjYWxsb3V0IHNlZSBheGlzLW5vdGlmaWNhdGlvbi5zY3NzXHJcbi0gUHJlZGljdGl2ZSBzZWFyY2ggcG9zaXRpb25pbmcgdG8gbW9kaWZ5IHNlYXJjaCBzdHlsZSB0aGVuIGdvIHRvIGF4aXMtYXV0b2NvbXBsZXRlLnNjc3NcclxuLSBVU1AgYmFyIHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbW9kdWxlLlxyXG4tIFdlbGNvbWUgVGV4dFxyXG4tIFRhZyBsaW5lc1xyXG4tIFRPRE86IEkgYW0gY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHRyeWluZyB0byB1bnRhbmdsZSB0aGUgbWVnYSBtZW51IGNzcyArIG1ha2UgaXQgbW9yZSBnZW5lcmljIGFuZCByZWhvbWUgaXQgaW5zaWRlIG9mIGF4aXMtbWVudXMuc2Nzc1xyXG4qL1xyXG5cclxuXHJcbi8vLS0tLS0gU3RpY2t5IEhlYWRlciAtLS0tLSBcclxuaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBbZGF0YS1heGlzLXN0aWNreV0ge1xyXG4gICAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICAgICAgJi5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTW9iaWxlIC8gVGFibGV0IGRvZXNuJ3QgaGF2ZSBhbnkgY29uZmlnIGFsbCBpdCBzaG93cyBpcyB0aGUgbG9nbyArIHRvZ2dsZSBiYXIuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjVzIGVhc2Utb3V0OyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9TaG93IGZ1bGwgaGVhZGVyIHdoZW4gc3RpY2t5LlxyXG4gICAgICAgICAgICAvLyAmW2RhdGEtc3RpY2t5LXR5cGU9XCJGdWxsXCJdIHtcclxuICAgICAgICAgICAgICAgIC8vTm8gU3BlYyBmb3IgdGhpcyB5ZXQuXHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy9SZW1vdmUgdG9wLWJhciB3aGVuIHN0aWNreS5cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTm9Ub3BCYXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3MgdG9wLWJhciwgcmVkdWNlIGhlYWRlci1jb250ZW50IGhlaWdodCBidXQgcmV0YWluIG1lZ2EgbWVudS5cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWxlZnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luLCAzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uSW50cm8sIG1hcmdpbi1ib3R0b20gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1jZW50ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRoZWFkZXItbG9nby13aWR0aCwgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICNhY3Rpb24tYmFyLWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRoZWFkZXItbWluaWZpZWQtaGVpZ2h0IC0gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1YmJsZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICgkaGVhZGVyLXNlYXJjaC1oZWlnaHQgLSA1KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFqYXgtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb21tZW50aW5nIG91dCBhcyB0aGlzIGNhdXNlIHRoZSByZXN1bHRzIHRvIG92ZXJmbG93IHRoZSB2aWV3cG9ydCBmb3Iga2luZ3NmaWVsZC5cclxuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFNvIGJhc2tldCBnZXRzIHZlcnRpY2FsbHkgYWxpZ25lZC5cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAmICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBOb3JtYWxseSBidXR0b24gY29udGFpbmVycyBzaXQgaGVyZSBpbiBhIGRpdiBzbyBzZWxlY3RpbmcgYWxsIGRpcmVjdCBkaXZzLlxyXG4gICAgICAgICAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAjeyRob21lLWJ1dHRvbi1pY29uLXNpemUgLyAxLjJ9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAjeyhzcGFjaW5nLXZhbHVlKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIDEpIC8gMi4yKX0gI3soc3BhY2luZy12YWx1ZSgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCAyKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpI3tpZigkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCBcIjpub3QoLmhvbWUtYnV0dG9uKVwiLCBcIlwiKX0gPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICN7KGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogI3sobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybywgaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyLCAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRoZWFkZXItbG9nby13aWR0aCwgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBDb250YWluZXIgLS0tLS0gXHJcbi8vIENvbnRhaW5lciBhZnRlciBzdGlja3kgY29udGFpbmVyLlxyXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgJGhlYWRlci1jb250ZW50LWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtd2VpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UtcG9zaXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgQ29udGVudCBSZXNwb25zaXZlIFRvZ2dsZSBCYXIgKCBiYXNpY2FsbHkgbW9iaWxlIHZpZXcgKSAtLS0tLVxyXG4uaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHtcclxuICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZyB0byBtYWtlIHN1cmUgYnV0dG9ucyBhcmUgbGVnaWJhbC4uXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHRvZ2dsZS1kZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICR0b2dnbGUtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1yZXNwb25zaXZlLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBhLCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplO1xyXG4gICAgICAgIC8vIFNldCBoZWlnaHQgdG8gMTAwJSBpZiB2YWx1ZSA9PSBmaXQtY29udGVudCB0byBwcmV2ZW50IGRpZmZlcmVudCBoZWlnaHRzIGFuZCBpY29ucyBhcHBlYXJzIHN0YWdnZXJlZC5cclxuICAgICAgICBoZWlnaHQ6IGlmKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemUgPT0gZml0LWNvbnRlbnQsIDEwMCUsICRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9nZ2xlLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvZ2dsZS1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYVtocmVmXj1cInRlbDpcIl0ge1xyXG4gICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCAge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgdGVsZXBob25lKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGVsZXBob25lKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBtYWlsKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW1haWwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1zZWFyY2gge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgc2VhcmNoKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmhlYWRlci10b2dnbGUtYmFza2V0IHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIGJhc2tldCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1tZWdhLW1lbnUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaGFtYnVyZ2VyKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWhhbWJ1cmdlci1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemUpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtYWNjb3VudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb24pO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItbW9iaWxlLW1lbnUge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgei1pbmRleDogJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gTW9iaWxlIC8gVGFibGUgc3BlY2lmYyBzdHlsZXMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB6LWluZGV4OiBhdXRvO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJi5hbmltYXRlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweDtcclxuICAgICAgICAvLyBTbyBpZiBtZW51J3MgZ2V0IGNvbWJpbmVkIHRoZXkncmUgdGhlbiBjb25zaXN0ZW50IHdpdGggdGhlIG1lZ2EgbWVudS5cclxuICAgICAgICB1bC5tZW51ID4gbGkgPiBhe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgVG9wIEJhciAtLS0tLVxyXG4vLyBUeXBpY2FsbHkgY29udGFjdCBpbmZvIGdldHMgZGlzcGxheWVkIGhlcmUgKyBjbXMgcGFnZSBsaW5rcyBidXQgdGhpcyBnZXRzIHN1cHByZXNzZWQgZm9yIG1vYmlsZS5cclxuLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBjb250ZW50IGNvbnRhaW5lciAtLS0tLVxyXG4vLyBUaGlzIGlzIHRoZSBhcmVhIG5vcm1hbGx5IGJldHdlZW4gdGhlIHRvcC1iYXIgJiBtZWdhLW1lbnVcclxuLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbWVkaXVtLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gbWluLWhlaWdodDogJGhlYWRlci1jb250ZW50LW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIE5vIGxvbmdlciB1c2luZyBmbGV4Ym94IGR1ZSB0byBqZWxhd3JlbmNlJ3MgZGVzaWduLlxyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgZGlzcGxheTogLW1zLWdyaWQ7XHJcbiAgICAgICAgLy8gVGhlIGNvbHVtbiBsYXlvdXQgZm9yIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkaGVhZGluZy1ncmlkLXRlbXBsYXRlLWNvbHVtbnM7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogeGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBDb21tb24gaGVhZGVyIHN0eWxlcyBiZXR3ZWVuIGFyZWFzIC0tLSBcclxuLmhlYWRlci1jb250ZW50LWxlZnQsIC5oZWFkZXItY29udGVudC1jZW50ZXIsIC5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICAvLyBJbiBtb2JpbGUgc3VwcmVzcyB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHMuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgLy8gRXhjbHVzaW9uIGxpc3QuXHJcbiAgICAgICAgQGluY2x1ZGUgbm90KCRoZWFkZXItY29tcG9uZW50LWRpc3BsYXktbGlzdCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCBsZWZ0IC0tLSBcclxuLmhlYWRlci1jb250ZW50LWxlZnQge1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6ICRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNwYW4gMiByb3dzLlxyXG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLXJvdy1zcGFuOiAyO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWxlZnQnKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtbGVmdCcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXMpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zLCB4eGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUgIHtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1tYXJnaW47XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBpdGVtIHBhZGRpbmcuXHJcbiAgICAgICAgICAgICRpdGVtLXBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsIG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyIHVsLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gR2V0IGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgICAgICAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gR2V0IGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgICAgICAgICAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAvLyBHZXQgaG92ZXIgY29sb3VyLlxyXG4gICAgICAgICAgICAkaG92ZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRob3Zlci1jb2xvdXIpLCAwLCAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXVuZGVybGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCBjZW50ZXIgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLWp1c3RpZnktY29udGVudDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1jZW50ZXInKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtY2VudGVyJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBQdXQgdGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHdlYXJlc3luYyB0byBvZmZzZXQgdGhlIGhlYWRlciBjb250ZW50IG1lbnUgdG8gbWF0Y2ggdGhlaXIgb3JpZ2luYWwgc2l0ZS5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgRml4LlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGhlYWRlciBiYWNrZ3JvdW5kIGRvZXNuJ3QgbWF0Y2ggY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgcmlnaHQgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgc2VhcmNoIHRvIG92ZXJsYXAgd2l0aCByZWNlbnRseSBhZGRlZC5cclxuICAgIC8vIHotaW5kZXg6IDEwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucyk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpZiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50IHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LXJpZ2h0LWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtcmlnaHQnKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtcmlnaHQnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTbyBoaWdoIGR1ZSB0byB1bmRlcmxhcHBpbmcgaGVhZGVyIG1lbnUgZHJvcGRvd24ncy5cclxuICAgICAgICAvLyB6LWluZGV4OiAyMDAwMDA7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucywgeGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zLCB4eGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIC8vIEdldCBkZWZhdWx0IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1zdXBwcmVzcy1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgc2l0ZSBsb2dvIC0tLS0tIFxyXG4ubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkbG9nby1jb250YWluZXItanVzdGlmeTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRsb2dvLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbG9nby1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwdnc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGEgdGhlIG1ham9yaXR5IG9mIGxvZ28ncyBhcmUgbm90IHNxdWFyZSBhbmQgYSBtb3JlIHNpbXBsZSBzb2x1dGlvbiB3b3VsZCBiZSBqdXN0IGp1c3Qgc2NhbGUgYnkgd2lkdGguXHJcbiAgICAgICAgLy9oZWlnaHQ6IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMjVweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvRnVsbCwgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICBAaWYgJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ29NaW5pZmllZCwgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgIEBpZiBub3QgJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBUYWcgTGluZSAtLS0tLSBcclxuLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHAge1xyXG4gICAgICAgIC8vIENoZWNrIGNvbG91ciBjb250cmFzdC5cclxuICAgICAgICAkY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItdGFnbGluZS1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGluZy10YWdsaW5lLXBhZGRpbmc7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdGFnbGluZS1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIC8vIFJlYXNvbiBmb3IgcHJldmVudCB3cmFwcGluZyBpcyBiZWNhdXNlIGl0IHdpbGwgY2F1c2UgdGhlIHNlYXJjaCArIGJhc2tldCBzdW1tYXJ5IHRvIGJlIG91dCBvZiBhbGlnbi5cclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICY6aXMoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IGlmKCRoZWFkZXItdGFnbGluZS1oZWlnaHQgPT0gXCJhdXRvXCIsIDAsIDEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRlci10YWdsaW5lLWxvd2VyLXN1cHByZXNzKSB7XHJcbiAgICAgICAgJi5sb3dlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXRhZ2xpbmUge1xyXG4gICAgLy8gQ2hlY2sgY29sb3VyIGNvbnRyYXN0LlxyXG4gICAgJGNvbG91cjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXRhZ2xpbmUtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAkaGVhZGluZy10YWdsaW5lLXBhZGRpbmc7XHJcbiAgICBjb2xvcjogJGNvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdGFnbGluZS1mb250LXNpemUpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0O1xyXG4gICAgLy8gUmVhc29uIGZvciBwcmV2ZW50IHdyYXBwaW5nIGlzIGJlY2F1c2UgaXQgd2lsbCBjYXVzZSB0aGUgc2VhcmNoICsgYmFza2V0IHN1bW1hcnkgdG8gYmUgb3V0IG9mIGFsaWduLlxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFNlYXJjaCAtLS0tLVxyXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpKSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRpbmctc2VhcmNoLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNlYXJjaCBiYWNrZ3JvdW5kXHJcbiAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYm9yZGVyXHJcbiAgICAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIFxyXG4gICAgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBidXR0b24gYmFja2dyb3VuZFxyXG4gICAgJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJ1dHRvbiBjb2xvdXJcclxuICAgICRidXR0b24tZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkYnV0dG9uLWhvdmVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWRlZmF1bHQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWljb24tc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAvLyBIYXZpbmcgdG8gc2V0IG9yZGVyIGR1ZSB0byBzaXRlIHNlYXJjaCByZXN1bHRzIGlzIHBsYWNlZCBiZWZvcmUgdGhlIGlucHV0ICsgYnV0dG9uIHdoaWNoIGRvZXNuJ3Qgd29yayBpbiBtb2JpbGUgYXMgaXQgbmVlZHMgdG8gYXBwZWFyIGFmdGVyIHRoZW0uXHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSB0byBzdXBwb3J0IHNpdGUgc2VhcmNoIDM2MCBtYXJrdXAgdGhhdCBpcyB1c2VkIG9uIEF4aXMgQ29ycG9yYXRlLlxyXG4gICAgI3VuaWJveC1zdWdnZXN0LWJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gSUYgd2UncmUgb3ZlcnJpZGluZyB0aGUgaGVhZGVyJ3Mgc2VhcmNoIGJ1dHRvbiB3aWR0aCB0aGVuIHVzZSB0aGF0IGVsc2UgdXNlIHRoZSBzaXRlJ3MgZGVmYXVsdCB3aWR0aC5cclxuICAgICAgICAkYnV0dG9uLXdpZHRoOiBpZigkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgsJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoLCRzZWFyY2gtYnV0dG9uLXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnV0dG9uLXdpZHRofSk7XHJcbiAgICAgICAgLy8gU2V0dGluZyBvcmRlciBzbyByZXN1bHRzIGFwcGVhciB1bmRlciB0aGUgc2VhcmNoIGluIG1vYmlsZS5cclxuICAgICAgICBvcmRlcjogMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIC8vIEZvcmNlIHJlbGF0aXZlIHBvc2l0aW9uaW5nIHNvIHRoZSByZXN1bHQgYXBwZWFyIGluIHRoZSBzZWFyY2ggcG9wdXAgLyBtZW51IGZvciBtb2JpbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIHNwYWNpbmctdmFsdWUoJGZpZWxkc2V0LWlucHV0LXBhZGRpbmcsIDQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnVuaWJveC1zZWxlY3RhYmxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiwgLnVuaWJveC1oaWdobGlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4sIC51bmlib3gtaGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGFjLXJlc3VsdHMtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYWMtcmVzdWx0cy1vZmZzZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3c6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAkaW5wdXQtaG92ZXItYm94LXNoYWRvdzogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICBAaWYgKCRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaW5wdXQtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ob3Zlci1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFByZWRpY3RpdmUgU2VhcmNoICggZm9yIGhlYWRlciApIC0tLSBcclxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICgkYWMtcmVzdWx0LXBpbi10by10b3ApIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgei1pbmRleDogMTAwMDE7XHJcbiAgICAvLyB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgdG9wKSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHJpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHJpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIGxlZnQpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCBsZWZ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBhLmFjX3Jlc3VsdHNfZW50cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBkZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTJkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm8tcmVzdWx0cyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmcyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZzQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuXHJcbiAgICAuYWNfcmVzdWx0c19lbnRyeSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGNhbGwgdG8gYWN0aW9uIC0tLS0tIFxyXG4vLyBVc2VkIGZvciBsb2dpbiBidXR0b24gb3IgZW5xdWlyeSBidXR0b24uXHJcbi5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lci1oZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRkZXNrdG9wLXN1bW1hcnktd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAvLyBLZWVwIGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIHNlYXJjaCBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBiYXNrZXQgc3VtbWFyeSAtLS0tLVxyXG4jYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaGVpZ2h0O1xyXG59XHJcbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE1ha2Ugc3VyZSBiYWNrZ3JvdW5kIGNvbG91cidzIGNvbnRyYXN0IGFnYWluc3QgdGhlIHRleHQgY29sb3VyJ3MgaW4gdGhlaXIgdmFyaW91cyBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApLlxyXG4gICAgLy8gd2FybmluZyBjb250cmFzdCBjaGVja2VyLlxyXG4gICAgJHdhcm5pbmctaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgIC8vIGFsZXJ0IGNvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAkYWxlcnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcbiAgICAkYWxlcnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuXHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCB3YXJuaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhbGVydCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVjZW50bHkgYWRkZWQuXHJcbiAgICAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNXB4O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBbZGF0YS1iYXNrZXQtc3VtbWFyeS1ub3RpZmljYXRpb25zXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEJhc2tldCBzdW1tYXJ5IHRoYXQgZ2V0cyBzaG93biBwcmltYXJpbHkgZm9yIHRoZSBkZXNrdG9wICggbm8gZHJvcCBkb3duIG9yIHBvcHVwIClcclxuICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICB3aWR0aDogJGRlc2t0b3Atc3VtbWFyeS13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtcHJldmlldy1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgZGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiB0aGUgdGhlc2UgY29sb3VycyBtYXRjaCBpdCBpcyBwb2ludGxlc3MgZXhwYW5kaW5nIHRoZSBiYXNrZXQgaWNvbnMgYmFja2dyb3VuZCB0byBvdmVybGFwIHRoZSByZXN0IG9mIHRoZSBzdW1tYXJ5LlxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkgPT0gbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYmFza2V0LXByZXZpb3VzLWljb24td2lkdGg7XHJcbiAgICAgICAgICAgIC8vIElmIGJvcmRlciB0aGVuIHJlZHVjZSBoZWlnaHQgdG8gYWxsb3cgZm9yIGJvcmRlci5cclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogWW91J3JlIGFzc3VtaW5nIHRoZSBib3JkZXIgaXMgMXB4IHNvIHRoaXMgbWlnaHQgY2F1c2UgaXNzdWVzIGRvd24gdGhlIGxpbmUuLi5cclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodCAtIDIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkYmFza2V0LXByZXZpZXctaWNvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkYmFza2V0LXByZXZpZXctaWNvbi1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYmFza2V0LXByZXZpZXctaWNvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgIC8vIFdlJ3JlIFwiIGFzc3VtaW5nIFwiIHRoYXQgaWYgdGhlIHZhbHVlIGlzIDI1cHggdGhlbiB3ZSB3YW50IHRoZSBpY29uIHRvIGJlIG91dGxpbmVkIGJ5IGEgY2lyY2xlLlxyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzID09IDI1cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgYWxsIGp1c3QgYmVjYXVzZSBvZiBhbGwgdGhlIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgYXBwZWFycyBpbnNpZGUgb2YgdGhlIGJhc2tldCBkZXNrdG9wIHN1bW1hcnkuXHJcbiAgICAuYmFza2V0LWRldGFpbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgQGlmICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGUge1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkYmFza2V0LXByZXZpZXctZm9udC1zdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTg1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICAmLmJhc2tldC1kZXRhaWxzLXF1YW50aXR5IHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJhc2tldC1kZXRhaWxzLXByaWNlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU3VtbWFyeSB0aGF0IGdldHMgZGlzcGxheWVkIGZvciBtb2JpbGUgZXNzZW50aWFsbHkgYXMgYSBwb3B1cCBtZW51LlxyXG4gICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW9yZGVyLXRvdGFsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDI1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3Rpb24tYnV0dG9uIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnRleHRDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODUlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuXHJcbiAgICAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDM3MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLnN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmcge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCA4LCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAuc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgOCwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzcwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAxMHB4IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNyZWNlbnRseUFkZGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVwZGF0ZS5hY3RpdmUge1xyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcuXHJcbiAgICAgICAgICAgIGEgeyBcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1YmJsZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAoJGJhc2tldC1wcmV2aWV3LWhlaWdodCArIDUwKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgLy8gei1pbmRleDogNTAwO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIEhlYWRlciB3ZWxjb21lIHRleHQgLS0tLS1cclxuLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcmRlcjogMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci13ZWxjb21lLXRleHQtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgZmxleC1iYXNpczogJGhlYWRlci13ZWxjb21lLXRleHQtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeHhsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogeHhsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItd2VsY29tZS10ZXh0LXRleHQtYWxpZ247XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXdlbGNvbWUtdGV4dC1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgICYgKyAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIE1lbnVzIC0tLS0tXHJcbi5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hbGwtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3Agc3BlY2lmaWMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAvLyBEb24ndCBjaGFuZ2UgdGhlIHBhZGRpbmcgYm90dG9tIGFzIHRoaXMgd2lsbCB0aHJvd24gdGhlIG1lZ2EgbWVudSBvdXQgb2YgYWxpZ25tbmV0IHdpdGggdGhlIGJvdHRvbSBvZiB0aGUgbmF2IGJhci5cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpZiAkaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZDtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGFyZ2UtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3cge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJG1lZ2EtbWVudS1ib3JkZXIge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRtZWdhLW1lbnUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRtZWdhLW1lbnUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb2xsb3cgbWVnYSBtZW51IHNtYWxsIHN0eWxlcy5cclxuICAgIC8vIExldmVsIDFcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMZXZlbCAzICsgXHJcbiAgICAgICAgICAgICAgICAgICAgdWwgPiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCkge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1jb2xvdXI7XHJcbn1cclxuXHJcbi5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIExldmVsIDIgQ29sb3Vyc1xyXG4gICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAgLy8gRGVmYXVsdC5cclxuICAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAvLyBIb3Zlci5cclxuICAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAvLyBBY3RpdmUuXHJcbiAgICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyBMZXZlbCAzIENoaWxkcmVuIENvbG91cnMuXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcblxyXG5cclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXdpZHRoKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICB1bC5hY2NvcmRpb24tbWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEdWUgdG8gc3VibWVudSBwYXJlbnRzIGhhdmUgYW4gaWNvbiB0byB0aGUgbGVmdCB3ZSBuZWVkIHRvIGFkZCBzb21lIG1hcmdpbiB0byB0aGUgbm8gcGFyZW50cyBvdGhlcndpc2UgdGhlIGdyb3VwIGRlc2NyaXB0aW9ucyB3aWxsIG5vdCBsaW5lIHVwLlxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICN7c3BhY2luZy12YWx1ZSgkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLCA0KSArIDIwfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSwgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgcGFyZW50IGluZGljYXRvciB0aGF0IGlzIHNob3duIG9uIG5vcm1hbCBkcm9wZG93bnMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1hY3RpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcblxyXG4gICAgfVxyXG4gICAgdWwubWVudS5tZWdhLW1lbnUsIHVsLm1lbnUuZHJvcGRvd24ge1xyXG4gICAgICAgIC8vIEdyYW5kIHBhcmVudCBncm91cCBzZXBlcmF0b3JzLlxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1maXJzdC1jaGlsZC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhvbWUtYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICN7aWYoJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzLCBcIiY6bm90KDpmaXJzdC1jaGlsZCkgXCIsIFwiXCIpfSA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xlZnQ6IC0jeyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpICogMS41KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwtJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAgLDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yaWdodDogLSN7KG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCkgKiAxLjUpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogaWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsLSRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQgIT0gJGRlZmF1bHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRm9yIGRyb3Bkb3duIGFsaWdubWVudC5cclxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgbWVudXMgY29udGFpbmVyIC0tLSBcclxuLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIEBpZiAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJiArIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxufVxyXG4uaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG4uaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVG9nZ2xlIEJhciAtLS0gXHJcbi8vIEVzc2VudGlhbGx5IGEgY29sbGVjdGlvbiBvZiB0b2dnbGUgYnV0dG9ucyB0aGF0IHRyaWdnZXIgdmFyaW91cyBmdW5jdGlvbmFsaXR5IGkuZSBzZWFyY2ggYmFyICYgYmFza2V0IHN1bW1hcnkuXHJcbi5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGdhcDogJGhlYWRlci10b2dnbGUtYmFyLWdhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLnRvZ2dsZS1iYXItaW5hY3RpdmUtbW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250YWluZXIgZm9yIGJvdGggYnV0dG9uICYgY29udGVudCBjb250YWluZXJzLlxyXG4gICAgLmhlYWRlci10b2dnbGUtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICYuYWxpZ24taXRlbXMtcGFyZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUb2dnbGUgYnV0dG9uIGNvbnRhaW5lcnNcclxuICAgIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0ICE9ICRkZWZhdWx0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICAgICAgJi5zZWFyY2ggLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZWZhdWx0LXNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjb3VudCAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC8vIEdldCBjdXN0b20gYnV0dG9uIHBhZGRpbmcuXHJcbiAgICAgICAgICAgICRidXR0b24tcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxlcy5cclxuICAgICAgICAgICAgQGlmICgkYnV0dG9uLXBhZGRpbmchPSAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmcgKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7ICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemUgKyA2fTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA0LjVweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCBjb250YWluZXJzLlxyXG4gICAgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zZWFyY2gge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAgbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRocywgc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY291bnQtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhY2NvdW50LW1lbnUtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYWNjb3VudC1tZW51LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYmFyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTE2cHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogIG1hcC1nZXQoJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHMsIGFjdGlvbi1iYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQWNjb3VudCBNZW51IC0tLS0tXHJcbi8vIC0tLSBCdXR0b24gLS0tXHJcbi5oZWFkZXItYWNjb3VudC1idXR0b24ge1xyXG5cclxuICAgICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuXHJcbiAgICAkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcblxyXG4gICAgJGRlZmF1bHQtY29sb3VyOiBpZigkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91ciwgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAkaG92ZXItY29sb3VyOiBpZigkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIsIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBob3ZlcikpO1xyXG4gICAgJGFjdGl2ZS1jb2xvdXI6IGlmKCRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIgLGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItYWNjb3VudC1idXR0b24tbWluLWhlaWdodDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb24pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAgJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWd1dHRlcjtcclxuICAgIC8vIERlZmF1bHQgcGFkZGluZy5cclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICBAaWYgKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5sb2dnZWQtaW4ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgIEBpZiAoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICBAaWYgKCRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBAaWYgKCRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb24pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIE1lbnUgLS0tIFxyXG4uYWNjb3VudC1tZW51IHtcclxuICAgIGEge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVVNQIEJhciAtLS0tLVxyXG4vLyBUT0RPOiBXaGVuIHRoaXMgb2ZmaWNhbGx5IGJlY29tZXMgYSBtb2R1bGUgdGhpcyBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIHRoZSBoZWFkZXIuc2NzcyBpbnRvIG1vZHVsZXMuc2Nzc1xyXG4udXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR1c3AtYmFyLXBhZGRpbmcpO1xyXG4gICAgQGlmICR1c3AtYmFja2dyb3VuZC1mdWxsLXdpZHRoIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHVzcC1iYXItcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuLnVzcC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3AtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLnVzcC1iYW5uZXIsIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gSWYgdGV4dCBhbGlnbiBub3QgPT0gY2VudGVyIHRoZW4gYWRqdXN0IGZsZXhib3ggYWxpZ25tZW50LlxyXG4gICAgICAgIEBpZiAoJHVzcC1hbGlnbm1lbnQgPT0gXCJsZWZ0XCIpIHtcclxuICAgICAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgKCR1c3AtYWxpZ25tZW50ID09IFwicmlnaHRcIikge1xyXG4gICAgICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGZsZXgtZW5kXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgcHsgXHJcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHVzcC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCA+IHAge1xyXG4gICAgICAgICAgICBAaWYgKCR1c3AtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICR1c3AtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdXNwLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyAgIFxyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdXNwLWZsZXgtYWxpZ247XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHVzcC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHVzcC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c3AtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR1c3AtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIEBpZiAoJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHVzcC1pbWFnZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR1c3AtaW1hZ2UtZ3V0dGVyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHVzcC1pbWFnZS1ndXR0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHVzcC1mbGV4LWFsaWduO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHVzcC1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAkaG92ZXItY29sb3VyOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRob3Zlci1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlLWNvbG91cjogbWFwLWdldCgkdXNwLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjdGl2ZS1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgcGFkZGluZyBkdWUgdG8gY29udGVudCBiZWluZyBpbnNpZGUgb2YgYW5jaG9yLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIEBpZiAkdXNwLWFuY2hvci1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR1c3AtYW5jaG9yLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHVzcC1hbmNob3ItaW5kaWNhdG9yLWZvbnQtc2l6ZTsgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICR1c3AtYW5jaG9yLWluZGljYXRvci1jdXN0b20taWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHVzcC1ndXR0ZXIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHVzcC1ndXR0ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRvIG1ha2Ugc3VyZSBjb250ZW50IGlzIGZsdXNoIGFnYWluc3QgY29udGFpbmVyLlxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJHVzcC1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAmICsgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5mYXMge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQnJlYWRjcnVtYnMgLS0tLS1cclxuLy8gTWFrZSBzdXJlIHRoZXJlIGlzIGEgZ2FwIGJldHdlZW4gdGhlIGhlYWRlciB3aGVuIHRoZXJlIGlzIG5vIGJyZWFkY3J1bWIgb3IgdmF0IHN3aXRjaGVyIG90aGVyd2lzZSBwYWdlIGNvbnRlbnQgd2lsbCBwdXNoIHVwIGFnYWluc3QgdGhlIGhlYWRlciwgdHJlYXQgdGhlIGhvbWVwYWdlIGFzIGEgc3BlY2lhbCBjYXNlIGFzIGluIHNvbWUgZGVzaWducyB3ZSBidXR0IHRoZSBtb2R1bGVzIHJpZ2h0IHVwIGFnYWluc3RzIHRoZSBoZWFkZXIuXHJcbmJvZHk6bm90KCNob21lKSAuaGVhZGVyLWJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46ICRicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgJjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgbmVlZHMgdG8gYmUgY29uZmlndXJlZCBvbiBhIHNpdGUgYmFzaXMgYXMga2luZ3NmaWVsZCBoYXMgbm8gVVNQJ3MgKyBkaXNhYmxlZCBWQVQgc3dpdGNoIGFuZCByZXF1ZXN0ZWQgdGhhdCB3ZSBoYXZlIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCBmaXJzdCBtb2R1bGUgODQ5NDEyLlxyXG5ib2R5I3tpZigkaGVhZGVyLW5vLWJyZWFrY3J1bWJzLXRvZ2dsZS1zd2l0Y2gtc2hpbS1vbi1ob21lcGFnZSxcIlwiLFwiOm5vdCgjaG9tZSlcIil9IC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICY6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgJjpoYXMoLmJyZWFkY3J1bWJzKSwgJjpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSkpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEsIGxhcmdlKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuYnJlYWRjcnVtYnMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSk7XHJcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogc21hbGwtdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmVhZGNydW1icyB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGRpc3BsYXkgc3R5bGUgZmxleCB0byBhdHRlbXB0IHRvIGNlbnRlcmlzZSB0aGUgc2VwZXJhdG9yL2xldmVsIGljb25zLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBTd2l0Y2hlZCBmcm9tIGJhc2VsaW5lIHRvIGNlbnRlciBmb3Iga2luZ3N3b29kIHByb2plY3QgODQyNTM5LCB0aGlzIG1pZ2h0IG5lZWQgdG8gYmUgcmV2ZXJ0ZWQuXHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMi41cHggMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJyZWFkY3J1bWJzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYWN0aXZlLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLW1hcmdpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgcGFkZGluZy10b3AgYXMgd2UncmUgMXB4IG9mZiB2ZXJ0aWNhbCBjZW50ZXIuXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltIC8gMik7XHJcbiAgICAgICAgICAgIEBpZiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udG9nZ2xlLXN3aXRjaC1sYWJlbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBWQVQgU3dpdGNoZXIgLyBIZWFkZXIgdG9nZ2xlIHN3aXRjaCAtLS1cclxuLy8gVGhpcyB3YXMgcmVmYWN0b3JlZCBpbnRvIFwiIGhlYWRlci10b2dnbGUtc3dpdGNoIFwiIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBkZXNpZ24gdG8gYWxsb3cgZm9yIGRpZmZlcmVudCBjb2xvdXIgY29kaW5nIHRvIGJlIGRlZmluZWQuXHJcbi52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZ2FwO1xyXG4gICAgQGlmICgkdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNwZWNpZmljIHN0eWxlcy5cclxuICAgICYudmF0LXN3aXRjaGVyIHtcclxuICAgICAgICAmLmluY2x1c2l2ZSwgJi5vZmYge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXhjbHVzaXZlLCAmLm9uIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmVkaXQtbW9kZSB7XHJcbiAgICAgICAgJi5vZmYge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub24ge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLy8gQ29tbW9uLlxyXG4gICAgJi5pbmNsdXNpdmUsICYub2ZmIHtcclxuICAgICAgICBAaWYgJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWwge1xyXG4gICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAtIDIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaC1leGMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXhjbHVzaXZlLCAmLm9uIHtcclxuICAgICAgICAvLyBTaG93IGFjdGl2ZSBmb250LXdlaWdodCBhbmQgY29sb3VyIGlmIGFjdGl2ZSwgbm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggY2xpY2sgYWN0aXZlIHN0YXRlLlxyXG4gICAgICAgIEBpZiAkdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyArIDUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoIHtcclxuICAgICAgICB3aWR0aDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4xKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcclxuICAgICAgICBtaW4td2lkdGg6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4zKTtcclxuICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4zKTtcclxuICAgICAgICAvLyBTdXBwcmVzZXR0aW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgdmVydGljYWwgYWxpZ25tZW50IGlzc3VlcyBmb3IgbWFjT1MgdXNlcnMuXHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyA0LjIpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gNC4yKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWV4YywgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtZXhjIHtcclxuICAgICAgICByaWdodDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgIGxlZnQ6IDVweDtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBGb290ZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBGb290ZXIgbWVudSAoIGFsc28gcmVmZXIgdG8gYXhpcy1tZW51cy5zY3NzIClcclxuLSBQcm9tb3Rpb24gYXJlYTpcclxuICAtIFNvY2lhbCBJY29uc1xyXG4gIC0gTWFpbGluZyBMaXN0XHJcbiAgLSBDbXMgZW50cmllc1xyXG4tIEZvb3RlciBCYW5uZXJzICggUGF5bWVudCBtZXRob2QgbG9nb3MgKVxyXG4tIENvcHlyaWdodFxyXG4tIEdvb2dsZSBUYWcgTWFuYWdlciBmb290ZXIgd2lkZ2V0IGFyZWFcclxuLSBGb290ZXIgTW9kdWxlcyAoIGFsc28gcmVmZXIgdG8gbW9kdWxlcy5zY3NzIClcclxuKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuZm9vdGVyIHtcclxuICAgIC8vIEZvb3RlciBjb2xvdXJzIHByZS1wcm9jZXNzaW5nLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIC8vIERlZmF1bHRcclxuICAgICRtZW51LWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBkZWZhdWx0KSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkbWVudS1ob3Zlci1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgaG92ZXIpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkbWVudS1hY3RpdmUtaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGFjdGl2ZSksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQGlmIG5vdCAkZm9vdGVyLWJhY2tncm91bmQgYW5kIG5vdCAkZm9vdGVyLWJhY2tncm91bmQtdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAoJGZvb3Rlci1tYXJnaW4tdG9wIC8gMik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAkZm9vdGVyLWJhY2tncm91bmQgYW5kIG5vdCAkZm9vdGVyLWJhY2tncm91bmQtdG9wIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1tYXJnaW4tdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKCRmb290ZXItc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgJjoje2lmKCRmb290ZXItc2VwZXJhdG9yLXRvcCwgYmVmb3JlLCBhZnRlcil9IHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtY29sb3VyO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1tYXJnaW4tdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRPRE86IFRoZSBzb2NpYWxJY29ucyBwcm9wZXJ0aWVzIGNhbiBnbyBvbmNlIHdlIGdvIHdpdGggdXNpbmcgZm9udGF3ZXNvbWUncyBnbHlwaHMsIHlvdSBtYXkgbmVlZCB0byB1bnRhbmdsZSBzb21lIG9mIHRoZXNlIG9wdGlvbnMgdG8gbWFrZSBzdXJlIHRoZXkncmUgYWxsIGJlaW5nIGFwcGxpZWQgaW4gdGhlIC5mb290ZXIgY2xhc3MgaW4gYXhpcy1zb2NpYWwtbWVkaWEtaWNvbnMuc2Nzc1xyXG4gICAgLnNvY2lhbEljb25zLCAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgbm90ICgkc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzKSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRmb290ZXItc29jaWFsLXN1cHByZXNzLWNvbnRhaW5lci1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLWFsaWdubWVudDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLXNvY2lhbC1pY29uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIGZvciBhbnkgdGV4dGRiIGVudHJpZXMgaW4gdGhlIGZvb3Rlci5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgQGlmICRmb290ZXItY21zLWxpbmUtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGNlbnRlciwgbGVmdCk7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaG93LWNvbnRhY3QtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzKSB7XHJcbiAgICAgICAgdWwubWVudSB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udHJvbHMgaG93IGZhciB0aGUgZm9vdGVyIGNvbnRlbnQgc2hvdWxkIHNwYW4uXHJcbi5mb290ZXItZ3JpZC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1ncmlkLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIG9yICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uKTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBcclxuICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJhbm5lciBzZXJpZXMgZm9yIHRoaW5ncyBsaWtlIGFjY2VwdGVkIHBheW1lbnQgbWV0aG9kcyBvciBpbWFnZShzKSB0aGF0IHNpdCBhYm91dCB0aGUgZm9vdGVyIGNvbnRlbnQuXHJcbi5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgJi5jb250ZW50LWhlYWRlciB7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXltZW50LW1ldGhvZHMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlcikge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c3BhY2luZy12YWx1ZShzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSwgMil9KTtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERPTlQgZG8gdGhpcyBpdHMga2lsbHMgdGhlIGxheW91dCBpbiBtb2JpbGUgZm9yIHN0YW5kYXJkIGZvb3Rlci5cclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c21hbGwtdmFsdWUoc3BhY2luZy12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwLCAyKSl9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgKyAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9vdGVyIGNvcHlyaWdodC5cclxuLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIge1xyXG5cclxuICAgIC8vIENvbnRyYWN0IGNoZWNrZXIuXHJcbiAgICAvLyBEZWNpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyLCBpZiB0aGUgY29weXJpZ2h0IGNvbnRhaW5lciBkb2Vzbid0IHNwZWNpZmljYWxseSBzcGVjaWZ5IGEgYmFja2dyb3VuZCBjb2xvdXIgdGhlbiBkZWZhdWx0IHRvIHRoZSBmb290ZXIgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kO1xyXG4gICAgLy8gVGhlIHNlcGVyYXRvcnMgYmV0d2VlbiB0aGUgdGV4dCBjb2xvdXIuXHJcbiAgICAkc2VwZXJhdG9yLWNvbG91cjogXCJcIjtcclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgJHNlcGVyYXRvci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91ciwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIH1cclxuICAgIC8vIENvcHlyaWdodCBwYXJhZ3JhcGggY29sb3VyLlxyXG4gICAgJHBhcmFncmFwaC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLWNvbG91ciwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGhvdmVyIGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgaG92ZXIpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBhY3RpdmUgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgYWN0aXZlKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcblxyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZCAhPSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDtcclxuICAgIH1cclxuICAgIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC8vIEFkZCBzbWFsbCBzcGFjZSBhYm92ZSBqdXN0IGluY2FzZSBwYXltZW50IG1ldGhvZCdzIGlzIHN1cHByZXNzZWQuXHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduKTtcclxuICAgICAgICBAaWYgJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItcGFkZGluZztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxhcmdlLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtbWFyZ2luO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LWFuY2hvci13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYWwgZm9vdGVyIG1lbnUgbmF2aWdpYXRpb24uXHJcbi5mb290ZXItbmF2aWdhdGlvbiB7XHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyIGZvciBwYXJlbnQgY29sb3Vycy5cclxuICAgIC8vIERlZmF1bHRcclxuICAgICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRwYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRwYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIExldmVsIDFcclxuICAgID4gdWwubWVudSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IHN0eWxlIHRvIGZvcmNlIHByb21vdGlvbiBjb250YWluZXIgdG8gZml0IG9uIHJvdy5cclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCkpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjaGV2cm9uIGlzIHByZXNlbnQgbWFrZSBzdXJlIGl0IGhhcyBhbiBhcHByb3ByaWF0ZSBjb2xvdXIgYXNzaWduZWQuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQmVjYXVzZSB5b3Ugd2FudCB0byB0aGUgY29udGVudCBmbHVzaCBhZ2FpbnN0IHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgcCwgJjpmaXJzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHAsICY6bGFzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IGhvdmVyIHN0YXRlLlxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KFtocmVmXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWxpc3QtaXRlbS13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSwgPiBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXBhcmVudC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb290ZXItbGlzdC1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZbaHJlZl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgYmFja2dyb3VuZC1jb2xvclxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1saXN0LW1hcmdpbi10b3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHVzaCBmaXJzdCBpdGVtIGF3YXkgZnJvbSBwYXJlbnQgdXNpbmcgdGhlIGJvdHRvbSB2YWx1ZSBzbyB0aGUgc3BhY2luZyBpcyBlcXVhbCB0b3AgJiBib3R0b20uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jaGlsZC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY2hpbGQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IGlzIGdldHRpbmcgaW4gdGhlIHdheSBvZiBzaG93aW5nIGNvbnRhY3QgaWNvbnMgZm9yIG1haWx0bzogJiB0ZWw6LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIHdlJ3JlIG5vdyB1c2luZyBheGlzLW1lbnUncyB0eXBpY2FsbHkgY2hpbGQgaXRlbXMgaGF2ZSBhIGFycm93IHNob3dpbmcgbmV4dCB0byB0aGVtIHRoaXMgaXMgYmVpbmcgZm9yY2FibHkgc3VwcHJlc3NlZCBmb3IgZm9vdGVyIG1lbnUncywgbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZSBpbiB0aGUgZnV0dXJlIGlmIG5lZWRzIGJlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNoaWxkLWhvdmVyLXRleHQtZGVjb3JhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgbm8gb3RoZXIgb3BhY2l0eSBnZXRzIGFwcGxpZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ3VycmVudGx5IHdlJ3JlIG9ubHkgc2hvd2luZyBvbmUgdHlwZSBvZiBtZW51IGluIHRoZSBmb290ZXIgYnV0IEkgYW0gbGVhdmluZyB0aGlzIG9wZW4gc28gd2UgY2FuIGFkZCBkaWZmZXJlbnQgdHlwZXMgKCBpLmUgYSBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgbWVudSApXHJcbiAgICAmLm1haW4tbWVudSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogJGZvb3Rlci1tYWluLW1lbnUtZmxleC1ncm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIG9yZGVyOiAkZm9vdGVyLWxpc3Qtb3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IGFjY29yZGlvbiBzdHlsZXMgaW4gbW9iaWxlLlxyXG4gICAgLm1lbnUgLmlzLXN1Ym1lbnUtaXRlbSBhIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgb3JkZXI6IDM7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1tYXJnaW47XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLW1hcmdpbjtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbiA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IGhvbGRzIG1haWxpbmcgbGlzdCwgc29jaWFsIGljb25zICYgY21zIGVudHJ5LlxyXG4uZm9vdGVyLXByb21vdGlvbnMge1xyXG4gICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKSkge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKSkge1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCk7XHJcbiAgICB9XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBvcmRlcjogJGZvb3Rlci1wcm9tb3Rpb24tYXJlYS1vcmRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXByb21vdGlvbnMtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbik7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9yY2UgY29udGVudCB0byBiZSBhbGlnbmVkIHRoZSByaWdodCwgb25seSBhbGxvdyBjZW50ZXJpbmcgd2hlbiBubyBwcm9tb3Rpb25zLlxyXG4gICAgJiArIC5mb290ZXItbmF2aWdhdGlvbiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgbWFpbGluZyBsaXN0LlxyXG4gICAgLm1haWxpbmctbGlzdC1jb250YWluZXIsIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbWFpbGluZy1saXN0KTtcclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGFueSBzb2NpYWwgaWNvbnMgd2l0aGluIHRoZSBwcm9tb3Rpb24gYXJlYS5cclxuICAgIC5zb2NpYWxJY29ucywgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBzb2NpYWwtaWNvbnMpO1xyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgdGV4dGRiIGNvbnRlbnQgaW5zaWRlIG9mIHByb21vdGlvbiBjb250YWluZXIuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCB0ZXh0ZGIpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgdGV4dGRiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBmb3IgZm9vdGVyIGxvZ29cclxuICAgIC5mb290ZXItbG9nby1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGxvZ28tY29udGFpbmVyKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGxvZ28tY29udGFpbmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBmb3IgY29udGFjdCBkZXRhaWxzICggdGVsZXBob25lIC8gZW1haWwgKVxyXG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGNvbnRhY3QtZGV0YWlscykpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBjb250YWN0LWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgdXNlZCBpbiB0aGUgcHJvbW90aW9uIGNvbnRhaW5lciB0byBjYXRhZ29yaXNlIHRoZSBzb2NpYWwgbWVkaWEgaWNvbnMsIG1haWxpbmcgbGlzdCAmIGNtcyBlbnRyeS5cclxuLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyB7XHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgLy8gQ01TIGhlYWRpbmcuXHJcbiAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCkpIHtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpO1xyXG4gICAgfVxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28tbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1tYXJnaW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLy8gTGV2ZXJhZ2luZyB0aGUgc2FtZSBzdHlsZXMgZm9yIGNvbnRhY3QgZW1haWwgJiB0ZWxlcGhvbmUgaW4gdGhlIGhlYWRlciAoIGkuZSB0aGUgaWNvbnMgKS5cclxuICAgIHVsLm1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJGZvb3Rlci1yZXZlYWwtYnV0dG9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1wYWRkaW5nLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1ib3JkZXItY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtc2l6ZSwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXdlaWdodCwgKHdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoKSwgbW9iaWxlLXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoKSksIDAsIGZsZXgsICRmb290ZXItbWFpbGluZy1saXN0LWljb24tY29uZmlnKTtcclxufVxyXG5cclxuLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgIC8vIFRleHRkYiBoZWFkaW5nLlxyXG4gICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gVGV4dGRiIG11bHRpLWxpbmUgY29sb3VyLlxyXG4gICAgJHRleHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItbWFpbGluZy1saXN0LXRleHQtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUZXh0ZGIgZW50cnkuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3VyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItbWFpbGluZy1saXN0LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIEF0dGVtcHRpbmcgdG8ga2VlcCBzcGFjaW5nIGNvbnNpc3RlbnQgd2l0aCBmb290ZXIgbWVudS5cclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE1haWxpbmcgbGlzdCBpbnB1dC5cclxuICAgIHNwYW4ubWFpbC1pbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG4gICAgLy8gTWFpbGluZyBsaXN0IGZvcm0uXHJcbiAgICBmb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmcge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyLWluY2x1ZGUtYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIGJ1dHRvbjpiZWZvcmUsICYgKyBidXR0b246ZW1wdHk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogdGhpcyB3aWxsIG5lZWQgZXh0ZW5kaW5nIGlmIHdlIHdhbnQgdG8gZnVuZGltZW50YWxseSBjaGFuZ2UgdGhlIGJvcmRlciBhcm91bmQgdGhlIGZpZWxkLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyLWluY2x1ZGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvcikge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSBzb2xpZCAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQtdG9wKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpICsgKCRmb290ZXItbWFyZ2luLXRvcCAvIDIpKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpICsgJGZvb3Rlci1tYXJnaW4tdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtI3tpZigkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUsIChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSArICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSksIG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpKX07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtdXJsLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLSN7aWYoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplLCAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkgKyAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUpLCBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSl9O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC11cmwsIGxhcmdlKSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBUQkMuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICBAaWYgbm90ICgkZm9vdGVyLWJhY2tncm91bmQgYW5kICRmb290ZXItYmFja2dyb3VuZC10b3ApIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLWJhY2tncm91bmQtbWFyZ2luLXRvcDtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICBAaWYgJGZvb3Rlci1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGZvb3Rlci1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20gb3IgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAje2lmKCRmb290ZXItbGlzdC1yZXZlcnNlLW9yZGVyLCBcInJvdy1yZXZlcnNlXCIsIFwicm93XCIpfTtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEFKQVggLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBBSkFYIFNwaW5uZXJcclxuLSBDYWxsYmFjayBjb250YWluZXJzXHJcbi0gVXBkYXRlIENvbnRlbnQgLSBCYXNpY2FsbHkgYSBjb250YWluZXIgaW5zaWRlIG9mIHRoZSBhamF4IHJlc3BvbnNlIHRoYXQgYWxsb3dzIHlvdSB0byB1cGRhdGUgY29udGVudCBvdXRzaWRlIG9mIHRoZSBjYWxsYmFjayBjb250YWluZXIuXHJcbiovXHJcblxyXG5cclxuLy8tLS0tLSBBSkFYIGJsb2NrIC0tLS0tXHJcbi5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIEFkZCBmbGV4LWdyb3cgZm9yIGFqYXgnZCBpbiBmb3JtIGluIGEgbW9kYWwuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyBJTVBPUlRBTlQ6IERvbnQgYWRkIHotaW5kZXggcHJvcGVydHkgYXMgdGhpcyBjbGFzcyBnZXRzIHVzZWQgYWxsIG92ZXIgdGhlIHNob3AgYW5kIHdpbGwgY2F1c2Ugb3ZlcmxhcHBpbmcgaXNzdWVzIHdpdGggb3RoZXIgY29udGVudCAoIGkuZSBwcm9kdWN0IGxpc3RzIHF1YW50aXR5IGRyb3AgZG93bnMgKS5cclxuICAgIC8vIEFkZGluZyB6LWluZGV4IGFqYXggbW9kYWxzIHRvIG1ha2Ugc3VyZSB0aGV5IG92ZXJsYXAgYWxsIHBhZ2UgY29udGVudC5cclxuICAgIC8vIHotaW5kZXg6IDE5OTk7XHJcbiAgICAmOmhhcyguQUpBWEJsb2NrKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNhbGxiYWNrTGlzdENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLy8tLS0gU3Bpbm5lciAtLS1cclxuXHJcbi5BSkFYQmxvY2ssIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS1ibG9jay1iYWNrZ3JvdW5kO1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbiAgICAuc3Bpbm5lciB7XHJcbiAgICAgICAgd2lkdGg6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyB0b3A6IDA7XHJcbiAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGVudC1sb2FkaW5nLXNwaW5uZXIoJGFqYXgtc3Bpbm5lci1jb2xvdXIpO1xyXG4gICAgICAgICYgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIFVwZGF0ZSBjb250ZW50IC0tLS0tIFxyXG5bZGF0YS11cGRhdGUtY29udGVudF0sIFtkYXRhLWFqYXgtdXBkYXRlLWJyZWFkY3J1bWJzXSB7XHJcbiAgICAvLyBUaGlzIHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIGRpc3BsYXkgbm9uZSB0byBwcmV2ZW50IHRoZSBuZXcgY29udGVudCBmbGFzaGluZyBpbmZyb250IHRoZSBvZiB0aGUgdXNlciBiZWZvcmUgaXQgaXMgbW92ZWQgaW50byBwbGFjZS5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKlxyXG4tLS0tLSBGaWx0ZXJzIC0tLS0tLSBcclxuLSBUaGVzZSBhIHR5cGljYWxseSBvbiBsaXN0IHBhZ2VzIGZvciBwcm9kdWN0cy5cclxuLSBBdHRyaWJ1dGUgZmlsdGVycyB0aGF0IGFsc28gaW5jbHVkZSBjb2xvdXIgZmlsdGVycyBhbmQgcHJpY2Ugc2xpZGVyLlxyXG4tIFlvdSB3aWxsIGFsc28gZmluZCB0aGUgbW9iaWxlIHN0eWxlcyBoZXJlIGZvciBmaWx0ZXJzLlxyXG4qL1xyXG5cclxuXHJcbi8vIFRPRE86IFRoaXMgbmVlZHMgdG8gYmUgcmVmYWN0b3JlZCBpbnRvIHRoZSB2YXJpYWJsZXMuc2Nzcy5cclxuJGZpbHRlckRlc2t0b3BXaWR0aDogMTg1cHg7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkTGlua1dlaWdodDogNDAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdQYWRkaW5nOiAxMHB4IDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0NvbG91cjogJGNvbG91cjQ7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0JhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdXZWlnaHQ6IDYwMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRBbmNob3JDb2xvdXI6ICRjb2xvdXIyO1xyXG4kYXR0cmlidXRlQXBwbGllZEFuY2hvckNvbG91ckhvdmVyOiAkY29sb3VyNDtcclxuJG9wdGlvbkhlYWRpbmdDb2xvdXI6ICRjb2xvdXI0O1xyXG4vLyAkYXR0cmlidXRlQ29sb3VyUHJldmlld1Bvc2l0aW9uVG9wOiAwO1xyXG4vLyAkYXR0cmlidXRlQ29sb3VyUHJldmlld1Bvc2l0aW9uUmlnaHQ6IDEwcHg7XHJcbiRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3Qm9yZGVyUmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zOiAxMHB4O1xyXG4kYXR0cmlidXRlRmlsdGVyV2lkdGg6IDgwcHg7XHJcbiRhdHRyaWJ1dGVPcHRpb25QYWRkaW5nOiAxMHB4IDA7XHJcblxyXG5cclxuI21vYmlsZVRvZ2dsZUNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ly8gbWFyZ2luOiAwIDAgMTVweDtcclxuXHR1bCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcbn0gIFxyXG5cclxuLy8gSU1QT1JUQU5UOiBUaGlzIHdhcyBidWlsZCBzcGVjaWZpY2FsbHkgaW4gdGhlIGNvbnRleHQgb2YgcHJvZHVjdC1saXN0J3Mgd2hpY2ggb25seSBnb3Qgc2hvd24gaW4gbW9iaWxlIGFuZCB3YXMgbGF0ZXIgXCJhZGFwdGVkXCIgdG8gZml0IGludG8gdGhlIGRlc2t0b3AgdmlldyBpbiB0aGUgc29ydGluZyBvcHRpb25zIGJhci5cclxuI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmc6IDIwcHggMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHRmb250LXdlaWdodDogJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXdlaWdodDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC1zaXplKTtcclxuXHRmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuXHRAaWYgKCRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZykge1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6ICRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZztcclxuXHR9XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHdpZHRoOiBmaXQtY29udGVudDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0Y29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Jjpub3QoLmlzLXN0dWNrKSB7XHJcblx0XHQvLyBPdmVycmlkZSB0aGUgc3RpY2t5IHBvc2l0aW9uaW5nIHdoZW4gbm90IHN0dWNrICM4MTExMzcuXHJcblx0XHR0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuXHR9XHJcblx0Ji5pcy1zdHVjayB7XHJcblx0XHQvLyBPdmVycmlkZSB0aGUgc3RpY2t5IHBvc2l0aW9uaW5nIHdoZW4gbm90IHN0dWNrICM4MTExMzcuXHJcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCBzdHVjayk7XHJcblx0XHRib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgNHM7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWx0ZXIpO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uKTtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGNvbG9yOm1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4OyAvLyBkZXNjcmVhc2luZyBzaXplIGFzIHRoaXMgd2FzIGtub2NraW5nIG90aGVyIHNvcnRpbmcgb3B0aW9uJ3MgdGV4dCBvdXQgb2YgYWxpZ25tZW50LlxyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmhvdmVyIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcclxuXHRcdG1hcmdpbi1yaWdodDogM3B4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHQkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTogMTVweDtcclxuXHRcdFx0d2lkdGg6ICRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplO1xyXG5cdFx0XHRoZWlnaHQ6ICRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0bGVmdDogMTJweDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAoJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemUgLSAuOCk7IC8vIFN1YnRyYWNrIHRoZSBib3JkZXIuXHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdGJvcmRlcjogLjhweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxufVxyXG5cclxuLmZpbHRlcnMtaGVhZGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaGVhZGluZy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvcjtcclxuXHRAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdH1cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsIHJnYmEoJGNvbG91cjQsIDAuOCkpO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG4uZmlsdGVycy1mb290ZXIge1xyXG5cdC8vIE9ubHkgc2hvdyBmb3IgbW9iaWxlIGR1ZSB0byBwb3B1cC5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHQuYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuI2ZpbHRlckJhY2tUb0xpc3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiBhdXRvO1xyXG5cdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNCk7XHJcblx0XHRjb2xvcjogJGNvbG91cjI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgXHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuXHR9XHJcbn1cclxuLmF0dHJpYnV0ZUxpc3QubWVudSB7XHJcbiAgICAvL0lmIHRoZSBvdmVyZmxvdyBzY3JvbGwgZnVuY3Rpb24gaGFzIGJlZW4gYWN0aXZlIGFuZCB0aGUgcGFyZW50IGxpIGlzIG5vdCBhY3RpdmUgZm9yY2UgdGhlIGF0dHJpYnV0ZSB0byBjbG9zZS5cclxuICAgID4gdWwgPiBsaTpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgIC5hdHRyaWJ1dGVzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHR9XHJcblx0PiBsaSB7XHJcblx0XHRtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luO1xyXG5cdFx0cGFkZGluZzogMCAwIDE1cHg7IFxyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW46IDAgMCAkZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW47XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0XHR9XHJcblx0XHRsaSB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG4gICAgdWwge1xyXG5cdFx0Ly8gcGFkZGluZzogMTVweCAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHRcdH1cclxuXHRcdGxpIHsgXHJcblx0XHRcdHBhZGRpbmc6IDVweCAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgICAgIGxpLmFjdGl2ZSB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXIyO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHR9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAvLyBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyTmFtZSwgLmZpbHRlckl0ZW1Db3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5jb2xvdXJQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAoJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zICogMS4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zICogMS4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmZpbHRlck5hbWUge1xyXG5cdFx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG5cdFx0fVxyXG5cdFx0LmNvbG91ci1wcmV2aWV3LWNvbnRhaW5lciB7XHJcblx0XHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdFx0b3JkZXI6IDM7XHJcblx0XHR9XHJcblx0XHQuY29sb3VyUHJldmlldyB7XHJcblx0XHRcdHdpZHRoOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aDtcclxuXHRcdFx0aGVpZ2h0OiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1oZWlnaHQ7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMTBweCAwIGF1dG87XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlci1yYWRpdXM7XHJcblx0XHRcdGJvcmRlcjogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0XHQuZmlsdGVySXRlbUNvdW50IHtcclxuXHRcdFx0Ly8gbWF4LXdpZHRoOiAyNXB4O1xyXG5cdFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdFx0b3JkZXI6IDI7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgNXB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR9XHJcblx0XHQuY29udHJvbCAuY2hlY2tib3gge1xyXG5cdFx0XHQvLyBBZGQgbWFyZ2luIHJpZ2h0IHRvIGxpbmUgdXAgd2l0aCBtZW51IGNoZXZyb25zLlxyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRvcmRlcjogNDtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcblx0LmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW0ge1xyXG5cdFx0JlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pcy1hY2NvcmRpb24tc3VibWVudSB7XHJcblx0XHQvLyBoZWlnaHQ6IDEwMCU7XHJcblx0XHQvLyB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdCZbYXJpYS1oaWRkZW49dHJ1ZV0ge1xyXG5cdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0Ji5zY3JvbGxlciB7XHJcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcblx0XHRcdC8vIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdC8vSWYgdGhlIHNjcm9sbCBjbGFzcyBpcyBhcHBsaWVkIHRoZW4gZm9yY2UgdGhlIHN1YiBtZW51IHRvIGRpc3BsYXkuXHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vcHRpb25IZWFkaW5nIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6ICRmaWx0ZXJzLW9wdGlvbi1wYWRkaW5nO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdH1cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zdWJtZW51IHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdC5zaG93TW9yZUF0dHJpYnV0ZXMsIC5zaG93TGVzc0F0dHJpYnV0ZXMge1xyXG5cdFx0JiA+IGEge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRnYXA6IDAgMTBweDtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtd2VpZ2h0O1xyXG5cdFx0XHRmb250LXN0eWxlOiAkZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXN0eWxlO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIHtcclxuXHRhIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtZm9udC1zaXplKTtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWhvdmVyLWNvbG91cjtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5zaG93TGVzc0F0dHJpYnV0ZXMge1xyXG5cdGEge1xyXG5cdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG5cdFx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxufVxyXG5cdFxyXG4jZmlsdGVycy1jb250YWluZXIge1xyXG5cdC8vIGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0fVxyXG5cdCYuYWN0aXZlIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHRvdmVyZmxvdy15OiBzY3JvbGw7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuYWN0aXZlLXVwZGF0aW5nIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHQjZmlsdGVycy1jb250YWluZXIge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuMztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmFjdGl2ZSwgJi5hY3RpdmUtdXBkYXRpbmcge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFxyXG5cdFx0XHR6LWluZGV4OiAxMDAwMDtcclxuXHRcdFx0LmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdzogc2Nyb2xsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHJcblx0aDIge1xyXG5cdFx0Ly9tYXJnaW46IDVweCAwIDMwcHg7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDVweDtcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtaGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCA1cHg7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdHVsIGxpe1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHQvLyBPdmVycmlkaW5nIGRlZmF1bHQgc3R5bGluZyBmb3IgbWVudXMuXHJcblx0XHQmOmFjdGl2ZSwgJjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUgYSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyMy02O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdGxpIHtcclxuXHRcdFx0Ly8gT3ZlcnJpZGUgZGVmYXVsdCByZXNwb25zaXZlIG1lbnUgc3R5bGluZy5cclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4vLyBBcHBsaWVkIGZpbHRlcnNcclxuI2FwcGxpZWRGaWx0ZXJzIHtcclxuXHQvLyBtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdC8vIG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzVweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nUGFkZGluZztcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0JhY2tncm91bmQ7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtc3R5bGU6ICRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXN0eWxlO1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHR9XHJcblx0bGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiA1cHggMCAwO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWhvdmVyLWNvbG91cjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodCAtIDIwMCk7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJ3gnO1xyXG5cdFx0XHR3aWR0aDogMTBweDtcclxuXHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IDVweDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMC42O1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1pY29uLWNvbG91cjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodCArIDEwMCk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDIpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgNCk7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5jbGVhci1hbGwtYXR0cmlidXRlcyB7XHJcblx0XHRcdG1hcmdpbjogMzBweCAwIDIwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodDtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hbGwtY29sb3VyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gR290IHRvIGNvbnN0cnVjdCB0aGUgc2VsZWN0b3IgaW4gdGhpcyBtYW5vciBkdWUgdG8gZm91bmRhdGlvbidzIHN0eWxlcy5cclxuaW5wdXQucHJpY2Utc2xpZGVyLWlucHV0IHtcclxuXHRAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG5cdH1cclxufVxyXG5cclxuLnByaWNlLXNsaWRlci1pbnB1dCB7XHJcblx0bWF4LXdpZHRoOiAkZmlsdGVycy1wcy1pbnB1dC13aWR0aDtcclxuXHRtYXgtaGVpZ2h0OiAkZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ7XHJcblx0Ly8gT3ZlcnJpZGUgZGVmYXVsdCBwYWRkaW5nLlxyXG5cdHBhZGRpbmc6IDAhaW1wb3J0YW50O1xyXG5cdC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBtYXJnaW4gZm9yIGN1cnJlbmN5IG91dHB1dC5cclxuXHRib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAhaW1wb3J0YW50O1xyXG5cdC8vIERJU0FCTElORyBGUkVFIFRFWFQgSU5QVVQgV0lMTCBJTVBMRU1FTlQgSU4gUEhBU0UgMi5cclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHQmLnVpLXN0YXRlLWFjdGl2ZSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0Ji51aS1zdGF0ZS1hY3RpdmUgKyAuY3VycmVuY3kge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyO1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdC8vIFN0eWxlIHRoZSBjdXJyZW5jeSBzeW1ib2wuXHJcblx0JiArIC5jdXJyZW5jeSB7XHJcblx0XHRoZWlnaHQ6ICRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMCAwIDAgMTBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcblx0XHRAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6Zm9jdXMgKyAuY3VycmVuY3kge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdGJveC1zaGFkb3c6IC0xNXB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdCY6cmVhZC1vbmx5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdH1cclxufVxyXG5cclxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0JjpudGgtb2YtdHlwZSgyKSB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG59XHJcblxyXG4jcHJpY2Utc2xpZGVyIHtcclxuXHRtYXgtd2lkdGg6IDk2JTtcclxuXHRtYXJnaW4tdG9wOiAyNXB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdG1heC13aWR0aDogOTMlO1xyXG5cdH1cclxufVxyXG4jcHJpY2VBdHRIaWdoIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcbn0iLCIvKlxyXG4tLS0tLSBNb2RhbHMgLS0tLS0tIFxyXG4tIFRoaXMgaXMgdGhlIG1lY2hhbmlzbSB0aGF0IGdldHMgdXNlZCBmb3IgcG9wdXAgY29udGVudCBpbiBleHByZXNzLlxyXG4tIENhbiBiZSB1c2VkIHRvIHBvcCBmb3JtLCBjbXMgY29udGVudCwgbm90aWZpY2F0aW9uICYgcGF5bWVudCBmcmFtZXMuXHJcbiovXHJcblxyXG5cclxuQG1peGluIHBheW1lbnQtZnJhbWUtY29udGVudC1jb250YWluZXIoKSB7XHJcbiAgICBtYXgtd2lkdGg6ICRwYXltZW50LWZyYW1lLXBvcHVwLW1heC13aWR0aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgYWN0dWFsIGNvbnRlbnQuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgLy8gRm9yY2UgY29udGVudCB0byB0YWtlIHVwIGF2YWxpYmxlIHNwYWNlIG90aGVyd2lzZSBjb250ZW50IGNvbnRhaW5lciBjaGFuZ2VzIHNpemUgd2hlbiBmb3JtIHZhbGlkYXRpb24gaXMgdHJpZ2dlcnMuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy9mbGV4LXNocmluazogMTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDMwcHg7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAvLyBBZGQgYSBiaXQgb2YgYnJlYXRoaW5nIHJvb20gaW4gbW9iaWxlLlxyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAvLyBNYWtlIHN1cmUgbW9kYWwgaXMgYWJvdmUgYWxsIGNvbnRlbnQuXHJcbiAgICAgICAgei1pbmRleDogJG1vZGFsLWNvbnRlbnQtei1pbmRleDtcclxuICAgICAgICAucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWpheCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcHBlZC1zZXNzaW9uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoKSArIDEwMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNtcy1lbnRyeS12aWV3ZXIge1xyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaXRlLWxpc3Qge1xyXG4gICAgICAgICYucHVibGlzaC1oaXN0b3J5IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtaW5mb3JtYXRpb24ge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRvY3VtZW50YXRpb24ge1xyXG4gICAgICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICRjb2xvdXIzO1xyXG4gICAgICAgICYuZW50cnktZWRpdG9yIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTglO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1vZGFsLWhlYWRlcjpoYXMoLmNtcy1jb250ZW50LWNvbnRhaW5lcikgfiAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBLZWVwIGNvbnRlbnQgaW5saW5lIGNtcyBjb250ZW50LlxyXG4gICAgICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7c3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpICogMn0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyLCBsYXJnZSkgKiAyfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNrLWVkaXRvcl9fbWFpbiA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWVkaXRvci1oZWlnaHQpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYXJ0aWNsZSwgJi5pbnNlcnQsICYucHJvcGVydHktZWRpdG9yIHtcclxuICAgICAgICAgICAgLmNrLWVkaXRvciB7XHJcbiAgICAgICAgICAgICAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1lZGlhLWJyb3dzZXIge1xyXG4gICAgICAgIC5tZWRpYS1icm93c2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc29mdHdhcmUtZG93bmxvYWQge1xyXG4gICAgICAgIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgLnJldmlzaW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHZoO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgaW5saW5lIHN0eWxpbmcgdG8gcHJldmVudCBob3Jpem9udGFsIHNjcm9sbCBiYXIgYXMgdGhpcyBzcGFjaW5nIGlzIGhhbmRsZSBieSBwYWRkaW5nIGluIGV4cHJlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDYwcHggMWZyIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIsIC5idXR0b24tbGFiZWwsIC5idXR0b24tY29udGVudC1jb250YWluZXIsIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2Z0d2FyZS11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvZnR3YXJlLXJlbGVhc2UtZGF0ZS10aW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheW1lbnQsICYuYWRkLW5ldy1jYXJkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwYXltZW50LWZyYW1lLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHsgXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6ICRwYXltZW50LWZyYW1lLW1heC13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVucXVpcnktZm9ybSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIgIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFuIGF0dGVtcHQgdG8gbWFrZSB0aGlzIHNsaWdodGx5IG1vcmUgcmVwc29uc2l2ZS5cclxuICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYm9yZGVyIHRvIG91dGxpbmUgdGhlIHNjcm9sbGFibGUgYXJlYS5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQWRkaW5nIGZhaW50IGluc2V0IGJveC1zaGFkb3cgdG8gYXR0ZW1wdCB0byBzaG93IGVkaXRhYmxlIGFyZWEgZHVlIHRvIGFjY2Vzc2libGl0eSBjb25jZXJucy5cclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA4MHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5icmFuY2gtc3dpdGNoZXIsIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLmFjY291bnQtc3dpdGNoZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTMtbWFyZ2luLCAzLCBcInByZXNldC0yXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAuY3VycmVudC1hY2NvdW50LWRldGFpbHMge1xyXG4gICAgICAgICAgICAuYWRkcmVzcy1saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGh9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAmLmZvcm0ge1xyXG4gICAgICAgIC8vIEdlbmVyYWxpc2luZyB0aGVzZSBzdHlsZXMgdG8gYmUgdXNlZCBmb3IgYWxsIGZvcm0gbW9kYWxzIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICAvLyAmLnNvaC1ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgJi50YWJsZSB7XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDpmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCR1c2Vycy1wb3B1cC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzZXJzLXBvcHVwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c2Vycy1wb3B1cC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE1MDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWdldCgkdXNlcnMtcG9wdXAtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1zZWFyY2gtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0LWJyYW5jaGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFibGUtZm9vdGVyLXNwYWNlciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnJhbmNoLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHVzZXJzLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZvcmNlIGNlbnRlciBhbGlnbm1lbnQgZHVlIHRvIG1peGVkIGNvbnRlbnQgc28gYmFzZWxpbmUgaXMgbm90IGFuIG9wdGlvbiBoZXJlLlxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNDY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICYuc2Nhbm5lciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNDY1cHg7XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5jYWxsLWZvcm0ge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTUlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmlkZW8tcGxheWVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NXZ3O1xyXG4gICAgICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcbiAgICAgICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQ6IDIwcHg7XHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC5tb2RhbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgLy8gV29yayBvdXQgc3BhY2UgcmVxdWlyZWQgZm9yIGNsb3NlLWJ1dHRvbiB0byBtYWtlIHN1cmUgdGV4dCBkb2Vzbid0IGdvIHVuZGVyLlxyXG4gICAgICAgICAgICAkY2xvc2UtYnV0dG9uLXNpemU6ICgkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0ICsgJGljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4ICN7JGNsb3NlLWJ1dHRvbi1zaXplfTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggI3skY2xvc2UtYnV0dG9uLXNpemV9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2RhbC1oZWFkZXItY21zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZC1uby1jb250ZW50LCAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYWN0LWNoZWNrZXIoJGNvbG91cjYsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRkZWZhdWx0LWNvbG91ciwgJGhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgdG9wOiAjeygkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplIC8gMil9cHg7IC8vIFRyeWluZyB0byBiZSBjbGV2ZXIgdGhlIGZvbnQtc2l6ZSBjaGFuZ2VzIGZyb20gc2l0ZSB0byBzaXRlLlxyXG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb25maXJtYXRpb24gbW9kYWxzICggU3VjY2VzcywgV2FybmluZyAmIEFsZXJ0IClcclxuICAgICYuY29uZmlybWF0aW9uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogKCRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmcgLyAzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBCZWNhdXNlIHdlJ3JlIG9ubHkgc2hvd2luZyBhIG1lc3NhZ2UgYW5kIHRoYXRzIHRoZSBlbnRpcmUgcHVycG9zZSBvZiB0aGlzZSBtb2RhbCB0ZWxsIGl0IHRvIHRha2UgdXAgdGhlIGVudGlyZSB3aWR0aC5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAgMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBsaWtlIGEgaGFsZiB3YXkgYmV0d2VlbiBzdWNjZXNzIGFuZCB3YXJuaW5nLlxyXG4gICAgJi5hY3Rpb24tcmVxdWlyZWQge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3VjY2Vzcy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIERlbW8gcG9wdXAuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTE1cHggMTM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7IC8vIENoYW5naW5nIHRvIHByaW1hcnkgYmFzZSBhcyBiYXJlbHkgYW55IGVsZW1lbnRzIHdhcyB1c2luZyA0LTcsIHRyeWluZyB0byBzaW1wbGlmeSB0aGUgdXNlIG9mIGV4cHJlc3MncyBjb2xvdXIgcGFsbGV0ZS5cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODg1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZGFsLWxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTM1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTM1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS1zbG90LTEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXNsb3QtMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFuKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTM1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1vZGFsIEluZm9ybWFpdG9uIC0tLS0tIFxyXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggZm9ybXMuXHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLy8gVHJ5IGFuZCBrZWVwIGNvbnNpc3RlbnQgd2l0aCBmaWVsZHNldHMuXHJcbiAgICAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XHJcbiAgICAgICAgLy8gRHVlIHRvIHRoZXNlIGNvbnRhaW5lcnMgaGF2ZSBzdHJpbmdzIHRoYXQgYXJlIG5vdCBsb25nIGZvcmNpbmcgd2lkdGggdG8gYmUgODB2dy5cclxuICAgICAgICBtaW4td2lkdGg6IDgwdnc7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgICAgIC8vIFJlLWFkanVzdGluZyB0aGUgcGFkZGluZyB0byBhY2NvdW50IGZvciBhIHJ1bGUuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggZm9ybSBmaWVsZHMuXHJcbiAgICAuaW5mb3JtYXRpb24tb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEluamVjdGVkIGNvbnRlbnQgLS0tLS1cclxuLy8vIFRoZSBjb250YWluZXIgb2YgdGhlIGNvbnRlbnQuIFxyXG4uaW5qZWN0LWNvbnRlbnQge1xyXG4gICAgLy8gVGhpcyBpcyBmb3IgY29udGVudCB0aGF0IGlzIGluIGEgZm9ybSB0aGF0IGdldHMgaW5qZWN0ZWQgaW50byBhIG1vZGFsIHRoZW4gYmFjayBpbnRvIHRoZSBmb3JtIGZvciBzZXJpYWxpc2F0aW9uLlxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4vLyBUaGUgY29udGFpbmVyIGluIHRoZSBtb2RhbC5cclxuW2luamVjdC1jb250YWluZXJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIC8vIE1pbiBoZWlnaHQgdG8gc2hvdyBhamF4IHNwaW5uZXIgaWYgdGhlcmUgaXMgbm8gY29udGVudC5cclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgLy8gQWRkIGZsZXhib3ggbGF5b3V0IGZvciBmb3Jtcy5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpoYXMoZGl2LkFKQVhCbG9jaykge1xyXG4gICAgICAgIG1pbi13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDY0MHB4XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gdGhlIHJpZ2h0IHRvIGFjY291bnQgZm9yIGEgc2Nyb2xsIGJhci5cclxuICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSW5qZWN0IG1vZGFsIGJ1dHRvbi5cclxuLmluamVjdC1idXR0b24ge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBkZWZhdWx0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gRG9uJ3QgYXBwbHkgdW5kZXJsaW5lIGFzIHRoaXMgZG9lc24ndCB3b3JrIHdlbGwgd2l0aCBpY29ucy5cclxuICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJi5mb3JtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIDUwcHggbWFyZ2luLXJpZ2h0IHRvIGFsbG93IGZvciByZWFkLW9ubHkgaWNvbi5cclxuICAgICAgICAgICAgbWFyZ2luOiAwIDUwcHggMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvY2VlZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIE1vZHVsZXMgLS0tLS1cclxuVGhlc2UgY2FuIGJlIHVzZWQgYW55d2hlcmUgb24gdGhlIHNpdGUgaGVhZGVyLCBtYWluIGNvbnRlbnQgJiBmb290ZXIsIHRoZXNlIGhhdmUgYSBoYXJkIGRlcGVuZGFuY3kgb24gZm91bmRhdGlvbiBYWSBncmlkIHN5c3RlbSBmb3IgdGhlaXIgcG9zaXRpb25pbmcuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUHJvZHVjdCAvIEltYWdlIGNvbGxlY3Rpb25zXHJcbiAgLSBHcmlkIHZpZXdcclxuICAtIFNsaWRlc2hvdyB2aWV3XHJcbi0gVmFyb3VzIENNUyB0eXBlczpcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gR2VuZXJpYyBDTVMgZW50cmllcyBcclxuLSBFQkcgSW5mb3JtYXRpb25cclxuLSBCYWNrZ3JvdW5kcyAoIEN1cnJlbnRseSBvbmx5IHN1cHBvcnQganVzdCBjb2xvdXJzIG5vdCBpbWFnZXMgKTogXHJcbiAgLSBSb3cgQmFja2dyb3VuZHMgXHJcbiAgLSBNb2R1bGUgQmFja2dyb3VuZHNcclxuKi9cclxuXHJcbi8vIFN0eWxpbmcgZm9yIHRlbXBsYXRlIG1vZHVsZXMgKCBDYXJvdXNlbHMgJiBjbXMgdGV4dCApICsgcm93IGJhY2tncm91bmRzLlxyXG5cclxuLy8gLnJvdy1iYWNrZ3JvdW5kIHtcclxuLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuLy8gICAgICYucm93LXBhZGRpbmcge1xyXG4vLyAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1vZHVsZXMtcm93LXBhZGRpbmcsIHNtYWxsKSAwOyBcclxuLy8gICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1vZHVsZXMtcm93LW1hcmdpbiwgc21hbGwpO1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbW9kdWxlcy1yb3ctcGFkZGluZywgbGFyZ2UpO1xyXG4vLyAgICAgICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1vZHVsZXMtcm93LW1hcmdpbiwgbGFyZ2UpO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gQXMgdGhhdCBpcyBtb3JlIHRoYW4gbGlrZWx5IG1hcmdpbiBvbiB0aGUgYWJvdmUgZWxlbWVudCB3ZSBkb24ndCBuZWVkIHRvIGFkZCBhIG1hcmdpbiB0b3AgdG8gdGhlIGZpcnN0IG1vZHVsZS5cclxuQGlmICgkbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3ApIHtcclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDMsIHNtYWxsKVxyXG4gICAgfVxyXG4gICAgJi5jb250YWluZXItcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgc21hbGwpIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMywgbGFyZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0je3NwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIGxhcmdlKX07IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgYm9yZGVyOiAkbW9kdWxlLWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgIC8vIFN1cHByZXNzIGNtcyBjb250ZW50IHBhZGRpbmctdG9wIGR1ZSB0byBoZWFkaW5ncyBub3JtYWxseSBoYXZpbmcgdGhlIG1hcmdpbiBib3R0b20gYWxyZWFkeSBhcHBsaWVkLlxyXG4gICAgICAgICYgKyAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBJZiBtb2R1bGUgaGVhZGluZyBleGlzdHMgdGhlbiByZW1vdmUgcGFkZGluZy5cclxuLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICsgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBTZWxlY3RpbmcgaW5zaWRlIG9mIHRoZSBncmlkLWNvbnRhaW5lciBhcyB5b3Ugd2lsbCBtb3N0IGxpa2VseSBub3Qgd2FudCB0aGUgcmFkaXVzIGlmIHlvdSdyZSBmdWxsIHdpZHRoLlxyXG5AaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgLmdyaWQtY29udGFpbmVyIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1vZHVsZXMtbW9kdWxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2R1bGVzLXJvdy1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAvLyBGYWxsYmFjayBpZiBubyBtb2R1bGUgcGFkZGluZyBpcyBwcm92aWRlZC5cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAvLyB9XHJcbiAgICAmLm1vZHVsZS1wYWRkaW5nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3tzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBsYXJnZSl9OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2LjUlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5vIHRvcCBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTm8gYm90dG9tIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAvLyBObyB0b3AgKyBib3R0b20gZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLWJvdGgge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ29sbGVjdGlvbnMgLS0tLS0gXHJcbi5jb2xsZWN0aW9uIHtcclxuICAgIC8vIERlZmF1bHQgdG8gcHJvZHVjdCBhc3BlY3QgcmF0aW8sIG92ZXJyaWRlIGlmIG5lZWRlZC5cclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbGxlY3Rpb24gZ29lcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgY29udGFpbmVyICggcHJvZHVjdCBsaXN0IClcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJi5zaG93LWNvbG91cnMge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogKDVweCAtICgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aCAqIDIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcjogMS4zICFkZWZhdWx0O1xyXG5cclxuICAgIC8vIEd1dHRlciBjb25maWd1cmF0aW9uLlxyXG4gICAgJi5jb2xsZWN0aW9uLXJlbW92ZS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tc21hbGwtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tbWVkaXVtLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAjeyhtZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpIC8gJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3IpfTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAjeyhsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcikgLyAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcil9O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaW1hZ2UtZ3JpZC1tb2R1bGUsICYuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLy8gTG9vayBmb3IgaW5saW5lIHN0eWxlJ3MgZmlyc3QgYXMgYmFubmVyIGNhbiBiZSB1cGxvYWRlZCBpbiBhbGwgZGlmZmVyZW50IHNpemVzLCB0aGVuIGRlZmF1bHQgYmFjayB0byBhdXRvIGlmIG5vdGhpbmcgaXMgcHJvdmlkZWQuXHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTsgXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skZWJnLW1lZGlhLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24ncyBjZWxsIGNhbGN1bGF0aW9uIGluIGZhdm91ciBvZiBvdXQgb3duLlxyXG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIHRvIHVzZSB0aGUgZ3JpZCBsYXlvdXQgbW9kdWxlLlxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3JtdWxhIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGNvbHVtbiB3aWR0aHMgY29sbGVjdGlvbnMuXHJcbiAgICBAbWl4aW4gY29sbGVjdGlvbi1ncmlkLWNlbGwtY2FsY3VsYXRvcigkY291bnQpIHtcclxuICAgICAgICAvLyBUaGlzIGZvcm11bGEgaXMgYmFzZWQgb24gdGhpcyBzdGFjayBwb3N0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzcyMTE2MTcwL2FjY291bnQtZm9yLWdhcC13aGVuLWNhbGN1bGF0aW5nLWZsZXgtYmFzaXMuXHJcbiAgICAgICAgLy93aWR0aDogY2FsYygje3h5LWNlbGwtc2l6ZSgxIG9mICN7JGNvdW50fSl9IC0gdmFyKC0tbW9kdWxlLWd1dHRlciwgMHB4KSAvICRjb3VudCAqICgkY291bnQgLSAxKSk7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoI3t4eS1jZWxsLXNpemUoMSBvZiAkY291bnQpfSAtIHZhcigtLW1vZHVsZS1ndXR0ZXIsIDBweCkgLyAjeyRjb3VudH0gKiAoI3skY291bnR9IC0gMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvdyBtYW55IGNvbHVtbnMgZG8gd2Ugc3VwcG9ydCBmb3IgY29sbGVjdGlvbnM/XHJcbiAgICAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50OiA4O1xyXG5cclxuICAgIEBtaXhpbiBncmlkLWNvbHVtbi1jbGFzc2VzKCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgQGZvciAkY29sdW1uLWNvdW50IGZyb20gMSB0aHJvdWdoICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQge1xyXG4gICAgICAgICAgICAuI3skYnJlYWtwb2ludH0tdXAtI3skY29sdW1uLWNvdW50fSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skY29sdW1uLWNvdW50fSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNtYWxsIERldmljZXMgKCBQaG9uZXMgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3Nlcygnc21hbGwnKTtcclxuICAgIC8vIE1lZGl1bSBEZXZpY2VzICggVGFibGV0cyApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdtZWRpdW0nKTtcclxuICAgIC8vIExhcmdlIERldmljZSAoIERlc2t0b3BzICYgQWJvdmUgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3NlcygnbGFyZ2UnKTtcclxuXHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgdGFyZ2V0dGluZyBjb2xsZWN0aW9uIGltYWdlcyAoIHRoaXMgaW5jbHVkZXMgZ3JpZCdzIGFuZCBjYXJvdXNlbHMgKSB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2VzIGFzIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhlIHNpemUgb2YgZXh0ZXJuYWwgZGF0YSdzIGltYWdlcy5cclxuICAgIEBmb3IgJGNvbHVtbi1jb3VudCBmcm9tIDEgdGhyb3VnaCAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50IHtcclxuICAgICAgICAuc21hbGwtdXAtI3skY29sdW1uLWNvdW50fSwgW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbi1jb3VudH1cIl0ge1xyXG4gICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ3NtYWxsJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBub3QgKCRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdzbWFsbCcsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNldCBmaXQtY29udGVudCBhcyB0aGlzIGNhdXNlcyBzY2FsbGluZyBpc3N1ZXMgZm9yIGFwcGxlIGRldmljZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ3VycmVudGx5IGRvbid0IGRvIGFueXRoaW5nIGRpZmZlcmVudCBmb3IgbWVkaXVtIGRldmljZXMgKCB0YWJsZXRzICkgdG8gc21hbGwgZGV2aWNlIGJ1dCB0aGlzIG1heSBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cclxuXHJcbiAgICAgICAgLmxhcmdlLXVwLSN7JGNvbHVtbi1jb3VudH0sIFtieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW4tY291bnR9XCJdIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdsYXJnZScsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIG5vdCAoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdsYXJnZScsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gXHJcblxyXG4gICAgJi5zaG93LWNvbG91cnMge1xyXG4gICAgICAgIC8vIEFzIHRoaXMgY2FuIG9ubHkgYmUgRUJHIG9ubHkgc2VsZWN0IGViZyBjb2xsZWN0aW9uIGl0ZW1zLlxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIHtcclxuICAgICAgICAgICAgLy8gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXI0LCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcblxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGVzIGZvciBib3RoIGNvbXBhY3QgYW5kIG5vbi1jb21wYWN0IG1vZGVzLlxyXG4gICAgICAgICAgICAgICAgJi5jb21wYWN0LCAmOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jb21wYWN0LCAmOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBJbWFnZSBzcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIERvIHdlIHJvdW5kIGltYWdlIGNvbnRhaW5lciBlZGdlcz9cclxuICAgICAgICAkcm91bmQtaW1hZ2UtZWRnZXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBJZiB0aGUgY29udGFpbmVyIGhhcyB0aGUgaW1hZ2UgY2xhc3MgdGhlbiBwdXQgYSBib3JkZXIgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBjZWxsLlxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGVzIGlmIHRoZSBjdXJyZW50IGNvbnRhaW5lciBpcyBqdXN0IGZvciBhbiBpbWFnZSBvciB3aGV0aGVyIHRoZSBpbWFnZSBpcyBuZXN0ZWQuXHJcbiAgICAgICAgLmltYWdlLCAmLmltYWdlIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZC1pbWFnZS1lZGdlcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiBTZXR0aW5nIHRoaXMgZ2VuZXJpY2FsbHkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcclxuICAgICAgICAgICAgMS4gSWYgY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMgaXMgZW5hYmxlZFxyXG4gICAgICAgICAgICAyLiBJZiBpbWFnZSBzY2FsZSBpcyBlbmFibGVkLlxyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmltYWdlLCAmLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAvLyBUcmlhbGluZyB0aGlzIGZpeCB0byBiZSBhIGJpdCBtb3JlIHJlLWFjdGl2ZSB0byBjb2x1bW4gY291bnRzIGluIG1vYmlsZSBkZXZpY2Ugd2hlbiBzaG93aW5nIDIgY29sdW1ucyBvZiBpbmZvcm1hdGlvbiwgd2UgZG9uJ3QgZGVmaW5lIHRoZSBtb2JpbGUgY291bnQgc28gdGhlcmUgaXMgbm90aGluZyB0byBsYXRjaCBvbnRvIGluIHRoZSBET00gd2hpY2ggd291bGQgc3VnZ2VzdCAyIGNvbHVtbnMgYXMgdGhlIHdpZHRoIGFyZSBwcm9ncmFtYXRpY2FsbHkgd29ya2VkIG91dCBpbiB0aGUgSlMgYnkgZGl2aWRpbmcgdGhlIGRlc2t0b3AgY291bnQuXHJcbiAgICBbYngtY29sdW1uLWNvdW50PVwiNFwiXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSW1hZ2UgJiBQcm9kdWN0IGdyaWQgY29sbGVjdGlvbnMsIHRoaXMgZ2V0cyB1c2VkIGZvciBtb2R1bGVzIGFuZCBwcm9kdWN0IGxpc3RpbmcgcGFnZXMuXHJcbi5pbWFnZS1ncmlkLW1vZHVsZSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUsIC5jb2xsZWN0aW9uIHtcclxuICAgIC5ncmlkLWNvbGxlY3Rpb24teCB7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xyXG4gICAgICAgICAgICAvLyBVbnNldCBGb3VuZGF0aW9uJ3MgWFkgR3JpZCB3aWR0aCBpbiBmYXZvdXIgb2Ygb3VyIG93biBtb2R1bGUncyBncmlkIHN5c3RlbSB0aGF0IGlzIG5vdCBiYXNlZCBvbiBmbGV4Ym94LlxyXG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIFByb2R1Y3QgR3JpZCBDb2xsZWN0aW9uIC0tLVxyXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLCAncGFkZGluZycpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKGlmKCRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQsIHRydWUsIGZhbHNlKSwgdHJ1ZSk7XHJcbiAgICAvLyAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gICAgIC8vIEZvciBib3ggc2hhZG93LlxyXG4gICAgLy8gICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCk7XHJcbiAgICAvLyB9XHJcbn1cclxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIE1ha2luZyBhbiBhc3N1bXB0aW9uIHRoYXQgdGhlIGZpcnN0IGFuY2hvciBpcyBhbiBpbWFnZS5cclxuICAgICAgICA+IGE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIC8vIENlbnRlciBpbWFnZSBpbnNpZGUgb2YgYW5jaG9yIGp1c3QgaW4gY2FzZSB0aGUgaW1hZ2UgaXMgbm90IHRoZSBjb3JyZWN0IHNpemUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGFycmFuZ2VkIGxlZnQuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKGltZykpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmICgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCkge1xyXG4gICAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLCAucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgsIDIpID09IDAgYW5kIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgsIDMpICE9IDApIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBib3JkZXIgb24gdGhlIHNpemUgYnV0IGF0IHRoZSBib3R0b20gdGhlbiB5b3UgbW9zdCBsaWtlbHkgbmVlZCBhZGR0aW9uYWwgcGFkZGluZyB0byBwdXNoIHRoZSBydWxlIGF3YXkgZnJvbSB0aGUgY29udGVudC5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBJbWFnZSBHcmlkIENvbGxlY3Rpb24gLS0tIFxyXG4uaW1hZ2UtZ3JpZC1tb2R1bGUge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygyMHB4LCAncGFkZGluZycpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciAge1xyXG4gICAgICAgIC8vIEFkZGluZyB3aWR0aCBmaXQtY29udGVudCBpZiBib3JkZXIgaXMgYXBwbGllZCBvdGhlcndpc2UgYSBnYXAgUiArIEwgaXMgY3JlYXRlZCBpbiBtb2JpbGUgZHVlIHRvIG9ubHkgc3VwbHlpbmcgb25lIGltYWdlIHNpemUgZm9yIG1vYmlsZSAmIGRlc2t0b3AuXHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgIC8vICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciAge1xyXG4gICAgLy8gICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgIC8vICAgICAgICAgaW1nIHtcclxuICAgIC8vICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgICY6aG92ZXIge1xyXG4gICAgLy8gICAgICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAvLyAgICAgICAgICAgICBpbWcge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIENvbnRlbnQgTWFuYWdtZWVudCBNb2R1bGUgKCBDTVMgKSAtLS0tLVxyXG4uY21zLW1vZHVsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIFRha2UgdXAgYWxsIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaW1hZ2UtZ2FsbGFyeSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXlvdXR1YmUtdmlkZW8oKTtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgyKSA9PSB0cnVlLG5vbmUsdW5kZXJsaW5lKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMykgPT0gdHJ1ZSxub25lLHVuZGVybGluZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBAaWYgJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIC8vIFRha2UgdXAgYWxsIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cy1tb2R1bGUge1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cclxuICAgICAgICAgICAgJGNvbHVtbi13aWR0aDogKCRnbG9iYWwtd2lkdGggLyAyKSAtIChsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZykpIC0gbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluLWNvbnRlbnQsICRjb2x1bW4td2lkdGgpKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLW1vZHVsZSB7XHJcbiAgICAgICAgLy8gVG8gZm9yY2UgdGhlIGFkZGl0aW9uYWwgc3BhY2UgdGhhdCBub3JtYWxseSBvbmx5IGdldHMgYXBwbGllZCBpZiBtb2R1bGVzIGhhcyBhIGJhY2tncm91bmQuXHJcbiAgICAgICAgQGlmICRtb2R1bGVzLWJsb2cteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCkpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtb2R1bGVzLWJsb2cteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVbnNldCB0aGUgbWF4LWhlaWdodCBpZiB0aGVyZSBpcyBhIGJhbm5lciwgdG8gdGhlbiBtYXRjaCB0aGUgYmFubmVyJ3MgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgJHJlYWQtbW9yZS1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJHJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAvLyBBZGQgbWF4IGhlaWdodCB0byBjb250ZW50IG90aGVyd2lzZSBmYWRlIGVmZmVjdCB3aWxsIGJlIGluIHRoZSBvdmVyZmxvdy5cclxuICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJHJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBibG9nKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubmV3cy1tb2R1bGUge1xyXG4gICAgICAgIEBpZiAkbW9kdWxlcy1uZXdzLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRtb2R1bGVzLW5ldy1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1tb2R1bGUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXMgYSBydWxlIG9mIHRodW1iIGlmIHdlIGFsaWduIHRleHQgY2VudGVyIHdlIHNob3VsZCBqdXN0aWZ5IHRoZSBlbnRpcmUgY29udGVudCBhcyB3ZWxsLlxyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAtLS0gVGV4dCBhbGlnbm1lbnQgLS0tXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGV4dC1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRleHQtYWxpZ24tY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gLS0tIExheW91dCBTdHlsZXMgLS0tIFxyXG4gICAgICAgIC8vIENvbnRlbnQgYm90dG9tLCBpbWFnZSB0b3AuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXRvcCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLCAmLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBMZWZ0LCBpbWFnZSByaWdodC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBtaW4taGVpZ2h0OiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IFRvcCwgaW1hZ2UgYm90dG9tLlxyXG4gICAgICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBSaWdodCwgaW1hZ2UgbGVmdC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxheW91dC1zdHlsZSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgb2xkIHN0eWxlcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgLy8gVE9ETzogdGhpcyBuZWVkcyB0byBiZSByZWZhY3RvcmVkLlxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIHVzZXIncyB3b3VsZCB1cGxvYWQgaW1hZ2VzIHRoYXQgYXJlIHRvbyBiaWcgZm9yIHRoZSBjb250ZW50IGFyZWEgd2hpY2ggdGhlbiBjYXVzZXMgdGhlIGltYWdlIHRvIG92ZXJmbG93IHRoZSBjb250YWluZXIncyBib3VuZGFyaWVzLiA4NjUwNDJcclxuICAgICAgICAvLyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIC8vICAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICYuY29tcGFjdCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgZ3V0dGVyLlxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBsaXN0IHBhZGRpbmcgcnVsZXMgZHVlIHRvIGNhdXNpbmcgbGF5b3V0IG5vdCB0byBhYmlkZSBieSB0aGUgZmxleC1iYXNpcyBydWxlcyBpbnBsYWNlLCBiYXNpY2FsbHkgbmVzdGVkIHVsJ3Mgd2lsbCBjYXVzZSB0aGUgY29udGVudCB0byB0YWtlIHVwIHRvbyBtdWNoIHNwYWNlLlxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yaWdodC1hbGlnbmVkLCAmLmxlZnQtYWxpZ25lZCwgJi5jb21wYWN0IHtcclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBlbnRyeSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBlbnRyeSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhcyBhc3NvY2lhdGVkIGJhbm5lci5cclxuICAgICAgICAvLyAmLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgLy8gICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAvLyBCeSBkZWZhdWx0LlxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodC1hbGlnbmVkLCAmLmxlZnQtYWxpZ25lZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgNjAlO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yaWdodC1hbGlnbmVkIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sZWZ0LWFsaWduZWQge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJjpub3QoLmhhcy1pbWFnZSkge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIH1cclxuICAgICYuY29sdW1uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTA4MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5yb3ctaW52ZXJ0IHtcclxuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAvLyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAyOTBweDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYuNSU7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNvbHVtbi1pbnZlcnQge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzkwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIG5lZWRzIHRvIGdvIGFmdGVyIDgxNzEzOCBpcyBsaXZlLlxyXG4gICAgJjpub3QoLmNvbHVtbik6bm90KC5jb2x1bW4taW52ZXJ0KTpub3QoLnJvdy1pbnZlcnQpOm5vdCgubGF5b3V0LXN0eWxlKS5oYXMtaW1hZ2Uge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBpbiBJRSB0aGUgY29udGVudCBnb2VzIG91dCBvZiB0aGUgbW9kdWxlIHdpZHRoLlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAvLyBDYW5ub3Qgc3VwcHJlc3MgdGhpcyB3aXRob3V0IHVzaW5nIHRoZSBuZXcgbGF5b3V0LXN0eWxlIG9wdGlvbnMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAmOm5vdCgubGVmdC1hbGlnbmVkKSB7XHJcbiAgICAgICAgJi5oYXMtaW1hZ2Uge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi1pbnZlcnQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW1hZ2UgbWFuYWdlbWVudC5jYXJvdXNlbC1tb2R1bGVcclxuICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgICAgIFxyXG4gICAgICAgICAgICBwbGFjZS1jb250ZW50OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC8vIERvbnQgc2V0IGhlaWdodCAxMDAlIGFzIGl0IHdpbGwgY2F1c2UgbGFyZ2Ugc3BhY2VzIGJlbGxvdyAvIGFib3ZlIGZvciBBcHBsZSBkZXZpY2VzIGluIG1vYmlsZSB0aGlzIGlzIGFtcGxpZmllZCBkZXBlbmRpbmcgb24gaG93IG92ZXJzaXplZCB0aGUgdGhlIGltYWdlIGlzLlxyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7IC8vIFRoaXMgbmVlZHMgdG8gYmUgc2V0IGZvciBpZiB0aGUgY29uZmlndXJhdGlvbiBpbiBkZXNrdG9wIGRlY2lkZXMgdG8gdXNlIGNvbnRhaW4gaW5zdGVhZCBvZiBjb3Zlci5cclxuICAgICAgICAgICAgLy8gQmVjYXVzZSBJRSBkb2Vzbid0IGhhdmUgc3VwcG9ydCBmb3Igb2JqZWN0LWZpdC5cclxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIC8vIElFMTArXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgLy8gbWF4LWhlaWdodDogNzUlO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgLy9tYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAubW9kdWxlLW5hdmlnYXRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAvLyBmbG9hdDogbGVmdDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC5ibG9nLWJ1dHRvbiwgLm5ld3MtYnV0dG9uLCAuZXZlbnRzLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGRvZXNuJ3Qgd29yayBmb3IgMTIgY29sdW1uIG1vZHVsZXMsIHRoZXJlIGlzIEpTIGluIHBsYWNlIHRvIGRldGVjdCB3aGV0aGVyIGEgbW9kdWxlIGhhcyBiZWVuIGVxdWFsaXNlZC5cclxuLy8gVGhpcyBpcyB0byBwcmV2ZW50IGxvbmcgY21zIGVudHJpZXMgZnJvbSBkaWN0YXRpbmcgdGhlIGhlaWdodCBvZiB0d28gY2VsbHMgaS5lIHdoZW4geW91IGhhdmUgYSBjb2xsZWN0aW9uIHRvIHRoZSByaWdodCBhbmQgY21zIHRvIHRoZSBsZWZ0LCBvbmNlIGVxdWFsaXNhdGlvbiBoYXMgZmluaXNoZWQgdGhlIGNvbnRlbnQgaXMgcmUtZW5hYmxlZCBhbmQgdGhlIHJlYWQgbW9yZSBmYWRlIGlzIHRoZW4gYXBwbGllZCwgdGhlIG90aGVyd2F5IGFyb3VuZCB0aGlzIHdvdWxkIGJlIG5vdCB0byBwcm92aWRlIGFzIG11Y2ggbWFya3VwIGZyb20gYSBjbXMgZW50cnkgYnV0IHRoYXQgZ2V0cyBjb21wbGV4IGluIHRlcm1zIG9mIGdlbmVyYXRpbmcgaW52YWxpZCBIVE1MLlxyXG4vLyAubW9kdWxlLWJhY2tncm91bmQge1xyXG4vLyAgICAgJltkYXRhLWVxdWFsaXplci13YXRjaF06bm90KFtzdHlsZSo9XCJoZWlnaHRcIl0pIHtcclxuLy8gICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIHtcclxuICAgIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSB7XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDU5MHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA2LjUlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzBweDtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gTW9kdWxlIEJhY2tncm91bmRzIC0tLS0tIFxyXG4ucm93LWJhY2tncm91bmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gJjpmaXJzdC1vZi10eXBlIHtcclxuICAgIC8vICAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIC0tLSBQYWRkaW5nIGNvbmZpZ3VyYXRpb24gLS0tIFxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy10b3Age1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgLy8gTWFrZSBzdXJlIHRvIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGFzIHRoaXMgY2FuIGNhdXNlXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbik7XHJcbiAgICAvLyBSZW1vdmluZyBhcyBpdCB3YXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIG1vZHVsZSBjb25maWd1cmF0aW9uLlxyXG4gICAgLy8gei1pbmRleDogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgIH1cclxuICAgIC8vIFlvdSBkb250IG5lZWQgYXMgbXVjaCBhZGRpdGlvbmFsIHBhZGRpbmcgaWYgbm8gY29sb3VyIGlzIHNldC5cclxuICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIHtcclxuICAgICAgICAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgNCwgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCA0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksICYuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgIC8vIEFkZCBhIHNtYWxsIGd1dHRlciB0byB0aGUgcmlnaHQgKyBsZWZ0IHRvIGFsbG93IGZvciB0aGUgYmFja2dyb3VuZCB0byBibGVlZCBhcm91bmQgaXQuXHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAwLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMCwgbGFyZ2UpOyAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3Mgc2hhZG93IGFzIHRoaXMgZG9lc24ndCBsb29rIHZlcnkgZ29vZCBvbiBhbnl0aGluZyBvdGhlciB0aGFuIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kdWxlLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBDYXJvdXNlbCBNb2R1bGUgLS0tLS1cclxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIC8vIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICAmLmNhcm91c2VsLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgU3Vic2lkaWFyeSBNb2R1bGUgLS0tLS0gXHJcbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUge1xyXG4gICAgLnNlcmllcy1jYXJkIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gRG9udCBkbyB0aGlzIHVzZSBncmlkLW1hcmdpbi15IGluc3RlYWQuXHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMjVweDtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1wYWRkaW5nO1xyXG4gICAgICAgIGJvcmRlcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtYm9yZGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1zaXplO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICAgICBcclxuICAgIFxyXG59XHJcblxyXG4vLyAtLS0tLSBFQkcgSW5mb3JhbWF0aW9uIC0tLS0tXHJcbi5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtZnVsbC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtbm90ZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncm91cC1pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGluZyBNb2R1bGUgLS0tLS0gXHJcbi5wYWdlLWhlYWRpbmctbW9kdWxlIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luKTtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIG1hcmdpbi1ib3R0b20gdG8gYWxsb3cgZm9yIHJvdyArIG1vZHVsZSBzcGFjaW5nIHRvIGNvbnRyb2wgdGhlIGdhcC5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBEZWJ1ZyBkaXNwbGF5cyAtLS0tLSBcclxuLy8gLS0tIE1vZHVsZSBjb25maWcgLS0tIFxyXG4ubW9kdWxlLWNvbmZpZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBsaSwgc3Ryb25nLCBoMyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICBsaSwgc3Ryb25nIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBBcHBseSBtb2R1bGUgZWZmZWN0IHN0eWxlcywgdGhlc2Ugc2hvdWxkIGJlIG9wdGlvbmFsIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCBzdHlsZXMgKCBhYm92ZSApLlxyXG4vLyBDb21tb24gZWZmZWN0IHZhcmlhYmxlcyBzaGFyZWQgYWNyb3NzIGFsbCBtb2R1bGVzLlxyXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vIENvbW1vbiBzdHlsZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGVmZmVjdC5zXHJcbiAgICAmLmVmZmVjdC1zdHlsZSB7XHJcbiAgICAgICAgLy8gLS0tLS0gU3R5bGUgb3ZlcnJpZGVzIC0tLS0tXHJcbiAgICAgICAgLy8gRm9yIGNvbG91ciBvcHRpb25zIHBsZWFzZSByZWZlciB0byBnbG9iYWwgQ1NTIHZhcmlhYmxlcywgdGhlc2UgYXJlIGRlZmluZWQgaW4gdGhlIGdsb2JhbCBhcHAuc2Nzcy5cclxuXHJcbiAgICAgICAgLy8gLS0tIEJvcmRlciBPcHRpb25zIC0tLVxyXG4gICAgICAgIC8vIFJhZGl1cy5cclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDFweDtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtbWVkaXVtOiA1cHg7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiAyNSU7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLXhsYXJnZTogNTAlO1xyXG5cclxuICAgICAgICAvLyBXaWR0aCBodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2Nzc3JlZi9wcl9ib3JkZXItd2lkdGgucGhwLlxyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLXRoaW46IDFweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1saWdodDogMnB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLW1lZGl1bTogNXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLWJvbGQ6IDEwcHg7XHJcblxyXG4gICAgICAgIC8vIC0tLSBJbWFnZSBTY2FsaW5nIC0tLVxyXG4gICAgICAgIC8vIFJlZHVjZVxyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLXNtYWxsOiAuOTU7XHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2UtbWVkaXVtOiAuODA7XHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2UtbGFyZ2U6IC42MDtcclxuXHJcblxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgbWF5IG5lZWQgcmVmaW5pbmcgbGF0ZXIgb24gdG8gc3BlY2lmaWMgcHJvcGVydGllcy5cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbGxlY3Rpb24gKCBHcmlkICYgQ2Fyb3VzZWxzICkgc3BlY2lmaWMgZWZmZWN0cy5cclxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vIEVmZmVjdCBTdHlsZXMgKCBzcGVjaWFsIGVmZmVjdHMgb24gdGhpbmdzIGxpa2UgaW1hZ2VzIGJvcmRlciwgYm94LXNoYWRvd3MgKVxyXG4gICAgJi5pbWFnZS1ib3JkZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIHtcclxuICAgICAgICAvLyBGYWxsYmFjayByYWRpdXMuXHJcbiAgICAgICAgJHJhZGl1cy1mYWxsYmFjazogNTAlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAvLyBBZGQgaW5zZXQgc2hhZG93LlxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWx0ZXJhbnRpdmUgbWFya3VwICggYXMgaW1hZ2UgbW9kdWxlcyBtYXJrdXAgaXMgZGlmZmVyZW50IHRvIHByb2R1Y3QgKVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW52ZXJ0IGNlbGwgc2hhZG93IHNob3dzIHRoZSBib3gtc2hhZG93IGFzIGRlZmF1bHQgaW5zdGVhZCBvZiBvbiBob3ZlciwgdGhpcyBlc3NlbnRpYWxseSBkb2VzICRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQgb24gYSBtb2R1bGUgbGV2ZWwgaW5zdGVhZCBvZiBhIGdsb2JhbCBsZXZlbC5cclxuICAgICYuaW52ZXJ0LWNlbGwtc2hhZG93IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvcmNlIG9wYWNpdHkuXHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWR1Y2VzIHRoZSBpbWFnZSB3aGVuIHRoZSBjb250ZW50IGNvbnRhaW5lciBpcyBob3ZlcmVkLlxyXG4gICAgJi5yZWR1Y2UtaW1hZ2UtaG92ZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2UgYm94LXNoYWRvdyBvbiBjZWxsLlxyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pbWFnZTpob3ZlciwgJjpob3ZlciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2Ugb3BhY2l0eSAxLlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1yZWR1Y2UtaW1hZ2UsIC45NSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5pbWFnZSBpbWcge1xyXG4gICAgICAgICAgICAvLyBJZiBzbW9vdGggZWRnZXMgZW5hYmxlZCB0aGVuIGVuc3VyZSB0aGUgaW1hZ2UgaGFzIHJvdW5kZWQgY29ybmVycywgdGhpcyBhbHNvIG5lZWRzIHRvIGluY2x1ZGUgaGlnaGxpZ2h0IGl0ZW0gb3ZlcmxheXMgYXMgd2VsbC5cclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY2VsbC1ib3JkZXItZGVmYXVsdCB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYubW9kdWxlLWJvcmRlcnMge1xyXG4gICAgICAgICRwYWRkaW5nOiAoXHJcbiAgICAgICAgICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgICAgICAgICBsYXJnZTogODBweFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6ICN7c21hbGwtdmFsdWUoJHBhZGRpbmcpfSAwIDA7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS10b3Age1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXJpZ2h0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzbWFsbC12YWx1ZSgkcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc21hbGwtdmFsdWUoJHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGFkZGluZykgI3sobGFyZ2UtdmFsdWUoJHBhZGRpbmcpICsgMjApfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEFuaW1hdGlvbnMgSFRNTDUgQ2FudmFzIC0tLS0tXHJcbi5hbmltYXRpb24tbW9kdWxlIHtcclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICBbZGF0YS1hbmltYXRpb25dIHtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbyk7XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLypcclxuLS0tLS0gU3RvY2sgSW5kaWNpYXRvcihzKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEluc3RvY2ssIE91dCBvZiBzdG9jayAmIExvdyBzdG9jayBpY29ucy5cclxuLSBFbWFpbCB3aGVuIGJhY2sgaW4gc3RvY2tcclxuKi9cclxuXHJcbi5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgIEBpZiAoJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlICE9IFwibm9ybWFsXCIpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvL1NoYXJlZCBzdHlsZXMuXHJcbiAgICAgICAgJi5zb2gtMiwgJi5zb2gtMSwgJi5zb2gtMCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAsIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgICAgID4gcCwgcCwgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN0b2NrLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2hhcmVkIHN0eWxlcyAoIHJlZ2FyZGxlc3Mgb2YgcHJlc2V0cyApLlxyXG4gICAgJi5zb2gtMiwgJi5zb2gtMSwgJi5zb2gtMCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHAsIHAsIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogJHN0b2NrLWluZGljYXRvci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gU3RvY2sgbGV2ZWsgc3BlY2lmaWMgc3R5bGVzIC0tLVxyXG4gICAgLy8gSGlnaCBzdG9ja1xyXG4gICAgJi5zb2gtMiB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTIpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0yLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTG93IHN0b2NrXHJcbiAgICAmLnNvaC0xIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1pY29uLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWxldmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBObyBzdG9ja1xyXG4gICAgJi5zb2gtMCB7XHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0wKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMC1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMC1sZXZlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFN0b2NrIE5vdGlmaWNhdGlvbnMgLS0tIFxyXG4gICAgJi5ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN0b2NrLW5vdGlmaWNhdGlvbi1pY29uKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzb2gtbm90aWZpY2F0aW9uLXN0YXR1cy1pY29uLXNpemU7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN0b2NrLW5vdGlmaWNhdGlvbi1hY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFdoZW4gdGhlIG5vdGlmaWNhdGlvbiBoYWQgcHJldmlvdXNseSBiZWVuIGVuYWJsZWQuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBbZGF0YS10b29sdGlwXSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbGxlY3Rpb24tb25seS1pbmRpY2F0b3Ige1xyXG4gICAgY29sb3I6ICRzdG9jay1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci13ZWlnaHQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29sbGVjdGlvbi1vbmx5KTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc29oLWNvbGxlY3Rpb24tb25seS1pY29uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc29oLWNvbGxlY3Rpb24tb25seS1jdXN0b20taWNvbik7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8tLS0gU3RvY2sgbm90aWZpY2F0aW9uIGRldGFpbHMgcHJvbXB0IC0tLSBcclxuI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL092ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxpbmcganVzdCBpbiBtb2JpbGUuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgdG9wOiAxMHZ3IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jbXNDb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbiNub3RpZmljYXRpb25Gb3JtQ29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDg1dnc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzB2dztcclxuICAgIH1cclxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybVN1Ym1pdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGNvbG91cjMpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1zdG9jay1pbmRpY2F0b3ItdXBkYXRlXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLy8tLS0tLSBQcm9kdWN0IHBhZ2UgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTsgICAgXHJcbiAgICAvLyBXb3Jrb3V0IGhhbGYgb2YgZ3V0dGVyLlxyXG4gICAgJGVucXVpcnktZ3V0dGVyOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlciwgMiwgbWVkaXVtKSAvIDIpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heChjYWxjKDMwJSAtICN7JGVucXVpcnktZ3V0dGVyfSksIDFmcikgbWlubWF4KGNhbGMoNzAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSwgMWZyKTtcclxuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDUwMHB4LCA2MCUpKTtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBwdXQgaW4gcGxhY2Ugc28gdGhhdCBzdGlja3kgaW1hZ2UgZG9lc24ndCBvdmVybGFwIG9udG8gdGhlIHRhYnMgYXJlYSwgeWVzIGl0cyBhIGhhY2sgYnV0IHdpdGhvdXQgcmVkZXNpZ25pbmcgdGhlIHN0aWNreSBtZWNoYW5pc20gODQzNDczIHRoZXJlIGlzIGxpdHRsZSB3ZSBjYW4gZG8uXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNTAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSBjYWxjKDUwJSAtICN7JGVucXVpcnktZ3V0dGVyfSk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICAvLyBEZWZpbmluZyB0aGUgZ3JpZCB0aGF0IGdldHMgdXNlZCBmb3IgdGhlIGJ1bGsgb2YgdGhlIGRldGFpbHMuXHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmlnaHQsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGluc2lkZSBvZiBwcm9kdWN0IGVucXVpcnkgZGV0YWlscyB0aGVuIGRvbid0IGdyb3cgb3RoZXJ3aXNlIHRoaXMgY291bGQgcHVzaCBjb250ZW50IGRvd24gd2hlbiBtYXRjaGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBtZWRpYSBjb250ZW50IGNvbnRhaW5lciBlLmcgaWYgdGhlIHJlZmVyZW5jZXMgaXMgdW5kZXIgdGhlIGNhbGxiYWNrIGNvbnRhaW5lciB0aGUgcmVmZXJlbmNlcyB3aWxsIGJlIHB1c2hlZCBkb3duIGNhdXNpbmcgYSBsYXJnZSBnYXAuXHJcbiAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGlzIG1vZHVsZSBkb2VzIG5vdCBjb250YWluZXIgYW55IGNoaWxkcmVuIHRoZW4gZGlzcGxheTogbm9uZTsgb3RoZXJ3aXNlIHRoZSBncmlkIGdhcCBpcyBzdGlsbCByZXByZXNlbnRlZC5cclxuICAgICAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsaW5nIGZvciB0aGlzIHNwZWNpZmljIHRvIHRoaXMgYXJlYS5cclxuICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLnNoYXJlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGFnZSBIZWFkaW5nIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IHNlbGVjdGlvbiAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUXVhbnRpdHkgc2VsZWN0aW9uIC0tLVxyXG4ucXVhbnRpdHktbW9kdWxlLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5cclxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIC8vIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIC5xdWFudGl0eS1tb2R1bGUge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvLyAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8vICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgLy8gICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgIC8vICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgLy8gICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAvLyAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4jcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vd2lkdGg6ICRwcm9kdWN0LWltYWdlLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIC5zbGlkZSB7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1wcmV2LFxyXG4gICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDIxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9sZCBydWxlcywgdGhlc2Ugd2lsbCBldmVudHVhbGx5IGJlIHN1cGVyc2VkZWQgYnkgdGhlIG5ldyBwcm9kdWN0IGVucXVpcnkgcnVsZXMgLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIDgyMzk0M1xyXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcclxuICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC8vIGhlaWdodDogNTUwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgIC8vICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7KHNwYWNpbmctdmFsdWUoJHBhZ2UtZ3V0dGVyLCAyKSAqIDIpfSAtICN7KHNwYWNpbmctdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzLCAyKSAqIDIpfSk7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC0gI3soc3BhY2luZy12YWx1ZSgkcGFnZS1ndXR0ZXIsIDIpICogMil9IC0gI3soc3BhY2luZy12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMsIDIpICogMil9KTtcclxuICAgIC8vIH1cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogNTUwcHg7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA1NTBweDtcclxuICAgIC8vIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC8vIE1vdmVkIHRvIGF4aXMtbGlnaHRib3guc2Nzc1xyXG4gICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6IDNweCAxMnB4O1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLm92ZXJsYXkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1NTBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIHtcclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICAvLyBEdWUgbm90IGtub3dpbmcgd2hhdCBzaXplIGltYWdlIHdlIGNvdWxkIGdldCB0aGVuIGFzc2lnbiBhIG1pbiB3aWR0aCAmIGhlaWdodCB0byBzY2FsZSB0aGUgaW1hZ2UgdXAgc2xpZ2h0bHksIGV2ZW4gdGhvdWdoIGl0IHdpbGwgYmUgbG93IHF1YWxpdHkgaXQgaXMgc3RpbGwgYmV0dGVyIHRoYW4gaGF2aW5nIGEgYmFyZWx5IG5vdGljYWJsZSBpbWFnZSwgaWYgdXNpbmcgdGhlIG1hZ25pZmljYXRpb24gbGlicmFyeSB0aGVuIHRoaXMgd2lsbCBiZSBzY2FsZWQgYWdhaW4uIFdoZW4gYWRqdXN0aW5nIHRoZXNlIHZhcmlhYmxlcyBrZWVwIGluIG1pbmQgd2UgbmVlZCB0byBzdXBwb3J0IG1peGVkIGFzcGVjdCByYXRpbyBpbWFnZXMuXHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG4gICAgJiArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xyXG4gICAgICAgICY6aGFzKGltZykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIEhpZ2hsaWdodGVkIEJhbm5lcnMgLS0tLS0tXHJcbi8vIFRPRE86IE9MRCBXQVkgT0YgSEFORExJTkcgVEhJUyBDQU4gQkUgUkVNT1ZFRCBPTkNFIDgyMzk0MyBDT01QTEVURURcclxuLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUge1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0LWVucXVpcnktaGlnaGxpZ2h0ZWQtYmFubmVycyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIFJlZmVyZW5jZSwgUGFydCBDb2RlLCBBbHQgUmVmIC0tLS0tLVxyXG4ucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICBjb2xvcjogJGNvZGUtY29sb3VyO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtY29kZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZyk7XHJcbiAgICBnYXA6IDEwcHggMjVweDtcclxuICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gTGFiZWwgKyBWYWx1ZSBQYWlyIC0tLS0tLVxyXG4vLyBHZW5lcmljIGNvbnRhaW5lciB1c2VkIHRvIGRpc3BsYXkgc21hbGwgcGllY2UncyBvZiBkYXRhIHdpdGggYSBsYWJlbCBhcyBhIHByZWZpeC5cclxuLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnV0dG9uLCAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0IHtcclxuICAgICNwcm9kdWN0LWluZm8tbGVmdCB7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICAvL1JlbW92ZSBxdWFudGl0eSBzZWxlY3RvciBsYWJlbCBmb3Igc2xpZGVyLlxyXG4gICAgLnNsaWRlIC5sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYWRkQnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgIH1cclxuXHJcbiAgICAjcHJvZHVjdC1ub3RlcyB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1ub3Rlcy1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1ub3Rlcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9kdWN0LXJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYmJlZC1yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2FsdGVybmF0aXZlLW9wdGlvbnMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWFsdC1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgb3JkZXI6IDQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIyO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xyXG4gICAgICAgICYgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29uIHtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICYuaGF6LWNhdC10b3hpYyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtYWN1dGUtdG94aWNpdHktaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWdhcyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWNvcnJvc2l2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtY29ycm9zaXZlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZW52aXJvbm1lbnRhbC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZXhwbG9zaXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWZsYW1tYWJsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZmxhbW1hYmxlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1vem9uZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtaGFybWZ1bC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtb3hpZGlzaW5nIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWhlYWx0aCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtc2VyaW91cy1oZWFsdGgtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb25zLWNvbnRhaW5lciwgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBHZW5lcmljIG11bHRpLWxpbmUgY29udGFpbmVyIC0tLS0tXHJcbi8vIFVzZWQgZm9yIGluZm9ybWF0aW9uIHN1Y2ggYXMgbm90ZXMgJiBzcGVjaWZpY2F0aW9ucy5cclxuLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5tdWx0aS1saW5lLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgIGgyLCBoMywgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubXVsdGktbGluZS1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICB1bCwgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByb2R1Y3Qtbm90ZXMge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAjeyRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nfTtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAjeyRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nfTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoLnJlYWQtbW9yZS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICAgICAgIC8vIFRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRoZSBKYXZhU2NyaXB0IG9uY2UgaW5pdGlhbGlzZWQuXHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFNwZWNpZmljYXRpb24gICggYnVsbGV0IGxpc3QgKSAtLS1cclxuI3NwbGl0LXNwZWNpZmljYXRpb24ge1xyXG4gICAgdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcbiAgICBsaSwgcCwgYSwgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRzcGVjaWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3BlY2lmaWNhdGlvbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG4uc3BsaXQtc3BlY2lmaWNhdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7ICBcclxufVxyXG5cclxuI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuICAgIC8vIEBpbmNsdWRlIHByaWNlKCk7XHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gKiogRG8gbm90IHNldCB3aWR0aCBvdGhlcndpc2UgdGhpcyB3aWxsIGNhdXNlIHN0b2NrbGluZSBwcmljZSB0byBwcmUtbWF0dXJlbHkgd3JhcCwgcmV2ZXJzaW5nIHRoaXMgY2hhbmdlIGZvciB3aG9sZXNhbGUgYXMgdGhlaXIgb3ZlcmFsIHByaWNlIHN0eWxpbmcgaXMgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gb3RoZXIgZXhwcmVzcyBzaXRlcy5cclxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmljZXMgb3JkZXJpbmcuXHJcbiAgICAucnJwIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrLXByaWNlIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAucGFjay1zaXplIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrLWl0ZW0tcHJpY2Uge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNhdmluZyB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgJiArIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTBweCAwICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nO1xyXG4gICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgLy8gVXNlIHRoZSBvbGQgc3R5bGluZyBwcmUtcHJvZHVjdCBwYWdlIHJlZmFjdG9yLlxyXG4gICAgICAgIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGQtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAvLyAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGdhcDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW9wdGlvbmFsLWV4dHJhcy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRmF2b3VyaXRlcyAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWZhdm91cml0ZXMtY29udGFpbmVyIHtcclxuICAgIC5mYXZvdXJpdGVzIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIFF1YW50aXR5IFByaWNlIEJyZWFrIE1vZHVsZSAtLS0tLS1cclxuI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy93aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctc2F2ZS1hbW91bnQtY29sb3VyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLW1hcmdpbjtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBwYWRkaW5nIHRvIGJyaW5nIGhlYWRpbmcgdGV4dCBpbiBjbG9zZXIgYXMgaXQgd2FzIGxvb2tpbmcgYSBiaXQgZGlzLWpvaW50ZWQgd2l0aCB0aGUgdGFibGUgY29udGVudCAoIHRoaXMgaXMgc3R5bGVkIGNvbXBsZXRlbHkgZGlmZmVyZW50IGZvciBlZ3BsICkuXHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSB0YWJsZSBwcmVzZXQtMSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtc3VwcHJlc3MtaGVhZGVyLWdhcCkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgJi5zYXZpbmdzLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXNhdmluZy1jb2wtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1wZXItaXRlbS1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2F2aW5ncy1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBlbnF1aXJ5IHByaWNpbmcgLS0tIFxyXG4vLyBTaW5nbGUgaXRlbVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcclxuICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje3NtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAtLXByaWNlLW1heC13aWR0aDogI3ttZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7bGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0b2NrbGluZXMgLyBHcm91cFxyXG4ucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xyXG4gICAgLy8gQmVjYXVzZSB0aGVyZSBpcyBzdWNoIHZhcmlhdGlvbiBpbiBwcmljaW5nIGdvaW5nIHdpdGggYSBtb3JlIGZyZWUtZm9ybSBhcHByb2FjaC5cclxuICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xyXG4gICAgLnByaWNlcyAucHJpY2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7c21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIHZhcigtLXByaWNlLW1heC13aWR0aCkpKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAkZ3V0dGVyczogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMikgLyAyKTtcclxuICAgICAgICAgICAgLy8gU2V0IDE5MHB4IGFzIG1pbiBzaXplIHRvIGFsbG93IGZvciAyIGNvbHVtbiB0YWJsZXQgdmlldy5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje21lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gI3skZ3V0dGVyc30pKSk7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICRndXR0ZXJzOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgLy8gU2V0IDE5MHB4IGFzIG1pbiBzaXplIHRvIGFsbG93IGZvciAyIGNvbHVtbiB0YWJsZXQgdmlldy5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje2xhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAjeyRndXR0ZXJzfSkpKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWdyb3VwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgLy8gSWYgdGhpcyBtb2R1bGUgZG9lcyBub3QgY29udGFpbmVyIGFueSBjaGlsZHJlbiB0aGVuIGRpc3BsYXk6IG5vbmU7IG90aGVyd2lzZSB0aGUgZ2FwICsgc2VwZXJhdG9yIGlzIHN0aWxsIHNob3duLCA6ZW1wdHkgZG9lc24ndCB3b3JrIGhlcmUgYXMgdGhhdCBkb2Vzbid0IGluY2x1ZGUgd2hpdGVzcGFjZS5cclxuICAgICAgICAgICAgJjpub3QoOmhhcygqKSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhhcyggKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKikge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKCN7c3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAxKX0gLyAyICogLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJGxhcmdlci1tb2JpbGUtYnJlYWtwb2ludDogKHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCkgKiAyKSArIHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMikgKyAkZ3JpZC1jb250YWluZXItcGFkZGluZztcclxuICAgICAgICAgICAgLy8gQmVzcG9rZSBicmVha3BvaW50IGFzIHRoaXMgcnVsZSBjaGFuZ2VzIG1pZCBtb2JpbGUgYnJlYWtwb2ludCBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2VyLW1vYmlsZS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAmOmhhcyggKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3tzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIsIG1lZGl1bSl9IC8gMiAqIC0xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmLnJycCwgJi5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucnJwICsgLnNhdmluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnByaWNlLCAmLmdyb3VwLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCZSBpbmNvbnNpc3RlbnQgd2l0aCBvdGhlciBwcmljaW5nIGFuZCBhbGxvdyB0aGUgdmFsdWUgdG8gYWxpZ24gdG8gdGhlIGxlZnQgZHVlIHRvIHRoZSBmb250LXNpemUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC52YXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcge1xyXG4gICAgLmNhc2UtcHJpY2Uge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXNlLXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgcHJpY2UoKTtcclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLmRlbGl2ZXJ5LWNvdW50ZG93bi1jb250YWluZXIgW2RhdGEtY291bnRkb3duLXRpbWVdIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHsgXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmLmFjdGl2ZSAge1xyXG4gICAgICAgICAgICAudGh1bWJuYWlsIGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1hY3RpdmUtb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGFjdGl2ZS1jbGljayk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSg4MCUsIDU1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudmlkZW8tdGh1bWJuYWlsIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBib3JkZXItdG9wOiAkcHJvZHVjdC1ncm91cGVkLXNlY29uZC1pdGVtLWJvcmRlci10b3A7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEsID4gc3BhbiwgPiBwLCA+IGRpdiB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsIHNwYW4ge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCB7XHJcbiAgICAuYWRkaXRpb25hbC1pbWFnZS14IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkbW9kdWxlcy1ncmlkLWd1dHRlciwgc21hbGwpIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKSAgLyAyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pICAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpICAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTW9iaWxlIGxheW91dC5cclxuICAgIC5zbWFsbC11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUYWJsZXQgbGF5b3V0LlxyXG4gICAgLm1lZGl1bS11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEZXNrdG9wIGxheW91dC5cclxuICAgIC5sYXJnZS11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBTdG9jayBsaW5lcyAtLS0tLSBcclxuLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcCk7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wge1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHN0b2NrbGluZS1hdHRyaWJ1dGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb24udW5hdmFpbGFibGUtb3B0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc3RvY2tsaW5lLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgdW5hdmFpbGFibGUpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3RvY2tsaW5lLW9wdGlvbi1jb2xvdXIsIHVuYXZhaWxhYmxlKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsLCAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICBjb2xvcjogJHN0b2NrbGluZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2tsaW5lLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9ja2xpbmUtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZS1kaXNwbGF5IHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBnZXRzIGNhbGxlZCBpbiBAY21zLWxpc3RzIHdoaWNoIGdldHMgY2FsbGVkIGluIHRoZSBhY2NvcmRpb24tdGFicyBzdHlsZXMuXHJcbi8vIC50YWJiZWQtbm90ZXMtY29udGFpbmVyLCAudGFiYmVkLWNtcy1lbnRyeSB7XHJcbi8vICAgICB1bCB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuI3Byb2R1Y3QtaW5mby1sZWZ0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBUYWJzIC8gQWNjb3JkaW9uIGFyZWEgLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktdGFicy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJldmlvdXNseSBwdXJjaGFzZWQgLS0tIFxyXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW4pO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICBib3JkZXI6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci13aWR0aCBzb2xpZCAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItY29sb3VyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYmFja2dyb3VuZDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KSA9PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZXctb3JkZXItbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci00LCAwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXZpZXctb3JkZXItYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAwIDAgMCAoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaXRlbS1zcGFjaW5nICogMi4xKTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgLy8gQmFzaWNhbGx5IHRoaXMgaXMgYSBoZWFkaW5nIHJvdy5cclxuICAgICAgICAgICAgJltjb2xzcGFuPVwiMlwiXSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgICRtZ2M6IDByZW07XG4gICAgICB9XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWd9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRtZ2M6IHJlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKTtcbiAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy0tLS0tIEJhc2tldCAtLS0tLSBcclxuLy8gVE9ETzogVGhpcyBjb3VsZCBkbyB3aXRoIGJlaW5nIHJlbW92ZWQgYXQgc29tZSBwb2ludC5cclxuJGJhc2tldEhlYWRCb3JkZXJDb2xvdXI6ICRjb2xvdXIzLTM7XHJcbiRiYXNrZXRCb2R5Rm9udFNpemU6IDE0cHg7XHJcbiRiYXNrZXRCb2R5RGVzY3JpcHRpb25Gb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlRdWFudGl0eUZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keVN1YlRvdGFsRm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5Q29sb3VyOiAkY29sb3VyMy0zO1xyXG4kYmFza2V0Qm9keUNvZGVDb2xvdXI6ICRiYXNrZXRCb2R5Q29sb3VyO1xyXG4kYmFza2V0Qm9keVF1YW50aXlDb2xvdXI6ICRiYXNrZXRCb2R5Q29sb3VyO1xyXG4kYmFza2V0Qm9keVJlbW92ZUNvbG91cjogJGNvbG91cjMtMztcclxuXHJcbiNiYXNrZXQtZm9ybSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtdGFibGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgQGluY2x1ZGUgb3JkZXItdGFibGUoKTtcclxuICAgIC8vIFN1cHByZXNzIG1vYmlsZSBsYWJlbHMgYXMgdGhleSdyZSBub3QgcmVhbGx5IHJlcXVpcmVkLlxyXG4gICAgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wsIC5iYXNrZXQtY29kZS1jb2wsIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmltYWdlLWNvbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBncmlkLXJvdzogc3BhbiA0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyLjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy93aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0Ym9keS1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xyXG4gICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICBncmlkLXJvdzogNDtcclxuICAgIH1cclxuICAgIC5hZGQtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogNTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOC45JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkVG9CYXNrZXQuaWNvbiwgLmJhc2tldC1hZGQtYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCYXNrZXQgdGFibGUgc3R5bGVzLlxyXG4vLyB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3Rvci5cclxudGFibGUuYmFza2V0LXRhYmxlLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIHJ1bGUgc2V0IGJ5ICNiYXNrZXQtdGFibGUgYXMgbmV3IGRlc2lnbiA4MjEyMjkgY2FsbCdzIGZvciBsYWJlbHMuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJbXBsZW1lbnRpbmcgYSBuZXN0ZWQgZ3JpZCwgdGhpcyBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IgYXMgdGhlIGltYWdlIHNob3VsZCBoYXZlIGl0cyBvd24gY29sdW1uLlxyXG4gICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRoaXMgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yIGFzIHRoZSBncmlkIHdpbGwgZGljdGF0ZSB0aGUgc2l6ZSBvZiB0aGUgdGltZSBpbWFnZS5cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyBuZWVkIHRvIGZpdCB0aGUgaW1hZ2UgZXhhY3RseSBkdWUgdG8gYXBwbHlpbmcgYSB3aGl0ZSBiYWNrZ3JvdW5kIGZvciBwbmcgaW1hZ2VzLlxyXG4gICAgICAgICAgICAvLyBIYWNreSBidXQgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yLlxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sLCAuYmFza2V0LXByaWNlLWNvbCwgLmJhc2tldC1xdWFudGl0eSwgLmJhc2tldC1zdWItdG90YWwtY29sLCAuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtcmF0ZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1zdWItdG90YWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDY7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtc3RpY2t5LXN1bW1hcnktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2Jhc2tldCB7XHJcbiAgICAuYmFza2V0LWl0ZW0tcm93IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEZWxpdmVyeSBBcmVhIFNlbGVjdG9yXHJcbiAgICAjYmFza2V0LWRlbGl2ZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFza2V0LWRlbGl2ZXJ5LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogJGJhc2tldC1kZWxpdmVyeS1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LWRlbGl2ZXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1kZWxpdmVyeSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJhc2tldC1kZWxpdmVyeS1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgJjpoYXMoLnNlcGVyYXRvcjpub3QoOmVtcHR5KSkge1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgJi5pbnZhbGlkIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1wYWRkaW5nLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1jb2xvdXIsICRjaGVja291dC1zYWdlcGFnZS1idXR0b24tYm9yZGVyLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtc2l6ZSwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtd2VpZ2h0LCAod2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICNjb250aW51ZS1zaG9wcGluZy1idXR0dG9uIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciwgLnN1bW1hcnktaXRlbSB7XHJcbiAgICAmICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAmLnZvdWNoZXIge1xyXG4gICAgICAgIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC12b3VjaGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZhdCB7XHJcbiAgICAgICAgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXZhdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiBuby13cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWludmFsaWQtY29udGFpbmVyICsgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnB1dCB7XHJcbiAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXN1bW1hcnktaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdCB7XHJcbiAgICAgICAgJi5hcHBseSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMnB4LCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91ciwgKCksICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplLCBcIlwiLCAod2lkdGg6IGF1dG8pLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZW1vdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTJweCwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1yZW1vdmUtYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyLCAoKSwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemUsIFwiXCIsICh3aWR0aDogYXV0byksIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFN1bW1hcnkgd2FybmluZyBjb250YWluZXIgLS0tIFxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi53YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4kYmFza2V0LWNvbnRyb2xzLWdhcDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pO1xyXG5cclxuI2Jhc2tldC1jb250cm9scyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMjBweCAwIDM1cHg7XHJcbiAgICBnYXA6IHNwYWNpbmctdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXAsIDEpIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XHJcbiAgICAgICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwLCAxLCBsYXJnZSkgMDtcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51cGRhdGUtYmFza2V0IHtcclxuICAgICAgICAkYmFza2V0LXVwZGF0ZS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdXBkYXRlKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgICAgICAgICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91ciksXHJcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91cilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgICAgICAgICBzaXplOiAkYmFza2V0LXVwZGF0ZS1pY29uLXNpemUsICBcclxuICAgICAgICApO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LXVwZGF0ZS1idXR0b24tcGFkZGluZywgJGJhc2tldC11cGRhdGUtYnV0dG9uLWJhY2tncm91bmQsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIsICgpLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tZm9udC1zaXplLCAkYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQsIGhlaWdodDogYXV0bywgbWF4LWhlaWdodDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkYmFza2V0LXVwZGF0ZS1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuZW1wdHktYmFza2V0IHtcclxuICAgICAgICAkYmFza2V0LWVtcHR5LWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgICAgICAgICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhc2tldC1ybS1hbGwtY29sb3VyKSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFza2V0LXJtLWFsbC1jb2xvdXIpXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgICAgICAgICAgc2l6ZTogJGJhc2tldC1yZW1vdmUtYnV0dG9uLWljb24tc2l6ZSwgIFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEwcHggMzBweCwgJGJhc2tldC1ybS1hbGwtYmFja2dyb3VuZCwgJGJhc2tldC1ybS1hbGwtY29sb3VyLCAoKSwgJGJhc2tldC1yZW1vdmUtYWxsLWZvbnQtc2l6ZSwgJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGJhc2tldC1lbXB0eS1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgIH1cclxuICAgIC5zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFza2V0LXRvdGFsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNrZXQtdG90YWwtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBmb250LXdlaWdodDogJGJhc2tldC10b3RhbC1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC10b3RhbC1mb250LXNpemUpO1xyXG4gICAgQGlmICgkYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmJhc2tldC10b3RhbC1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdGlja3kgc3R5bGVzLlxyXG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vZGlzcGxheTogZmxleDtcclxuICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6ICRiYXNrZXQtc3VtbWFyeS1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCRiYXNrZXQtc3VtbWFyeS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3RpY2t5LlxyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFuY2hvcmVkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLmlzLWF0LXRvcCB7XHJcbiAgICAgICAgICAgIC8vIEluIHNvbWUgaW5zdGFuY2VzIHdoZW4gcmV0dXJuaW5nIHRvIHRoZSBiYXNrZXQgZnJvbSBhbm90aGVyIHBhZ2Ugd2hlbiBvbmx5IG9uZSBpdGVtIGlzIGluIHRoZSBiYXNrZXQgdGhlIHN0aWNreSBwbHVnaW4gd291bGQgYXNzaWduIHRoZSBtYXJnaW4tdG9wIHZhbHVlIGV2ZW4gd2hlbiBpdCBzaG91bGQgYmUgYW5jaG9yZWQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICN2b3VjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZ29vZHMtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICNuZXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA3O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogODtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICAjdm91Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogODtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI25ldC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLy8gJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGlmICgkYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6ICRjb21tb24tYnV0dG9uLXdvcmQtc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvbG91cjtcclxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1oaWdobGlnaHRlZC1pdGVtLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgJi52YWx1ZSwgJi5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5jVmF0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktdG90YWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogMzBweCA3cHggMCAwO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNkZWxpdmVyeS1zZWxlY3RvciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICAgIHNlbGVjdCwgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmRlbGl2ZXJ5LWxhYmVsIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVsaXZlcnktc2VydmljZSwgLmRlbGl2ZXJ5LWFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZWxpdmVyeS1zZXJ2aWNlIHtcclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG5cclxuLy8gLS0tLS0gWW91ciBBY2NvdW50IHBhZ2UgLS0tLS1cclxuXHJcbi5saW5rLWZhaWxlZC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgNTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5saW5rLWZhaWxlZC1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgIGNvbG9yOiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgLy8gRGVmYXVsdCBpY29uLlxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGVmYXVsdC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdXN0b21lci1hc3NldHMsICYuZnVuY3Rpb24tMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciwgJi5mdW5jdGlvbi0yIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYnJhbmNoLXN3aXRjaGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYWxscywgJi5mdW5jdGlvbi0zIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLWNhbGxzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzLCAmLmZ1bmN0aW9uLTQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250YWN0LXByZWZlcmVuY2VzLCAmLmZ1bmN0aW9uLTUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjb250YWN0LXByZWZlcmVuY2VzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRyYWN0LWl0ZW1zLCAmLmZ1bmN0aW9uLTYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjb250cmFjdC1pdGVtcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXJ2aWNlLWNvbnRyYWN0cywgJi5mdW5jdGlvbi03IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc2VydmljZS1jb250cmFjdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncywgJi5mdW5jdGlvbi04IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWxzbyBzdXBwb3J0IGZvciB2ZXJzaW9uIGlmIG5lZWRlZCwgdGhpcyB3aWxsIGJlIGFkZGVkIHVzaW5nIGFuIGFkZGl0aW9uYWwgY2xhc3MgLnZlcnNpb24teC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbmxpbmUtZG9jdW1lbnRhdGlvbiwgJi5mdW5jdGlvbi0xMCwgJi5mdW5jdGlvbi0zNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG9ubGluZS1kb2N1bWVudGF0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mYXZvdXJpdGVzLCAmLmZ1bmN0aW9uLTExIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZmF2b3VyaXRlcyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpvYnMsICYuZnVuY3Rpb24tMTIge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQsICYuZnVuY3Rpb24tMTMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBsb2dvdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICAmLm5ld3MsICYuZnVuY3Rpb24tMTQge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi52aWV3LW9yZGVycywgJi5mdW5jdGlvbi0xNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHZpZXctb3JkZXJzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzLCAmLmZ1bmN0aW9uLTE3IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheW1lbnQtcmVxdWVzdHMsICYuZnVuY3Rpb24tMTgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBwYXltZW50LXJlcXVlc3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvd25sb2FkLXByaWNlLWxpc3RzLCAmLmZ1bmN0aW9uLTE5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucXVlc3Rpb25uYWlyZXMsICYuZnVuY3Rpb24tMjAge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZWNlbnRseS1wdXJjaGFzZWQsICYuZnVuY3Rpb24tMjEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCByZWNlbnRseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1saXN0LCAmLmZ1bmN0aW9uLTIyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc2l0ZS1saXN0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC13ZWItYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzLCAmLmZ1bmN0aW9uLTIzIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RhdGVtZW50LCAmLmZ1bmN0aW9uLTI0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc3RhdGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zLCAmLmZ1bmN0aW9uLTI1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLWJhc2tldCwgJi5mdW5jdGlvbi0yNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGJhc2tldC11cGxvYWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLW9yZGVycywgJi5mdW5jdGlvbi0yNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG9yZGVyLXVwbG9hZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtdXNlcnMsICYuZnVuY3Rpb24tMjgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtdXNlcnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZW1wbG95ZWUtc3RhdHVzLCAmLmZ1bmN0aW9uLTI5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZW1wbG95ZWUtc3RhdHVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSwgJi5mdW5jdGlvbi0zMCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTWljcm9zb2Z0IFN1YnNjcmlwdGlvbnMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1pY3Jvc29mdC1zdWJzY3JpcHRpb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVCcmFuZHM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDYWxsIFN0YXRpc3RpY3MuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNhbGwtc3RhdGlzdGljcyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBZ2dyZWdhdGVkIEFzc2V0cy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFZpZGVvcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTM0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZWNlbnQgc29mdHdhcmUgdXBkYXRlcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTM1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBIb3cgbXVjaCBzaG91bGQgd2Ugc2NhbGUgdGhlIGljb25zIHdoZW4gbmVzdGVkIGluIGEgbWVudS5cclxuJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGU6IDEuNTtcclxuXHJcbi5tZW51IHtcclxuICAgIC8vIElmIGluc2lkZSBvZiBhIG1lbnUgdGhlbiBzY2FsZSBpY29ucyBkb3duLlxyXG4gICAgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIC5wYWdlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkZWZhdWx0KSAvICRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpIC8gJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgLy8gQ2FudCB1c2UgZm91bmRhdGlvbidzIGdyaWQgYXMgeCAmIHkgZ3V0dGVycyBhcmUgbm90IGVxdWFsIGluIHRoZSBkZXNpZ24uXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJi5zaXRlLXN0eWxlIHtcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBCcmFuZGluZyBmcm9tIHNpdGUgc3R5bGUuXHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICN7KCRhY2NvdW50LXNlY3Rpb24taXRlbS1wYWRkaW5nIC0gJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aCl9O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICN7aG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cil9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAvLyBTaHJpbmsgdGhlIGRlc2NyaXB0aW9uIHRvIGZpdCBpbiBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWZvbnQtd2VpZ2h0LCBhY2NvdW50LXBhZ2UpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIC8vIEVuZm9yY2UgZm9udC13ZWlnaHQgNDAwIGFzIG91ciBmb250ZWxsbyBsaWJyYXJ5IG9ubHkgaGFzIG9uZSB3ZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICN7ZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyKX07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEZ1bmN0aW9uIHNwZWNpZmljIHJ1bGVzLlxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkZWZhdWx0KTtcclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHMsICYuZnVuY3Rpb24tNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHMsICYuZnVuY3Rpb24tMTcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi05IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tMzUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dCwgJi5mdW5jdGlvbi0yOSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGxvZ291dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51IHtcclxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgICAgICAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYWNjb3VudC1wYWdlLWdyaWQge1xyXG4gICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgcGFkZGluZzogJGFjY291bnQtcGFnZS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1wYWdlLWl0ZW0tYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY29udHJhY3QtaXRlbXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZhdm91cml0ZXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGZhdm91cml0ZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZpZXctb3JkZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB2aWV3LW9yZGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVjZW50bHktcHVyY2hhc2VkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCByZWNlbnRseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdGF0ZW1lbnQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHN0YXRlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLXVzZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtdXNlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsICYuYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgYnJhbmNoLXN3aXRjaGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250YWN0LXByZWZlcmVuY2VzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjb250YWN0LXByZWZlcmVuY2VzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaXN0b3JpY2FsLXRyYW5zYWN0aW9uczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHVwbG9hZC1iYXNrZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHVwbG9hZC1vcmRlcilcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGxvZ291dCk7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5tYW5hZ2UtY2FsbHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS1jYWxscyk7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgc2VydmljZS1jb250cmFjdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXltZW50LXJlcXVlc3RzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHBheW1lbnQtcmVxdWVzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWxpc3Qge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9ubGluZS1kb2N1bWVudGF0aW9ue1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgb25saW5lLWRvY3VtZW50YXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtc29ydGluZy1vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAkYWNjb3VudC1zb3J0aW5nLW1hcmdpbjtcclxuICAgIH1cclxuICAgIC5zb3J0LW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDpcclxuICAgICAgICAgICAgYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLWZpbHRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzZWxlY3QsIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAubGFiZWwsIC5wYWdpbmF0aW9uTGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5zb3J0LWJ5LWRheXMtc2VsZWN0IHsgXHJcbi8vICAgICBtaW4td2lkdGg6IDE3MHB4O1xyXG4vLyB9XHJcblxyXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAyMzVweDtcclxuICAgIH1cclxuICAgICYuY2VudGVyLWJ1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFZpZXcgT3JkZXIgLS0tLS0gXHJcbi5vcmRlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfSBcclxuICAgICYgKyAucmVzcG9uc2l2ZS10YWJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBQYXlwYWwgY2hlY2tvdXQgY29uZmlybWF0aW9uLlxyXG4gICAgJi5wYXltZW50LWNvbmZpcm1hdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7KHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyKSAvIDIpfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI29yZGVyLXRhYmxlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDk3MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgICNvcmRlci10YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3JkZXItdGFibGUoKTtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4O1xyXG4gICAgfVxyXG4gICAgI2Jhc2tldC1zdW1tYXJ5IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAvLyBTdXByZXNzaW5nIGFzIHRoaXMgY2FuIGJlIGRvbmUgdXNpbmcgZ2FwIHNwYWNpbmcgaW4gZmxleGJveC5cclxuICAgIC8vIC5vcmRlci1kZXRhaWxzICsgLm9yZGVyLWRlbGl2ZXJ5IHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgI2Jhc2tldC1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDVweCAwO1xyXG4gICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy13aWR0aCk7XHJcbiAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheWVyLWRldGFpbHMge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nKVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nLCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMCA1cHg7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IHNvbGlkICN7JGhlYWRpbmctcnVsZS1jb2xvdXJ9O1xyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIGEuZWRpdCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXRhaWwtaXRlbS1jb250YWluZXIsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIFN1cHByZXNzaW5nIGluZmF2b3VyIG9mIHRoZSBnYXAgcHJvcGVydHkuXHJcbiAgICAvLyBtYXJnaW46IDVweCAwO1xyXG4gICAgLy8gSWYgbm8gdmFsdWUgdGhlbiBzdXBwcmVzcyBhbHRvZ2V0aGVyLlxyXG4gICAgJjpoYXMoPiBwOmVtcHR5KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIC8vIEFsbCBhbmNob3IncyBzaG91bGQgYXBwZWFyIG9uIGEgbmV3IGxpbmUgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgYWRkcmVzcyB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4uYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICRwcmljZS1kcm9wLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1kcm9wLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1kcm9wLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJpY2UtZHJvcC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjBkZCc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWRyb3AtYXJyb3ctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JkZXItZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbiAgICAvLyBTdXBwcmVzc2luZyB3aWR0aCBvbiB0aGUgY29udGFpbmVyIGlzIG5vdCBhbiBvcHRpb24gZHVlIHRvIGZvdW5kYXRpb24ncyBncmlkIHVzaW5nIHJlbGF0aXZlIHZhbHVlcyB3aGVuIGNhbGN1bGF0aW5nIGNlbGxzIHdoaWNoIGNhdXNlcyB0aGUgY2VsbHMgdG8gc2hyaW5rIGlmIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaXQgYSByb3cuXHJcbiAgICAuZ3JpZC14IHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tzbWFsbC12YWx1ZSgkZ3JpZC1tYXJnaW4tZ3V0dGVycyl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3ttZWRpdW0tdmFsdWUoJGdyaWQtbWFyZ2luLWd1dHRlcnMpfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdXBwcmVzc2luZyBkdWUgdG8gc3RvcHBpbmcgdGhlIGhlaWdodCBmcm9tIG1hdGNoaW5nIGdlbmVyYWwgLyBkZWxpdmVyeSBkZXRhaWxzIG9uIHRoZSB2aWV3IG9yZGVyIC8gY29udHJhY3QgZW5xdWlyeSBwYWdlcy5cclxuLy8gI2Jhc2tldC1zdW1tYXJ5LnJlYWQtb25seSB7XHJcbi8vICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcclxuLy8gfVxyXG5cclxuLy8gUmVxdWlzaXRpb24gYnV0dG9uc1xyXG4ucmVxdWlzaXRpb24tYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlbGl2ZXJ5IEVucXVpcnkgLS0tLS0gXHJcbi5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWFuYWdlIFVzZXJzIC0tLS0tIFxyXG4udXNlcnMtZm91bmQtY291bnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLWZvdW5kLWZvbnQtc2l6ZSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkdXNlcnMtZm91bmQtY291bnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuI3VzZXJzLXRhYmxlIHtcclxuICAgIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy10Ym9keS1mb250LXNpemUpO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNlcnMtdGJvZHktY29udGFjdC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHVzZXJzLXRib2R5LWNvbnRhY3QtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLnVzZXJzLWFjY291bnQtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1lbWFpbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtZGVsZXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC51c2Vycy1lbWFpbC1jb2wsIC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIC8vIH1cclxuICAgIC51c2Vycy1kZWxldGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlbW92ZS11c2VyLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgaGVpZ2h0OiAkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucyAvIDEuMSkpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFZpZXcgLyBFZGl0IHVzZXIgLS0tIFxyXG4ubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4jc2VsZWN0LWJyYW5jaGVzLXRhYmxlIHtcclxuICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtcG9wdXAtdGFibGUtYnJhbmNoLWNvbC1mb250LXNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGxvdy1sb2dpbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNYW5hZ2UgUGF5bWVudCBDYXJkcyAtLS0tLSBcclxuI3Rva2Vucy10YWJsZS5wYXltZW50IHtcclxuICAgIC8vIC5jYXJkLXNlbGVjdC1jb2wge1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgLy8gfVxyXG4gICAgLmNhcmQtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmNhcmQtbnVtYmVyLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcblxyXG59XHJcblxyXG4jdG9rZW5zLXRhYmxlLCAudG9rZW5zLXRhYmxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgLy8gfVxyXG4gICAgdHIge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuY2FyZC10eXBlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtY2FyZC10eXBlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLWV4cGlyZWQge1xyXG4gICAgICAgICAgIC5jYXJkLXR5cGUtY29sLCAuY2FyZC1udW1iZXItY29sLCAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybzsgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jYXJkLXR5cGUtY29sLCAuY2FyZC1udW1iZXItY29sLCAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5jYXJkLXNlbGVjdC1jb2wge1xyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRva2Vucy10YWJsZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0b2tlbnMtdGFibGUtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0ZWQtY2FyZCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuLm5vLXRva2Vucy1mb3VuZCB7XHJcbiAgICBtYXJnaW46IDUwcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwMHB4IDA7XHJcbiAgICB9XHJcbiAgICAubm8tdG9rZW5zLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGF5bWVudC1jYXJkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXltZW50LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuLm1vZGFsLWNvbnRhaW5lclt0eXBlPXNlbGVjdC1wYXltZW50XSB7XHJcbiAgICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNhdmUtY2FyZC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcGF5bWVudC1mcmFtZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuLy8gLS0tLS0gU3RhdGVtZW50IFBhZ2UgLS0tLS0gXHJcbi5zdGF0ZW1lbnQtbGlzdC1jb250YWluZXIsIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XHJcbiAgICAmLmluLWFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcbi5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMiUgMjBweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RhdGVtZW50LWJhbGFuY2UtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkc3RhdGVtZW50LWJhbGFuY2UtY29sb3VyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG4uc3VtbWFyeS1jb250YWluZXIuc3RhdGVtZW50LCAuc3VtbWFyeS1jb250YWluZXIuYWNjb3VudC1wYXltZW50LXN1bW1hcnkge1xyXG4gICAgLnN1bW1hcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRyYW5zYWN0aW9uLXR5cGUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIC5kaXJlY3QtZGViaXQtaWNvbiB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgICAgIHJpZ2h0OiA2JTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi8vIFByaW1hcnkgdXNlZCBvbiB0aGUgc3RhdGVtZW50IHBhZ2UuXHJcbi5kaXJlY3QtZGViaXQtaWNvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkaXJlY3QtZGViaXQpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VydmljZSBDb250cmFjdHMgLS0tLS0gXHJcbnRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV4dC1kdWUtZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC55b3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2t1LXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtdmFsdWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jb250cmFjdC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LWdyb3VwLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOS44JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZnJlcXVlbmN5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOC41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGF5bWVudC1tZXRob2QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGVybWluYXRpb24tZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWxhbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbmV3YWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50dWJzLXJlbmV3LWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByaW1hcnktYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIE9yZGVyIHN0YXR1cyB0YWJsZSAtLS0gXHJcbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHtcclxuICAgIC5pdGVtLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIC8vIFB1dHRpbmcgdGhpcyBpbiB0byBoYW5kbGUgbG9uZyByZWZlcmVuY2VzIGluIHRoZSBhY2NvdW50IGFyZWEuXHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTQlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnZvaWNlcy1jb2wsIC5kZWxpdmVyaWVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIERlbGliZXJ5IEVucXVpcnkgVGFibGUgLS0tIFxyXG50YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIHtcclxuICAgIC5pdGVtLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi45NSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGV4cHJlc3MgZGVmYXVsdCBzdHlsaW5nIGFzIGl0IFwiIGFzc3VtZXMgXCIgdGhhdCB0aGUgZGVzY3JpcHRpb24gaXMgYWx3YXlzIHRoZSBmaXJzdCBjb2x1bW4sIHRoaXMgY2FuIGJlIHJlbW92ZWQgb25jZSAjODE1NDY4IGlzIGRvbmUuXHJcbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnlvdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIENvbnRyYWN0cyB0YWJsZSAtLS0gXHJcbnRhYmxlLmNvbnRyYWN0cy10YWJsZSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIC0tLSBUcmFuc2FjdGlvbnMgdGFibGUgLS0tIFxyXG50YWJsZS50cmFuc2FjdGlvbnMtdGFibGUge1xyXG4gICAgLnR5cGUtY29sLCAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCwgLnZhbHVlLWNvbCwgLnN0YXR1cy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCYWNrIHRvIG15IGFjY291bnQgYnV0dG9uIC0tLS0tXHJcbi5hY2NvdW50LXJldHVybi1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksIDApO1xyXG59XHJcblxyXG4vLyAtLS0tLSBQYXltZW50IFJlcXVlc3RzIC0tLS0tIFxyXG50YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIHtcclxuICAgIC5wYXktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2LjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aW1lLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOC41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTguMSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFtb3VudC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwLjglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2l0ZSBMaXN0IC0tLS0tIFxyXG5cclxuLy8gLS0tIENvbW1vbiAtLS1cclxuLnNpdGUtbGlzdC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdCBpY29uIGlmIHRoaXMgaXMgbm90IGFuIGV4cHJlc3Mgc2l0ZS5cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzaXRlLWxpc3QtYmVzcG9rZS1zaXRlLWljb24pO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuZmFpbGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi51bmtub3duOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdW5rbm93bik7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAmLmNhbmNlbGxlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbmNlbGxlZCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAmLmluLXByb2dyZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaW4tcHJvZ3Jlc3MpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7IFxyXG4gICAgICAgIEBrZXlmcmFtZXMgc3Bpbm5lciB7XHJcbiAgICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4uZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC50aW1lIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHNpdGUtbGlzdC10aW1lLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5wdWJsaXNoLWhpc3Rvcnkge1xyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gSW50ZXJuYWwgLS0tXHJcblxyXG50YWJsZS5zaXRlLWxpc3QtdGFibGUge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgICAgICAgXHJcbiAgICB9XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgcmVzcG9uc2l2ZSB0YWJsZSBydWxlcy4uLlxyXG4gICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgcHJlc2V0LTEgc3R5bGVzLi4uXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgICAgJi5zdGFnaW5nLXNpdGUge1xyXG4gICAgICAgICAgICAuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAjeyhsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpICsgJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aCl9O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSwgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBociB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiwgLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxpY2Vuc2UtY29sLCAucHVibGlzaGluZy1jb2wgIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGFydGVkLWNvbCwgLmVuZGVkLWNvbCwgLmxhc3QtdG91Y2gtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1idXR0b25zLWNvbCB7XHJcbiAgICAgICAgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIEV4dGVybmFsICggd2hhdCB0aGUgY2xpZW50IHNlZXMgKSAtLS0gXHJcbi5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdGFnaW5nLXNpdGUge1xyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtbG9nby1tYXJnaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWxvZ28tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLCBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC1zdHlsZTogJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlO1xyXG4gICAgICAgIC8vIHAge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgLy8gfVxyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW47XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgLy8gQXNzdW1lIHRoZSBmaXJzdCBzcGFuIHdpbGwgYWx3YXlzIGJlIGEgbGFiZWwuXHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFZhbHVlIFxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIC50aW1lIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogNzRweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIENNUyBTdHlsaW5nIC0tLS0tLSBcclxuLSBTdHlsZSBmb3IgdGhlIGFjdHVhbCBjbXMgcGFnZXMgdGhlbXNlbHZlczpcclxuICAtIENNUyBFbnRyeVxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBDTVMgU2VyaWVzXHJcbi0gQ01TIGVudHJ5IGNvbnRyb2xzXHJcbi0gQ01TIG1vZHVsZVxyXG4tIENNUyBjb250ZW50IGNvbnRhaW5lciwgdGhpcyBnZXQgdXNlZCB0aHJvdWdob3V0IGV4cHJlc3MgZm9yIHZhcmlvdXMgcGllY2VzIG9mIGNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGluIHRoZSB2bWFkbWluJ3MgY21zIHN5c3RlbSB0aGVzZSBibG9jayBvZiBjb250ZW50IGNhbiBsaXRlcmFsbHkgYmUgYW55d2hlcmUgKCBoZWFkaW5ncyBmb3IgcGFnZXMsIGluIHRoZSBmb290ZXIsIGFqYXggcmVzcG9uc2VzICkuXHJcbiovXHJcblxyXG4uZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQge1xyXG4gICAgbWF4LXdpZHRoOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoO1xyXG4gICAgbWFyZ2luOiAjeyRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b20gLSBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKX0gI3tpZigkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlciwgYXV0bywgMCl9ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b207XHJcbiAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDtcclxuICAgIH1cclxuICAgICYuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGYWxsYmFjay5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kaXNwbGF5LWNtcy1zZXJpZXMge1xyXG4gICAgbWFyZ2luOiAyNXB4IDAgMDtcclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBoMywgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5lbnRyeS1jb250ZW50IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWNvbnRlbnQtZm9udC1zaXplKTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFzc2lnbiBjb2xvdXIgc2NoZW1lc1xyXG4gICAgJi5uZXdzIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmlkZW8tcGxheWxpc3QgLmNlbGwgPiBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jZWxsIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudGFibGUge1xyXG4gICAgICAgIC5jZWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjcwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgdG9wLWJvdHRvbSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgcmlnaHQtbGVmdCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHJpZ2h0LWxlZnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCB0b3AtYm90dG9tKSAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVudHJ5LWNvbnRlbnQgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGNtcy1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ncmlkIHtcclxuICAgICAgICAmLnZpZGVvLXBsYXlsaXN0IHtcclxuICAgICAgICAgICAgJGNlbGwtY29udGVudC1zcGFjaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAuY2VsbCBhIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGNlbGwtY29udGVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHVyYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRjZWxsLWNvbnRlbnQtc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJsb2cgLmNlbGwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUzMHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ldmVudHMgLmNlbGwge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRjbXMtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jZWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHVibGlzaC1kYXRlIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxN3B4O1xyXG4gICAgfVxyXG59XHJcbi5wdWJsaXNoLWRhdGUge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbn1cclxuLnJlYWQtbW9yZS1hbmNob3Ige1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRyZWFkLW1vcmUtY29sb3VyKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlYWQtbW9yZS1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRyZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSByZWFkTW9yZVN1ZmZpeCgpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgQXJ0aWNsZXMsIFBvc3RzICYgR2VuZXJhbCBFbnRyaWVzIC0tLS0tIFxyXG4uY21zLWVudHJ5LWNvbnRhaW5lciB7XHJcbiAgICAvLyBBZGRlZCBmbGV4Ym94IHRvIGFsbG93IGZvciBuZXdzIGFydGljbGUgYmFubmVyIHRvIHNpdCBhbG9uZyBzaWRlIHRoZSBjbXMgZW50cnkgdGV4dC5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHggNDBweDtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAxMTBweCA3MHB4XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtYXJ0aWNsZSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIG5ld3MpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgbmV3cykge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudCB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgZXZlbnQpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLXBvc3Qge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBibG9nKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGJsb2cpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBibG9nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBpbmZvcm1hdGlvbikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mb3JtYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5zdHlsZS0xID0gU2ltcGxlIGxheW91dC5cclxuICAgICAgICAmLnN0eWxlLTEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgcnVsZXMgKCBpbXBsZW1lbnRlZCBzcGVjaWZpY2FsbHkgZm9yIHdpbGQgdGhpbmdzICkuXHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBBZGRlZCAxcHggZHVlIElFIG5vdCBmbGV4LWdyb3cnaW5nIHRoZSBjb250YWluZXIgY29ycmVjdGx5LlxyXG4gICAgICAgIGZsZXg6IDEgMXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgICAgICAvL0BpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1pbWFnZS1nYWxsYXJ5KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWdvb2dsZS1tYXBzLWVtYmVkZGVkKCk7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRjbXMtdGFibGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgZmllbGRzZXQge1xyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZmllbGRzZXQtaGVhZGluZy1jb2xvdXIsICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFja2dyb3VuZC1zZWN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSwgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3OCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdWJsaXNoLWRhdGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gT25seSBhZmZlY3QgZW50cnkgbW9kdWxlcyBhcyB0aGlzIHdhcyBnZXR0aW5nIGluIHRoZSB3YXkgb2YgLmNtcy1idXR0b24tbGluay4uLiBwcm9wZXJ0aWVzLlxyXG4uY21zLWVudHJ5LWNvbnRhaW5lciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUge1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG59XHJcblxyXG5cclxuLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiA0MHB4IDAgMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogdGhpcyBjb3VsZCBiZSByZWZhY3RvcnMgdG8gdXNlIGNvbW1vbi1idXR0b24tMSBtaXhpbiBub3cgdGhhdCB3ZSBzdXBwb3J0IGljb25zIGluIGJ1dHRvbnMuXHJcbiAgICAuY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICAgIC5wcmV2aW91cy1jbXMtZW50cnkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tcHJldmlvdXMpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXh0LWNtcy1lbnRyeSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1uZXh0KTtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbSA+IDApIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHggMDtcclxuICAgIG1hcmdpbjogMTVweCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDEwcHggMzBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICAkZW50cmllcy1jb250cm9scy1wcmV2aW91cy1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tcHJldmlvdXMpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYmVmb3JlLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDAsXHJcbiAgICAgICAgICAgIGNvbG91cjogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyksXHJcbiAgICAgICAgICAgIHNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgJGVudHJpZXMtY29udHJvbHMtbmV4dC1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tbmV4dCksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpLFxyXG4gICAgICAgICAgICBzaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICBcclxuXHJcbiAgICAgICAgJi5wcmV2aW91cy1lbnRyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmcsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiBmaXQtY29udGVudCwgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRlbnRyaWVzLWNvbnRyb2xzLXByZXZpb3VzLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubmV4dC1lbnRyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmcsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiBmaXQtY29udGVudCwgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRlbnRyaWVzLWNvbnRyb2xzLW5leHQtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtZW50cnktYmFjay1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDIzMHB4KSk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIEluZm9ybWF0aW9uIFBhZ2VzIC0tLS0tIFxyXG4uc2l0ZS1tYXAge1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgID4gdWwgeyBcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6bm90KC5zdXBwcmVzcy1ib3JkZXIpIHtcclxuICAgICAgICA+IHVsIHsgXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yOyBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBJZiBvbmx5IGl0ZW0gdGhlbiBzdXBwcmVzcyBtZWNoYW5pc20gYWxsIHRvZ2V0aGVyLlxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2hvdyBzZXBlcmF0b3Igb24gdGhlIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAucGFyZW50IHtcclxuICAgICAgICAgICAgPiBhLCA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1tYXAtcGFyZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzaXRlLW1hcC1wYXJlbnQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyMy0yLCAkcG9pbnRSaWdodCwgMTVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzNXB4IDAgMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXJlbnQgYSwgdWwgLmNoaWxkID4gYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtbW9kdWxlIHsgXHJcbiAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRjbXMtcm0tbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtcm0tcGFkZGluZztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWFkLW1vcmUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXN0eWxlOiAkcmVhZC1tb3JlLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbWFwLWdldCgkY20tcm0tdGV4dC1kZWNvcmF0aW9uLCBkZWZhdWx0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGNtcy1ybS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbWFwLWdldCgkY20tcm0tdGV4dC1kZWNvcmF0aW9uLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSByZWFkTW9yZVN1ZmZpeCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFjay10by1pbmZvcm1hdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMjMwcHgpKTtcclxufVxyXG5cclxuLy8gLS0tLSBDTVMgQ29udGVudCBDb250YWluZXJzIC0tLS0tXHJcbi8vIERFUFJFQ0FURUQsIHlvdSBzaG91bGQgdXNlIC5jbXMtY29udGVudC1jb250YWluZXIgaW5zdGVhZCwgdGhpcyBwcmltYXJ5IGdldHMgdXNlZCBpbiB0aGUgYWNjb3VudCBhcmVhIGFuZCBzaG91bGQgYmUgcmV0cm8tZml0dGVkLlxyXG4uY21zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDEycHggMCA0MXB4O1xyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIElmIHRoZSBjbXMtY29udGVudC1jb250YWluZXIgaXMgd2l0aGluIGEgZGl2IHRoYXQgaGFzIGJhY2tncm91bmQgY29sb3VyIHNldC5cclxuZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0ge1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7IFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyB0aGUgY2xhc3MgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGRlZmluaW5nIGEgY21zIGNvbnRlbnQgYXJlYS5cclxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTsgXHJcbiAgICAvL0BpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpOyAgIFxyXG4gICAgLy8gVGhpcyB3YXMgaW50ZXJmZXJpbmcgd2l0aCBob3cgZm9ybSBjbXMtY29udGVudC1jb250YWluZXJzIHdlcmUgYmUgYXJyYW5nZWQgZm9yIHdpbnRlcnN0b2tlLlxyXG4gICAgLy8gJjpub3QoLmxlZnQtYWxpZ24pIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFtb3VudC1wYWlkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggdGhlIGljb24gYWJvdmUuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFtb3VudC1wYWlkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggdGhlIGljb24gYWJvdmUuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY2VudGVyLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIGFsaW5nbWVudCBmb3IgcWMgZm9yIDgxOTYwNiByZWdhcmRpbmcgdGV4dGRiIGFsaWdubWVudCBmb3IgZW5xdWlyeSBmb3JtIG9uIHNlYXJjaCBwYWdlLlxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgICYuZXJyb3Ige1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIGgyLCBoMywgaDQsIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ndXR0ZXIteSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMnB4IDAgNDFweDsgXHJcbiAgICB9XHJcbiAgICAmLnBhZ2UtaGVhZGluZy1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgIH1cclxuICAgICYubm8tc2lkZS1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgICYub3V0bGluZSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAvLyBNb3ZpbmcgYmFzZSBzdHlsZXMgb3V0IG9mIGNtcy1taXhpbiBkdWUgdG8gY29uZmxpY3RpbmcgcnVsZXMgd2l0aCAqLWJ1dHRvbiBjbGFzc2VzLlxyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsIGRlZmF1bHQtY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cikpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGF0LXJvb3Qgd2FzIG92ZXJyaWRpbmcgZm9vdGVyIHBhcmFncmFwaCBzdHlsZXMuXHJcbiAgICAvLyBAYXQtcm9vdCB7ICBcclxuICAgICAgICBwOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmICsgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBsb2dpbiBwYWdlLlxyXG4gICAgJiArIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59IiwiLy8gLS0tLS0gVEhFIE1BSk9SSVRZIE9GIFRISVMgQ09ERSBTSE9VTEQgQkUgUkUtV1JJVEVOIFdIRU4gV0UgUkUtQlVJTEQgVEhFIENIRUNLT1VUIEFTIElUUyBGUk9NIFRFTVBMQVRFIDEgLS0tLS0gXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4jcG9wdXBPdmVybGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIzLTYsIDAuNSk7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0bGVmdDogMDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRvcDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiA1MDAwMDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdH1cclxufVxyXG4jcG9wdXBDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0Ym9yZGVyLXJhZGl1czogMC4zZW07XHJcblx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbjogMCAyJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSArIDIwMCk7XHJcbiAgICB9XHJcblx0Ji5zdGFuZGFyZCB7XHJcblx0XHRtYXgtaGVpZ2h0OiA5MCU7XHJcblx0XHQjcG9wdXBDb250ZW50IHtcclxuXHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0LmNvbnRlbnRDb250YWluZXIge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLnNjcm9sbCB7XHJcblx0XHQjcG9wdXBDb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogOTB2aDtcclxuXHRcdFx0cGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0XHQuY29udGVudENvbnRhaW5lciB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGxlZ2VuZCB7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDVweDtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcclxuXHR9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgKyAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb25maXJtYXRpb25Db250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4O1xyXG4gICAgfVxyXG5cdC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHRcdFxyXG5cdFx0LnBvcHVwQ2xvc2VCdXR0b24ge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XHJcbiAgICB3aWR0aDogNzBweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbn1cclxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4jY2hlY2tvdXQtY29udGVudC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtRmllbGRDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiNjaGVja291dEZvcm0ge1xyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xyXG4gICAgfVxyXG4gICAgLmNoYW5nZURldGFpbHMge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMTVweDtcclxuICAgIH1cclxuICAgICNjaGVja291dEZvcm1EZXRhaWxzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRjb2xvdXI0LTMsIDAuMik7XHJcbiAgICB9XHJcbiAgICAuY2hlY2tvdXQtZGV0YWlscyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzVweDtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDc1cHggMCAwO1xyXG4gICAgICAgICNjaGVja291dFN1Ym1pdEJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQsIDE1LCA2MDAsIDE1cHggMjVweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplOiA0NHB4O1xyXG5cclxuI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogODAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICBoMSB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAoJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemUgKiAxLjYpIDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjRmZic7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyMy0yKTtcclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzQ2xvc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG4jY2hhbmdlRGV0YWlscyB7XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhY2NvdW50UG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jdGVybXMge1xyXG4gICAgbWFyZ2luOiA1MHB4IDAgMDtcclxufVxyXG5cclxuLy8gLS0tIERlbGl2ZXJ5IERldGFpbHMgLS0tIFxyXG4jZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbiNkZWxpdmVyeUNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jZGVsaXZlcnlVcGdyYWRlQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbkVycm9yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW0haW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1vcHRpb24ge1xyXG4gICAgd2lkdGg6IDI2MHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmNoZWNrb3V0LWNvbXBsZXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiNiaWxsUG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZWRpdC5jaGVja291dFBvcHVwTGluayB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHAsIGgyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpub3QoOmhvdmVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMjVweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9jZWVkKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZXJyb3JDb250YWluZXIucG9zdGNvZGVMb29rdXBTZWxlY3RDb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7IFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZGVsaXZlcnktcmVhZC1vbmx5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSIsIi8qXHJcbi0tLS0tIDQwNCAtLS0tLS0gXHJcbi0gQXJlIHlvdSBsb3N0PyBcclxuKi9cclxuXHJcbi5lcnJvci1ub3QtZm91bmQtbG9nbyB7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWxvZ28tc2l6ZSwgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRub3QtZm91bmQtbG9nby1zaXplLCBoZWlnaHQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTIuNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwNXB4O1xyXG4gICAgfVxyXG59XHJcbi5lcnJvci1ub3QtZm91bmQtY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpZiAkbm90LWZvdW5kLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3QtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgQGlmICRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkbm90LWZvdW5kLWJhY2tncm91bmQtc2l6ZTtcclxuICAgICAgICAgICAgQGlmIG5vdCAkbm90LWZvdW5kLWJhY2tncm91bmQtcmVwZWF0IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgeyBcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGgsIHNtYWxsKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGgsIGxhcmdlKTtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtaGVhZGluZy0xLWNvbG91cjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLWhlYWRpbmctMi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNjIuNXB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTI1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIExpZ2h0IGJveCAgLS0tLS1cclxuLSBUaGlzIGdldCBkaXNwbGF5ZWQgb24gcHJvZHVjdCBwYWdlcyB0byBkaXNwbGF5IHRoZSBmdWxsIHJlc29sdXRpb24gcHJvZHVjdCBpbWFnZXMuXHJcbkZ1bnRpb25hbGl0eSB0aGlzIGhvbGRzOlxyXG4tIExpZ2h0IGJveCBhY3RpdmUgLyBpbmFjdGl2ZSBzdGF0ZXMuXHJcbi0gVGhlIG92ZXJsYXkgc3R5bGVzLlxyXG4tIEFkZGl0aW9uYWwgSW1hZ2VzLlxyXG4tIDM2MCBpbWFnZSBzdXBwb3J0LlxyXG4tIFRoZSBoZWFkZXIgdGhhdCBnZXRzIGdlbmVyYXRlZC5cclxuLSBWaWRlbyBwbGF5ZXIuXHJcbiovXHJcblxyXG4vL092ZXJsYXlcclxuI2xpZ2h0Ym94LW92ZXJsYXkuYWN0aXZlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjI7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxufVxyXG5cclxuLy9MaWdodGJveFxyXG4ubGlnaHRib3gge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jbGlnaHRib3gtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgei1pbmRleDogNTAwMDtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94LWNvdW50IHtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplKSk7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvdW50LWNvbG91cjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogN3B4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWVkaXVtLXZhbHVlKCRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNsaWdodGJveC1jb250ZW50LW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxufVxyXG5cclxuI2xpZ2h0Ym94LWNvbnRlbnQtaW5uZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnJlZWwtb3ZlcmxheSB7XHJcbiAgICAvLyBPdmVycmlkaW5nIHRoZSBkaW1lbnNpb25zIGNhbGN1bGF0ZWQgYnkgdGhlIHJlZWwgcGx1Z2luLCB0aGUgaW5idWlsdCBqcyByZXNwb25zaXZlIHN1cHBvcnQgY29uZmxpY3RzIHdpdGggZm91bmRhdGlvbidzIG1lZGlhIHF1ZXJ5IHN1cHBvcnQuXHJcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8vIFRyaWdnZXIgb3ZlcmxheS5cclxuLmltYWdlIHtcclxuICAgICYubGlnaHRib3gtZW5hYmxlZCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbmxhcmdlKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtdHJpZ2dlci1pY29uLWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubGlnaHRib3gge1xyXG4gICAgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIC8vIERvbmUgbmVlZCB0byBzZXQgYWJzb2x1dGUgd2lkdGggKyBoZWlnaHQgYW55bW9yZS5cclxuICAgICAgICAvLyB3aWR0aDogJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIC8vIGhlaWdodDogJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMTVweDtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGJldHdlZW4gY29sb3Vycy5cclxuICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgLy8gRGVmYXVsdC5cclxuICAgICAgICAkYnV0dG9uLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vIEhvdmVyLlxyXG4gICAgICAgICRidXR0b24taG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAkYnV0dG9uLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkYnV0dG9uLWRlZmF1bHQsICRidXR0b24taG92ZXIsICRidXR0b24tYWN0aXZlKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWVsLW92ZXJsYXkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saWdodGJveC1jb250ZW50IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1saWdodGJveC1oZWFkZXItaGVpZ2h0KSAtICN7c3BhY2luZy12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4sIDEsIHNtYWxsKX0pO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XHJcbiAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIHBhZ2VyIHdpZHRoLlxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogbWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiB4bGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpZ2h0Qm94U2xpZGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICN7c21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZ3O1xyXG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6ICN7c21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3ttZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGVuZm9yY2UgYSBtaW4gaGVpZ2h0IGJ1dCByYXRoZXIgYWRqdXN0IHRvIGNvbnRlbnQsIGp1c3QgbWFrZSBzdXJlIHlvdSBkb24ndCBnZXQgaW50byBhIHNpdHVhdGlvbiB3aGVyZSB5b3Ugb3ZlcmZsb3cgYW5vdGhlciBlbGVtZW50IC8gdmlld3BvcnQuXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogI3ttZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAje2xhcmdlLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtdmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjB2dztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nLCAjbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcclxuICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiBtYXAtZ2V0KCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtaW1hZ2UtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBoaWdobGlnaHRpbmcgdGhlIGltYWdlLlxyXG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJldixcclxuICAgICAgICAubmV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtd2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1oZWlnaHQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRib3JkZXJSYWRpdXMxICRib3JkZXJSYWRpdXMxIDA7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggMDtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpZ2h0Ym94LXByZXYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxIDAgMCAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoIDAgJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaWdodGJveC1uZXh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXNDb250YWluZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IC0yMHB4IDZweCA2MHB4IC0xM3B4ICRjb2xvdXIyO1xyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94UGFnZXJDb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodCk7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICAvLyBib3gtc2hhZG93OiAtMjlweCAyOHB4IDU4cHggLTI5cHggJGNvbG91cjI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodCk7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC41KTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgLnBzX190aHVtYi15IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC43KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhvcml6b250YWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuICAgICAgICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXkgeyBcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC41KTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgLnBzX190aHVtYi14IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wcy0tYWN0aXZlLXgge1xyXG4gICAgICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saWdodGJveC1wYWdlci1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpOyAgICBcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLXZpZGVvIHtcclxuICAgIC8vICAgIHdpZHRoOiAyNXZ3O1xyXG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoODAlLCA1NXB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtYmFja2dyb3VuZC1jb2xvdXI7XHJcbn1cclxuXHJcbiNsaWdodGJveC12aWRlby1wbGF5ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyBBcyB3ZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IHZpZGVvcyBzdXBwbGllZCBieSB5b3V0dWJlIHNldCB0aGUgYXNwZWN0IHJhdGlvIHRvIDE2OjkgYmFzZWQgb24gdGhlIGJlc3QgZGltZW5zaW9ucyB0YWJsZSBoZXJlIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzYzNzUxMTIsIHRoZSBtYWpvcml0eSBvZiB2aWRlb3Mgd2lsbCBiZSBpbiAxOTIweDEwODAuIElmIHRoaXMgbmVlZHMgdG8gYmUgcmVtb3ZlZCBhIGFic29sdXRlIGhlaWdodCB3aWxsIG5lZWQgdG8gYmUgYXBwbGllZCB0aGUgaWZyYW1lLlxyXG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xyXG59IiwiLypcclxuLS0tLS0gTWFnbmlmaWVyIC0tLS0tIFxyXG5UaGlzIGlzIHByaW1hcmlseSB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2Ugd2hlbiB5b3UgaG92ZXIgb3ZlciB0aGUgbWFpbiBpbWFnZS5cclxuKi9cclxuXHJcbi5pbWctbWFnbmlmaWVyLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uaW1nLW1hZ25pZmllci1nbGFzcyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG59XHJcblxyXG4vLyBJZiBtYWduaWZpY2F0aW9uIGlzIGFjdGl2ZSBvbiBhIGxpZ2h0Ym94IGVuYWJsZWQgaW1hZ2UgdGhlbiByZWR1Y2UgdGhlIGxpZ2h0Ym94IGljb24gZG93biBhcyB0aGlzIGNhbiBnZXQgaW4gdGhlIHdheSBvZiB0aGUgbWFnbmlmaWNpYXRpb24gZ2xhc3MuXHJcbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS5tYWduaWZpY2F0aW9uLWNvbnRhaW5lci5pbWFnZSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZywgbWFnbmlmaWNhdGlvbi1ob3Zlcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3soJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplIC8gMil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgIC5tYWduaWZ5aW5nLWdsYXNzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuXHJcbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgLm1hZ25pZmllci1jb250cm9sIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGUtaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgem9vbS1vdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHpvb20taW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gYnhTbGlkZXIgKCBDYXJvdXNlbHMgKSAtLS0tLS0gXHJcbi0gaHR0cHM6Ly9ieHNsaWRlci5jb20vXHJcbi0gVGhpcyBoYW5kbGVzIGFsbCB0aGUgZGlzcGxheSBzdHlsZXMgZm9yIGNhcm91c2VscyAvIHNsaWRlc2hvd3MgYXJvdW5kIGV4cHJlc3MgdGhpcyBjYW4gYmUgaW4gYSBtb2R1bGUgb3IgYWRkaXRpb25hbCBpbWFnZXMgb24gdGhlIHByb2R1Y3QgcGFnZSwgdGhlIGNvbnRlbnQgaXMgbm90IHJlc3RyaWN0ZWQgdG8ganVzdCBpbWFnZXMgYnV0IGNhbiBleHRlbmQgdG8gZGlzcGxheSBwcm9kdWN0IC8gZWJnJ3MuIFxyXG4qL1xyXG5cclxuXHJcbi5jYXJvdXNlbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYuYngtdW5kZXJsaW5lIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tdW5kZXJsaW5lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ieC1zaGFkb3cge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRyYW5zaXRpb24tbW9kZS1ob3Jpem9udGFsIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudHJhbnNpdGlvbi1tb2RlLWhvcml6b25hbCwgJi50cmFuc2l0aW9uLW1vZGUtZmFkZSB7XHJcbiAgICAgICAgLmJ4LXZpZXdwb3J0IHtcclxuICAgICAgICAgICAgLy8gb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogY2xpcCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgYSBkdXBsaWNhdGlvbiBvZiBjb2RlIGFzIHRoaXMgaXMgZGVmaW5lZCBpbiB0aGUgLmNvbGxlY3Rpb24gY2xhc3MsIHRoaXMgZGVwZW5kYW5jeSBzaG91bGQgYmUgd29ya2VkIG91dCB0aGUgc3lzdGVtIG9uY2UgODE3MTM4IGlzIGRvbmUgYnV0IGN1cnJlbnRseSB0aGVyZSBpcyBhIGRpc2Nvbm5lY3QgYmV0d2VlbiBjYXJvdXNlbCBzcGFjaW5nIGFuZCBncmlkIHNwYWNpbmcuXHJcbiAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy9TbGlkZSBzdHlsZXMsIHRoaXMgaGFuZGxlcyBiYXNpYyBiYW5uZXIgY2Fyb3VzZWwgc3R5aW5nIHRvIG11bHRpcGxlIHNsaWRlIHByb2R1Y3QgY2Fyb3VzZWxzLlxyXG4vLyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgIC8vIFRPRE86IHRoaXMgaXMgbm90IGEgZml4IGFuZCBuZWVkIGFkZGl0aW9uYWwgd29yay4uLiA4MTY1MDBcclxuICAgIC8vIFlvdSBtdXN0IGFkZCBwYWRkaW5nIGlmIHNoYWRvdyBpcyBlbmFibGVkLlxyXG4gICAgLy8gJi5tdWx0aS1jb2wtcGFkZGluZyB7XHJcbiAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAvLyB9ICAgXHJcbi8vIH1cclxuXHJcbltkYXRhLWJ4U2xpZGVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLCAuY21zLWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbCgpO1xyXG59XHJcblxyXG4uYngtc2VwZXJhdG9yIHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgJiArIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtdmlld3BvcnQge1xyXG4gICAgei1pbmRleDogMTtcclxuICAgID4gZGl2IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbltpZCQ9XCItY2Fyb3VzZWwtY29udGFpbmVyXCJdIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbnRyb2xzIC0tLS0tXHJcbi8vTm9ybWFsIC8gZmFsbGJhY2ssIG1lZGl1bSBzaXplZCBidXR0b25zLlxyXG4uY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgICAgICBoZWlnaHQ6ICBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEaWN0YXRlcyB3aGV0aGVyIHRoZSBjb250cm9scyBzaG91bGQgYmUgd2l0aGluIGNhcm91c2VsIGNvbnRhaW5lciBvciBvdmVyZmxvdy5cclxuLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHMge1xyXG4gICAgQGlmIG5vdCAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgICAgICAmOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5zbWFsbENvbnRyb2xzIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHNtYWxsIGNvbnRyb2xzIHBvc2l0aW9uaW5nLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxhcmdlQ29udHJvbHMge1xyXG4gICAgICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG5cclxuICAgIH1cclxuICAgICAgXHJcbn1cclxuXHJcbi8vTGFyZ2UgY29udHJvbHMsIHBpbm5lZCB0byB0aGUgbGVmdC9yaWdodCBvZiB0aGUgc2xpZGVyIHdpdGggZW5sYXJnZWQgYnV0dG9uIGFyZWEuXHJcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbiAgICAvL1RoaXMgY2xhc3MgaXMgb25seSB1c2VkIGlmIGEgcGFnZXIgaXMgYWN0aXZlLlxyXG4gICAgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgQGlmIG5vdCAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gVG9vIGFsbG93IGZvciBhIGd1dHRlciBiZXR3ZWVuIHRoZSBidXR0b25zLlxyXG4gICAgICAgICAgICAkYnV0dG9uLWd1dHRlcjogJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoKHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKSAqIDIpICsgKCRidXR0b24tZ3V0dGVyICogMikpO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRidXR0b24tZ3V0dGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKChsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucykgKiAyKSArICRidXR0b24tZ3V0dGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAnYm90dG9tLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICdib3R0b20tbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpIC8gMi41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyNCwgJHBvaW50TGVmdCwgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpIC8gMi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXI0LCAkcG9pbnRSaWdodCwgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpIC8gMi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoIHNvbGlkIGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgZGVmYXVsdCk7IFxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5jYXJvdXNlbC5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbi8vICAgICAuYngtcHJldiwgLmJ4LW5leHQge1xyXG4vLyAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4vLyAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiA4cHg7XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbkBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgIC5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRyb2xzIGNvbnRhaW5lciBwb3NpdGlvbmluZy5cclxuQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1yaWdodFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtbGVmdFwiIHtcclxuICAgICAgICAgICAgLmNhcm91c2VsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAuYngtdmlld3BvcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcImJvdHRvbS1yaWdodFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtcmlnaHRcIiB7ICBcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJib3R0b20tbGVmdFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtbGVmdFwiIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzLCAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0gQGVsc2Uge1xyXG4gICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLnNtYWxsLXdpZGUtY29udHJvbHMge1xyXG4gICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1uZXh0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC1jb250cm9scyB7XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGlmICRieC1jb250cm9scy1pY29uLXNoYWRvdyB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRieC1jb250cm9scy1pY29uLXNoYWRvdyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7c21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je2xhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSl9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1uZXh0KTtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYngtcHJldiwgLmJ4LW5leHQge1xyXG4gICAgLy8gTWFrZSBqdXN0IHRoZSBidXR0b25zIG92ZXJsYXAgdGhlIHRoZSBjYXJvdXNlbCBjb250ZW50cy5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5ieC1wcmV2IHtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJ4LW5leHQge1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gUHJldmVudHMgZmxhc2hpbmcgY29udGVudCBvbiBwYWdlIGxvYWQuXHJcbmRpdltkYXRhLWJ4U2xpZGVyXSB7XHJcbiAgICAvLyBHZXQgY29sdW1uIGNvdW50LlxyXG4gICAgLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIHRoZSBDU1MgZnVuY3Rpb24gYXR0cigpIGlzIGluIG1haW5zdHJlYW0gc3VwcG9ydCBidXQgdHlwZSgpIGlzIG5vdCB3aGljaCB3ZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHZhbHVlIGZyb20gc3RyaW5nIHRvIGludGVnZXIgdG8gYmUgdXNlZCBpbiBjYWxjKCkgZnVuY3Rpb24uIFxyXG4gICAgQGZvciAkY29sdW1ucyBmcm9tIDEgdGhyb3VnaCAxMiB7XHJcbiAgICAgICAgJltieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW5zfVwiXSB7XHJcbiAgICAgICAgICAgIC0tY29sdW1uczogI3skY29sdW1uc307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJjpub3QoW2J4LXNsaWRlci1pZF0pIHtcclxuICAgIC8vICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgIC8vIH1cclxuICAgICY6bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBQcmUtaW5pdGlhbGlzZWQgY29sdW1uIGFycmFuZ2VtZW50LCB0aGlzIGlzIGZvbGxvd2luZyB0aGUgc2FtZSBydWxlcyBhcyBncmlkIG1vZHVsZXMgaW4gX21vZHVsZXMtdjIuc2NzcyAuY29sbGVjdGlvbiAmIC5ncmlkLWNvbGxlY3Rpb24teFxyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgLy8gQXBwbHkgcmVzcG9uc2l2ZSBjb2x1bW4gY291bnQsIHRoaXMgbWlycm93IGhhbmRsZWJhcnMgaGVscGVycyBzbWFsbC1jb2x1bW4tY291bnQuanMgJiBtZWRpdW0tY29sdW1uLWNvdW50LmpzLlxyXG4gICAgICAgIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xyXG4gICAgICAgIC0tbWVkaXVtLWNvbHVtbnM6IGNhbGModmFyKC0tc21hbGwtY29sdW1ucykgKyAxKTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1zbWFsbC1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgIC8vIEFwcGx5IGdhcC5cclxuICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1pbml0aWFsaXNpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1jb2xvdXIpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC12aWV3cG9ydCB7XHJcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG59XHJcbi8vIE1ha2VzIGV2ZXJ5IHNsaWRlIGRpc3BsYXk6IGJsb2NrIG90aGVyd2lzZSB5b3UgbG9zZSB0aGUgYW5pbWF0aW9uIGVmZmVjdCBmb3IgdHJhbnNpdGlvbmluZy5cclxuLmNhcm91c2VsIC5ieC12aWV3cG9ydCB7XHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIG5vdyBnZXRzIGhhbmRsZWQgYnkgdGhlIC50cmFuc2l0aW9uLW1vZGUtIGNsYXNzZXMsIGhlaWdodDogMTAwJSBhbHNvIGNhdXNlIGJ4c2xpZGVyIHRvIGluY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgc2xpZGUgaGVpZ2h0IHdoZW4gaW4gZmFkZSBtb2RlLlxyXG4gICAgICAgIC8vIE5lZWQgdG8gc2V0IDEwMCUgaW4gbW9iaWxlIHRvIGtlZXAgYWxsIGNlbGxzIHRoZSBzYW1lIGhlaWdodC5cclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBQYWdlciAtLS0gXHJcbi5ieC1wYWdlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAuYngtcGFnZXItaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAoJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zICogMS41KTtcclxuICAgICAgICBoZWlnaHQ6ICgkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnMgKiAxLjUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCA3LjVweDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRieC1wYWdlci1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRieC1wYWdlci1idXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1wYWdlci1idXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eSwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87ICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRoaXMgY2xhc3MgZ2V0IGFzc2lnbmVkIHdoZW4gdGhlIHNsaWRlIGlzIGFjdGl2ZSBOT1Qgd2hlbiB0aGUgYnV0dG9uIGlzIGFjdGl2ZS5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHksIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFNsaWRlcnMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBUaGlzIGlzICpOT1QqIGNhcm91c2VsIGZ1bmN0aW9uYWxpdHkgcGxlYXNlIHJlZmVyIHRvIGJ4c2xpZGVyLnNjc3MgZm9yIHRoYXQuXHJcbi0gVGhpcyBpcyBmb3JtIGZvcm0gY29udHJvbHMgd2hlcmUgeW91IHJlcXVpcmUgYW4gaW5wdXQgdHlwZSA9IHNsaWRlci5cclxuLSBUaGUgc3RseWVzIGhlcmUgd2lsbCBhbHNvIGhhdmUgYSBoZWF2eSBpbmZsdWVuY2Ugb24gdGhlIHByaWNlIHNsaWRlciBmb3IgZmlsdGVycy5cclxuKi9cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgaGVpZ2h0OiAkc2xpZGVyLXJhaWwtaGVpZ2h0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHNsaWRlci1yYWlsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFkZCBlcnJvciBzdHlsZXMuXHJcbiAgICAmLnNsaWRlci1pbnZhbGlkIHtcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudWktc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBTbGlkZXIgSGFuZGxlIC0tLS0gXHJcbi8vIFRoZSB0aGluZ3MgdGhhdCB5b3UgcHVsbCBvbi5cclxuLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtLjVlbTtcclxuICAgIC8vIElmIHRoZSBoYW5kbGUgaXMgaW4gdGhlIG1pbiBwb3NpdGlvbiB0aGUgcmFpbCBiZWxvdyBpcyBzdGlsbCBleHBvc2VkLlxyXG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3VyMTtcclxuXHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLy8gLS0tLS0gU2xpZGVyIFJhbmdlIC0tLS0tIFxyXG4vLyBUaGUgY29sb3VyZWQgYXJlYSAoIHRoZSBzZWxlY3RlZCBzZWN0aW9uIClcclxuLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgLy8gQWRkaW5nIGFkZHRpb25hbCB3aWR0aCArIGhlaWdodCBzbyB0aGUgcmFuZ2Ugb3ZlcmZsb3dzIHRoZSByYWlsJ3MgYm9yZGVyLlxyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLy8gVG8gb3ZlcmxhcCB0aGUgcmFuZ2UgY29sb3VyaW5nIG92ZXIgdGhlIHJhaWwncyBib3JkZXIuXHJcbiAgICAmLnVpLXNsaWRlci1yYW5nZS1taW4ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVpLXNsaWRlci1yYW5nZS1tYXgge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG4vLyAtLS0tLSBFcnJvciBjb250YWluZXIgLS0tLS0gXHJcbi5zbGlkZXItZXJyb3JzIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfSAgICBcclxufSIsIlxyXG5bZGF0YS10b29sdGlwXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbnNwYW4udG9vbHRpcC10cmlnZ2VyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgIC8vIGRpc2FibGVzIHRoZSBpT1MgY2FsbG91dCBtZW51XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAgICAvLyBkaXNhYmxlcyB0ZXh0IHNlbGVjdGlvblxyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAgLy8gYm9udXM6IGtpbGxzIHRoZSB0YXAgZmxhc2guXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluZm8pO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSA1KSAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSAyKTtcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1pbmZvLWljb24tc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyBOZWVkIHRvIHNldCBiYXNlbGluZSBpZiBtdWx0aXBsZSB0ZXh0IHN0cmluZ3Mgd3JhcHBlZCBpbiBodG1sIGVsZW1lbnRzIHRvIGVuc3VyZSB0aGV5IGFsbCBmb2xsb3cgdGhlIHNhbWUgdmVydGljYWwgYWxpZ25tZW50ICggaS5lIFNPSCBub3RpZmljYXRpb25zICkuXHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBkdWUgdG8gaGF2ZSBhIHRvb2x0aXAgZGlyZWN0bHkgdW5kZXIgYW5kIGluc3RhbmNlIGNhdXNlIHRoZSBidXR0b25zIHRvIG92ZXJsYXAgdGhlIGNvbnRlbnQgYXJlYS5cclxuICAgIC8vIHotaW5kZXg6IDUwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICYud2FybmluZywgJi5hbGVydCB7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSwgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCAgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSwgbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVucmVhZC1zdGF0ZS1vbik7XHJcbiAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXQ6IDhweDtcclxuXHJcbiAgICAmLmFsaWduLXJpZ2h0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgb3ZlcmZsb3dpbmcgbGVmdCB0aGVuIG92ZXJyaWRlLlxyXG4gICAgJi5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLWxlZnQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBvdmVyZmxvd2luZyByaWdodCB0aGVuIG92ZXJyaWRlLlxyXG4gICAgJi5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIC8vIEFkZGluZyB0aGUgdGlwIHRvIHRoZSB0b29sdGlwLlxyXG4gICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgJHRvb2x0aXAtY29udGVudC1ib3JkZXIsICR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gVG8gc3RvcCB0aGUgY29udGVudCBmcm9tIGZsYXNoaW5nIG9uIHBhZ2UgbG9hZC5cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG4udG9vbHRpcC1jb250ZW50IHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCk7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgLy90b3A6ICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAqIDMpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAjeyR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemV9cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICN7JHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGh9cHggc29saWQgJHRvb2x0aXAtY29udGVudC1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSwgYSwgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRvb2x0aXAtY29udGVudC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvb2x0aXAtY29udGVudC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFJlYWQgbW9yZSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFJldmVhbGluZyBhZGRpdGlvbmFsIG1hcmt1cCwgdGhpcyBjYW4gaW5jbHVkZSB0ZXh0IG9yIGltYWdlcy5cclxuLSBIb3cgdGhlIGZhZGUgLyBncmFkaWFudCBnZXRzIHVzZWQgd2hlbiBjdXR0aW5nIG9mIHRoZSBvdmVyZmxvd2luZyBjb250ZW50LlxyXG4qL1xyXG5cclxuLnJlYWQtbW9yZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLmNvbnRhaW5lci1jYWxjdWxhdGlvbi13YWl0aW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIC8vIG92ZXJyaWRlIGNsb3NlZCBoZWlnaHQuXHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1vcGVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9iaWxlLW9ubHkge1xyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tb2JpbGUtb25seSB7XHJcbiAgICAgICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICZbcm0tcmV2ZWFsPXRydWVdIHtcclxuICAgIC8vICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgIC8vIH1cclxuICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgLy8gTGV0dGluZyB0aGlzIGZhbGwgbmF0dXJhbGx5IG9uIHRoZSBwYWdlLlxyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMjRweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnJlYWQtbW9yZSB7XHJcbiAgICAvLyBSdWxlcyB0byBzaG93IGZhZGUuXHJcbiAgICAvLyBJZiB0aGUgZmFkZSBpcyBub3QgZGlzYWJsZWQgYnkgdGhlIEpTIGR1ZSB0byBsb3cgY29udGVudC5cclxuICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHJlYWQgbW9yZSBlbGVtZW50IHRoYXQgYWxsb3dzIHRoZSBmYWRlIGVmZmVjdCBhbmQgbm90IGp1c3QgdXNpbmcgdGggcmV2ZWFsIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGlzIGlzIGp1c3QgYSBtb2JpbGUgb25seSByZWFkIG1vcmUgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgY29udGVudCBidXQgbG9va3Mgb2sgb24gZGVza3RvcC5cclxuICAgICAgICAmLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgYWN0aXZlIHRoZW4gZGlzYWJsZSBmYWRlLlxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQge1xyXG4gICAgICAgICAgICAmID4gcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgICAgIC8vIEFzIDE3LjEwLjIwMjUgdGhlcmUgaXMgbm8gb2ZmaWNpYWwgc3VwcG9ydCBsaW5lLWNsYW1wIGluIENTUydzIHNwZWMgYnV0IGhhcyBnb29kIGdlbmVyYWwgYnJvd3NlciBzdXBwb3J0IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9saW5lLWNsYW1wLlxyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiB2YXIoLS1yZWFkLW1vcmUtbGluZS1jbGFtcCk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgbm90IG1vYmlsZSBvbmx5LlxyXG4gICAgLy8gJjpub3QoLmFjdGl2ZSk6bm90KC5tb2JpbGUtb25seSk6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAvLyAgICAgLy8gSWYgZmFkZSBpcyBub3QgZGlzYWJsZWQuXHJcbiAgICAvLyAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIElmIG1vYmlsZSBvbmx5LlxyXG4gICAgLy8gJjpub3QoLmFjdGl2ZSkubW9iaWxlLW9ubHkge1xyXG4gICAgLy8gICAgIC8vIElmIGZhZGUgaXMgbm90IGRpc2FibGVkLlxyXG4gICAgLy8gICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH0gICBcclxuICAgIC8vIEJlZm9yZSBpbml0aWFsaXNhdGlvbiBoaWRlIGNvbnRlbnQgdG8gcHJldmVudCBjb250ZW50IGZyb20gZmxhc2hpbmcgdXAuXHJcbiAgICAmOm5vdChbcm0taWRdKSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9IFxyXG59XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBBdXRvIENvbXBsZXRlICggUHJlZGljdGl2ZSBTZWFyY2ggKSAtLS0tLS0gXHJcblRoZSBkcm9wZG93biB5b3Ugc2VlIHdoZW4geW91IHN0YXJ0IHR5cGluZyBpbiBhIHF1ZXJ5IHdpdGhpbiB0aGUgc2VhcmNoIGJhciBpbiB0aGUgaGVhZGVyLlxyXG4qL1xyXG5cclxuXHJcbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCB0b3ApIG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgc2lkZSkgbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCBib3R0b20pO1xyXG4gICAgPiB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGFjLXJlc3VsdHMtd2lkdGggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA2JTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjLXJlc3VsdHMtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgei1pbmRleDogNTAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWMtcmVzdWx0cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIEluY3JlYXNlZCB6LWluZGV4IHRvIGJlIG9udG9wIG9mIGJhc2tldCBzdW1tYXJ5LlxyXG4gICAgICAgIHotaW5kZXg6IDIwMDAwMTtcclxuICAgIH1cclxuICAgIC8vIE9wZW5pbmcgYW5kIGNsb3NpbmcuXHJcbiAgICAmLnNjcm9sbGVyIHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gdWwsIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAkaGVhZGVyLXNlYXJjaC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIHBhZGRpbmc6ICRhYy10aXRsZS1jb2xsZWN0aW9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpZiAoc21vb3RoLWVkZ2VzKCRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXIpIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxuICAgIC5hYy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYWMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGlmICgkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRhYy10aXRsZS1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgfVxyXG4gICAgLnZpZXctYWxsIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLXZpZXctYWxsLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjLXZpZXctYWxsLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdmlldy1hbGwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhdXRvLWNvbXBsZXRlLXZpZXctYWxsKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtdmlldy1hbGwtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG4uYWMtdGl0bGUtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogJGFjLXRpdGxlLW1hcmdpbjtcclxuICAgIGZvbnQtc3R5bGU6ICRhYy10aXRsZS1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRhYy10aXRsZS1mb250LXdlaWdodDtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgQGlmICgkYWMtdGl0bGUtZm9udC1zaXplKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdGl0bGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpZiAoJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRhYy10aXRsZS1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxufVxyXG4uYWMtaXRlbS1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAkYWMtaXRlbS1saXN0LXBhZGRpbmc7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgJi5jb2x1bW4ge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6bm90KC5jb2x1bW4pIHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgICYucm93IHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5hYy1pdGVtIHtcclxuICAgIG1hcmdpbjogJGFjLWl0ZW0tbWFyZ2luO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYSBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSwgLmFjLWl0ZW0tbXVsdGltZWRpYS1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG1hcmdpbjogJGFjLWl0ZW0taW1hZ2UtbWFyZ2luO1xyXG4gICAgICAgIGJvcmRlcjogJGFjLWl0ZW0tYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgLy8gVG9vIGFiaWd1b3VzIG5vdyB0aGF0IHdlIG5lZWQgdG8gYWxzbyBkaXNwbGF5IHJlZmVyZW5jZSBhcyB3ZWxsIGFzIGRlc2NyaXB0aW9uLlxyXG4gICAgLy8gc3BhbiB7XHJcbiAgICAvLyAgICAgZmxleC1iYXNpczogMTMwcHg7XHJcbiAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwIDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogJGFjLWl0ZW0tcGFkZGluZztcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGlmICgkYWMtaXRlbS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRhYy1pdGVtLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGFjLWl0ZW0tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLWl0ZW0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBpZiAoJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWMtaXRlbS1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRhYy1pdGVtLWNvbnRlbnQtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRhYy1pdGVtLWNvbnRlbnQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tcmVmZXJlbmNlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyKTtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1zbmlwcGV0IHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXNuaXBwZXQtY29sb3VyKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU2VhcmNoIGNvbnRhaW5lciB3aGVuIHJlc3VsdCBoYXZlIGJlZW4gZm91bmQuXHJcbi5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC5hamF4LXNlYXJjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gVGhlIGNvbnRhaW5lciBmb3IgZW50aXJlIGF1dG8gY29tcGxldGUgY29tcG9uZW50cy5cclxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogOTAwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvL3RyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgLy8gRG9uJ3QgaGlkZSBvdmVyZmxvdyBkdWUgdG8gdXNpbmcgYm94LXNoYWRvd3MuXHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAvL3RyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAuYWMtaXRlbS1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4vLyBPcmlnaW5hbCBTb3VyY2U6XHJcbi8vIGh0dHBzOi8vY29kZXBlbi5pby9pYW1udXh0L3Blbi9kUnhCWHhcclxuLy8gaHR0cHM6Ly9jb2RlcGVuLmlvL2lhbW51eHQvcGVuL3Zab0pQYVxyXG5cclxuLnNhIHtcclxuICAgIHdpZHRoOiAoJHNhLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICBoZWlnaHQ6ICgkc2EtZGltZW50aW9ucyArIDEwKTtcclxuICAgIG1hcmdpbjogJHNhLW1hcmdpbjtcclxuICAgICYtd2FybmluZyB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHNhLXdhcm5pbmctZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkc2Etd2FybmluZy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzY2FsZVdhcm5pbmcgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAvLyBhbmltYXRpb246IHB1bHNlV2FybmluZyAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kb3Qge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1lcnJvciB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHNhLWFsZXJ0LWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLWFsZXJ0LWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlRXJyb3JJY29uIC41cztcclxuICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAwIDAgNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICB0b3A6IC0xMXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDYwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYteCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAvLyBib3JkZXI6IDRweCBzb2xpZCAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWZpeCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgbGVmdDogMjhweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGVmdCxcclxuICAgICAgICAmLXJpZ2h0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGVmdCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDE3cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWExlZnQgLjc1cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcmlnaHQge1xyXG4gICAgICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWFJpZ2h0IC43NXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBFcnJvciBBbmltYXRpb24gLS0tLS1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSxcclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZUVycm9ySWNvbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlWExlZnQge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNjUlIHtcclxuICAgICAgICBsZWZ0OiA4MnB4O1xyXG4gICAgICAgIHRvcDogOTVweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiAzM3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGxlZnQ6IDE3cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYUmlnaHQge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNjUlIHtcclxuICAgICAgICByaWdodDogODJweDtcclxuICAgICAgICB0b3A6IDk1cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICByaWdodDogMTRweDtcclxuICAgICAgICB0b3A6IDMzcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBXYXJuaW5nIEFuaW1hdGlvbiAgLS0tLS1cclxuXHJcbkBrZXlmcmFtZXMgc2NhbGVXYXJuaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZ0lucyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91clxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBTdWNjZXNzIHRpY2tcclxuLmNoZWNrX21hcmsge1xyXG4gICAgd2lkdGg6IChtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIHdpZHRoKSArIDEwKTtcclxuICAgIGhlaWdodDogKG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgaGVpZ2h0KSArIDEwKTtcclxuICAgIG1hcmdpbjogJHNhLW1hcmdpbjtcclxufVxyXG5cclxuLnNhLWljb24ge1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICBib3JkZXI6IDRweCBzb2xpZCAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUsXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEyMHB4IDAgMCAxMjBweDtcclxuICAgIHRvcDogLTdweDtcclxuICAgIGxlZnQ6IC0zM3B4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xyXG4gICAgdG9wOiAtMTFweDtcclxuICAgIGxlZnQ6IDMwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLXBsYWNlaG9sZGVyIHtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgLy8gYm9yZGVyOiA0cHggc29saWQgJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTRweDtcclxuICAgIHRvcDogLTRweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWZpeCB7XHJcbiAgICB3aWR0aDogNXB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyOHB4O1xyXG4gICAgdG9wOiA4cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIFxcOTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgXFw5O1xyXG59XHJcblxyXG4uYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1cztcclxufVxyXG5cclxuLmFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzTG9uZyAwLjc1cztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICB0b3A6IDM4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA1NCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGxlZnQ6IDIxcHg7XHJcbiAgICAgICAgdG9wOiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDU0JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgbGVmdDogMjFweDtcclxuICAgICAgICB0b3A6IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNjUlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIHRvcDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgIHRvcDogMzhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBsZWZ0OiAxNHB4O1xyXG4gICAgdG9wOiA0NnB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XHJcbiAgICB3aWR0aDogNDdweDtcclxuICAgIHJpZ2h0OiA4cHg7XHJcbiAgICB0b3A6IDM4cHg7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTm90aWZpY2F0aW9ucyAoIENhbGxvdXRzICkgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBPbiBwYWdlIG5vdGljYXRpb25zICggbm8gaXRlbXMgZm91bmQgKSBcclxuLSBIZWFkZXIgbm90aWZpY2F0aW9ucy5cclxuLSBDb29raWUgbm90aWZpY2F0aW9uLlxyXG4tIENhbGxvdXRzICggdGhpbmdzIHRoYXQgc2xpZGUgb3V0IGZyb20gdGhlIGVkZ2VkIG9mIGEgd2luZG93ICkgXHJcbi0gTm8gSmF2YXNjcmlwdCBub3RpZmljYXRpb25cclxuLSBCcm93c2VyIGNvbXBhdGlibGl0eSBub3RpZmljYXRpb24gXHJcblxyXG4qL1xyXG5cclxuLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6bm90KC5jbG9zZS1idXR0b24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFsZXJ0IHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53YXJuaW5nIHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5zdWNjZXNzIHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgsICRjb2xvdXIxKTtcclxuICAgIH1cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY2FsbG91dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBUaGVzZSBub3JtYWxseSBzbGlkZSBvdXQgZnJvbSB0aGUgdG9wIG9yIHNpemUuXHJcblxyXG4uY2FsbG91dC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk5OTk5O1xyXG4gICAgJi5zaWRlIHtcclxuICAgICAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90aWZpY2F0aW9uLWNhbGxvdXQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgIEBpZiAoJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfSAgIFxyXG4gICAgICAgIC8vIEZha2UgYmFja2dyb3VuZCB0byBwcmV2ZW50IHdoYXRldmVyIGlzIGJlaGluZCB0aGUgbm90aWZpY2F0aW9uIHNob3dpbmcgdGhyb3VnaC5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjVweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDRweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgsICRjb2xvdXIzLTIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGVtYmVkZGVkIGluIHRoZSBtYWluIGNvbnRlbnQuXHJcbi5vbi1wYWdlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbn1cclxuLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcclxuICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkbm8taXRlbXMtZm91bmQtcGFkZGluZywgJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiwgJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSwgJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZSk7XHJcbn1cclxuXHJcblxyXG4ubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHtcclxuICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRuby1pdGVtcy1mb3VuZC1wYWRkaW5nLCAkbm8taXRlbXMtZm91bmQtbWFyZ2luLCAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplLCAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplKTtcclxufVxyXG5cclxuLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJGludGVybmFsLWVycm9yLXBhZGRpbmcsICRpbnRlcm5hbC1lcnJvci1tYXJnaW4sICRpbnRlcm5hbC1lcnJvci1mb250LXNpemUsICRpbnRlcm5hbC1lcnJvci1pY3Jvbi1zaXplKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7IFxyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIE92ZXJyaWRlIGFjdGl2ZSBjbGFzcyBhcyB5b3UgYWx3YXlzIHdhbnQgdGhpcyB0byBiZSBhY3RpdmUuXHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSwgMC45KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gLS0tLS0gTm90aWZpY2F0aW9ucyAtLS0tLSBcclxuLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB6LWluZGV4OiAyMDAwO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbnMtei1pbmRleDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDNzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgYXV0byAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb25zLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90aWZpY2F0aW9ucy1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbm90aWZpY2F0aW9ucy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvIGxhcmdlLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkbm90aWZpY2F0aW9ucy1pY29uLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBjb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAoc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpICsgNSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBbY2xhc3MkPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIDJzLCBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wICR0cmFuc2l0aW9uSW50cm8sIG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybyxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbm90aWZpY2F0aW9ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLXRyaWdnZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1mb250LXdlaWdodDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnB3YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWNhdGlvbnMtYXBwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgJi5jb29raWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gSW1hZ2UgT3ZlcmxheXMgLS0tLSBcclxuXHJcbkltYWdlIG92ZXJsYXlzIGZvciBlc3NlbnRpYWxseSBoaWdobGlnaHRlZCBpdGVtczpcclxuLSBTcGVjaWFsIE9mZmVyc1xyXG4tIEZlYXR1cmVkIEl0ZW1zXHJcbi0gQmVzdCBTZWxsZXJzXHJcbi0gUHJldmlvdXNseSBQdXJjaGFzZWRcclxuXHJcblRoZXNlIG5vcm1hbGx5IGFyZSB0aGUgc2l6ZSBvZiB0aGUgcHJvZHVjdCBpbWFnZSB3aGV0aGVyIGl0cyBvbiBhIGxpc3Rpbmcgb3IgcHJvZHVjdCBwYWdlIHdpdGggYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG5cclxuV2UgYWxsb3cgZm9yIGRpZmZlcmVudCBpbWFnZXMgdG8gYmUgZGlzcGxheWVkIGlmIGEgZ3JvdXAgaXMgbWFya2VkIGFzIGEgaGlnaGxpZ2h0ZWQgaXRlbSBvciB3aGV0aGVyIGl0cyBhbiBpbmRpdmlkdWFsIHByb2R1Y3QuXHJcblxyXG4qL1xyXG5cclxuLy8gU3VwcHJlc3Mgb3ZlcmxheXMgaWYgeW91J3JlIG9uIHRoZSBkZWRpY2F0ZWQgcGFnZS5cclxuI3NwZWNpYWwtb2ZmZXJzIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4jZmVhdHVyZWQtaXRlbXMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWR7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4jYmVzdC1zZWxsZXJzIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXJ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFNwZWNpZmljYWxseSBub3QgZm9yIGNvbXBhY3QgY2Fyb3VzZWxzIG92ZXJsYXkgcG9zaXRpb25pbmcuXHJcbi5jb250ZW50LWNvbnRhaW5lcjpub3QoLmNvbXBhY3QpIHtcclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2VudGVyYWxpc2UgdGhlIHByb2R1Y3Qgb3ZlcmxheSBvdmVyIHRoZSBtYWluIHByb2R1Y3QgaW1hZ2UuXHJcbiNtYWluSW1hZ2VDb250YWluZXIge1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpbWFnZS1vdmVybGF5LXBvc2l0aW9uO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpoYXMoaW1nW3NyYyQ9XCIucG5nXCJdKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLm92ZXJsYXkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBBbHdheXMgc2NhbGUgZG93biB0aGUgaW1hZ2UgdG8gZml0IHdpdGhpbiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgLy8gU1ZHJ3MgbWF5IG5vdCBoYXZlIGEgd2lkdGggIGF0dHJpYnV0ZSBzZXQsIHNvIHdlIG5lZWQgdG8gYXNzdW1lIHRvIHNjYWxlIHRvIHRoZSBtYXggYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgICAgICZbc3JjJD1cIi5zdmdcIl0sICZbc3JjJD1cIi5TVkdcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAvLyBFeHBhbmQgdG8gMTAwJSBvZiB0aGUgYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IGlzIGFsaWduZWQgY2VudGVyLCB5b3UgY2Fubm90IHJlbHkgb24gdGhlIGltYWdlIGJlaW5nIHByb3ZpZGVkIGF0IHRoZSBjb3JyZWN0IHNpemUuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gU2V0dGluZyBzaXplIHRvIGNvbnRhaW4gb3RoZXJ3aXNlIGltYWdlIHdpbGwgb3ZlcmZsb3cgdGhlIHByb2R1Y3QgaW1hZ2UgaW4gY2Fyb3VzZWxzLlxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmdyb3VwLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtc3BlY2lhbC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ncm91cC5mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ3JvdXAuYmVzdFNlbGxlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtc3BlY2lhbC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLmZlYXR1cmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAncHJvZHVjdC9zYXNoLWZlYXR1cmVkLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suYmVzdFNlbGxlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLnByZXZpb3VzbHktcHVyY2hhc2VkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtcHJldmlvdXNseS1wdXJjaGFzZWQucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHByZXZpb3VzbHktcHVyY2hhc2VkKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgICYuc3RvY2suY29udHJhY3QtaXRlbSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGNvbnRyYWN0LWl0ZW0pO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCJcclxuXHJcblxyXG5bZGF0YS1jb3VudGRvd24tdGltZV0ge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4uY291bnRkb3duLWNvbnRhaW5lciB7XHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9kdWN0LWVucXVpcnktZGVsaXZlcnktY291bnRkb3duKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDdweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY291bnRkb3duLWRpc3BsYXktZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmICsgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIHtcclxuICAgICAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSB7XHJcbiAgICAgICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gVHJhbnNpdGlvbnMgLS0tXHJcbiAgICAmLmNvdW50ZG93bi1pbmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmNvdW50ZG93bi1hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDVzO1xyXG4gICAgfVxyXG4gICAgXHJcbn0iLCJcclxuLypcclxuXHJcbi0tLS0tIFBXQSAoIFByb2dyZXNzaXZlIFdlYiBBcHBsaWNhdGlvbiApIC0tLS0tIFxyXG4tIEluc3RhbGxhdGlvbiBwcm9tcHQuXHJcblxyXG4qL1xyXG4iLCIvKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cclxuXHJcbi8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhlIHNwYWNpbmcgd2FzIGZhaXJseSBjb25zaXN0ZW50IGR1ZSB0byBhIFwiIHNpbXBsaXNoIFwiIFVJIHRoaXMgbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUuXHJcbiRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc6IDIwcHg7XHJcblxyXG4ucGF5bWVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIC8vIFRoZSA6bm90IGNoZWNrIHdhcyBwdXQgaW4gcGxhY2UgYXMgdGhlc2Ugc3R5bGVzIGNvbmZsaWN0IHdpdGggb2xkIENTUyBydWxlcywgb25jZSB3ZSBtb3ZlIGF3YXkgZnJvbSBvbGQgb3BheW8gc2VydmVyIGZyYW1lcyB0aGlzIGNoZWNrIGNhbiBnbyBhcyB3ZWxsIGFzIHRoZSAucGF5bWVudC1tZXRob2QgY2xhc3MuIFxyXG4gICAgJjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gd2lkdGg6IHNtYWxsLXZhbHVlKCRwYXltZW50LWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgLy8gd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICN7JHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZ307XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6ICRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGxhcmdlLXZhbHVlKCRwYXltZW50LWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJjpoYXMoLmNvbnRhaW5lci1yZXNpemVkKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPbGQgT3BheW8gU2VydmVyIFBheW1lbnQgbWV0aG9kLlxyXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcclxuICAgICAgICAvLyBBZGRpbmcgb3ZlcmZsb3cteSBwcm9wZXJ0eSB0byB0aGUgcGF5bWVudCBtZXRob2QgY29udGFpbmVyIGFzIGJlbHQgYW5kIGJyYWNlcyBpZiB0aGUgc2NhbGluZyBmb3IgdGhlIGhlaWdodCBvbiB0aGUgaWZyYW1lIGZhaWxzIHRvIHNjYWxlIHVwIGR1ZSB0byBwYXJlbnQgY29udGFpbmVyIGhlaWdodCByZXN0cmljdGlvbnMuXHJcbiAgICAgICAgJGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogJHBheW1lbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAoNTAwcHggKyAoJGJvcmRlci13aWR0aCAqIDIpKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgZGlzcGxheSB0byByZW1vdmUgd2hpdGVzcGFjZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBmcmFtZS5cclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICYjb3BheW8taWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodCwgb3BheW8pO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IC8vIFNldHRpbmcgbWluLWhlaWdodCBkdWUgdG8gZm9udC1zY2FsaW5nLlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ2xhc3NlcyBmb3IgT3BheW8gUElcclxuICAgIC5waS1jYXJkLXBheW1lbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAmLnNtYWxsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1lZGl1bSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzOTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXJnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5leHRyYS1sYXJnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXhtYXBsZSB0aGUgaWZyYW1lIHRvIGF2YWlsYWJsZSBzcGFjZSwgdGhpcyBtYXkgZ2V0IG92ZXJ3cml0dGVuIGJ5IE9wYXlvJ3MgSmF2YXNjcmlwdC5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgTWV0aG9kIFNlbGVjdG9yIC0tLS0tXHJcbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBJZiBvbmx5IG9uZSBvcHRpb24gdGhlbiBoaWRlIHRpdGxlLlxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtcGF5bWVudCAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FyZC1wYXltZW50KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5cGFsIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgcGF5cGFsKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ29vZ2xlLXBheSB7XHJcbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gYWJpZGUgYnkgR29vZ2xlIEJyYW5kIGd1aWRlIGxpbmVzLi4uXHJcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3BheS9hcGkvYW5kcm9pZC9ndWlkZXMvYnJhbmQtZ3VpZGVsaW5lcyNnb29nbGUtcGF5LWxvZ28tbWFya1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICAwICN7c3BhY2luZy12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZywgMiwgc21hbGwpfSAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGdvb2dsZS1wYXkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFwcGxlLXBheSAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgYXBwbHktcGF5KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLXBheW1lbnQge1xyXG4gICAgICAgICAgICAmLm9wYXlvIHtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItZm9udC1zaXplOiAje3JlbS1jYWxjKDE2KX07XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1saW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBnYXA6ICN7JHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZ307XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBtYXRjaCBPcGF5bydzIHN0eWxlcyBmb3Igc2F2ZSBjYXJkIHByb21wdC5cclxuICAgICAgICAgICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgICAgICAmLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgICAgICAuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY29udGFpbmVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbnRhaW5lci1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZztcclxuICAgICAgICAgICAgLy8gYm9yZGVyOiAkcGF5bWVudC1jb250YWluZXItYm9yZGVyO1xyXG4gICAgICAgICAgICAmICsgLnBheW1lbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3tsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpfSArICN7JGNoZWNrYm94LWRpbWVudGlvbnN9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBheXBhbC1idXR0b24ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufSIsIlxyXG4vKipcclxuXHJcbi0tLS0gU29jaWFsIE1lZGlhIEljb25zIC0tLS0gXHJcblxyXG5XaGVyZSB0aGVzZSBnZXQgdXNlZDpcclxuLSBPbiB0aGUgcHJvZHVjdCBwYWdlIHRvIHNoYXJlIGEgc2t1IG9uIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nOlxyXG4gICAgLSBGYWNlYm9va1xyXG4gICAgLSBUd2l0dGVyXHJcbiAgICAtIExpbmtlZEluIFxyXG4gICAgLSBFbWFpbFxyXG4tIEluIHRoZSBmb290ZXIgdG8gdGFrZSB0aGUgdXNlciB0byB0aGUgb3JnYW5pc2F0aW9uJ3Mgc29jaWFsIG1lZGlhIHBhZ2VzXHJcbi0gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbiAgICAtIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuICAgIC0gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG5cclxuKiovXHJcblxyXG5cclxuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogJGNvbG91cjQ7XHJcbn1cclxuXHJcbi5zb2NpYWwtaWNvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLnByb2R1Y3QsICYubW9kdWxlIHtcclxuICAgICAgICAvLyBiZWNhdXNlIHByb2R1Y3QgcGFnZSBtb2R1bGVzIGRvbnQgaGF2ZSBhIGljb25zLWNvbnRhaW5lci5cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3Qtc29jaWFsLWljb25zLW1hcmdpbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiAkcHJvZHVjdC1zb2NpYWwtaWNvbnMtZmxvYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yZXZpZXcge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbiAgICAmLmZvb3RlciB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NpYWwtaWNvbnMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5ID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZywgbWFrZSBzdXJlIGljb24gY29sb3VycyBkbyBub3QgY29uZmxpY3Qgd2l0aCBmb290ZXIgYmFja2dyb3VuZC5cclxuICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCBhbmQgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09IFwic2l0ZS1zcGVjaWZpY1wiIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24taG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gQWN0aXZlLlxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3Zlcik7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGJhY2tncm91bmQgc3R5bGVzIGR1ZSB0byBzdXBwcmVzc2luZyB0aGUgYmFja2dyb3VuZCBmbGFnIGJlaW5nIHNldC5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDIwKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDIwKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJHNvY2lhbC1pY29ucy1zaXplICsgMjApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRzb2NpYWwtaWNvbnMtc2l6ZSArIDUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG5cclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICAgICAgd2lkdGg6ICRzb2NpYWwtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRzb2NpYWwtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNvY2lhbC1pY29ucy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybyBpZigkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHksICN7XCIsXCJ9IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgXCJcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzb2NpYWwtaWNvbnMtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZUJyYW5kcztcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvIGlmKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSwgI3tcIixcIn0gb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBcIlwiKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmFjZWJvb2sge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzE4NzdmMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZmFjZWJvb2snKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudHdpdHRlciB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMURBMUYyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCd0d2l0dGVyJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxpbmtlZEluIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwQTY2QzIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2xpbmtlZEluJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc3RhZ3JhbSB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2luc3RhZ3JhbScpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYueW91dHViZSB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkYwMDAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCd5b3V0dWJlJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdvb2dsZS1wbHVzLCAmLmdvb2dsZV9wbHVzIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGRjAwMDAsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2dvb2dsZS1wbHVzJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVtYWlsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2VtYWlsJyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5yZXZlYWwtbmV4dC10by10b2dnbGUge1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmICsgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmV2ZWFsLW92ZXItdG9nZ2xlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgICAgICYgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmV2ZWFsLWNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgLnNoYXJlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdzaGFyZScpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIsICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgKCBQcmludGVyIHdpemFyZCApIC0tLS0tLSBcclxuLSBUaGUgZXF1aXBtZW50IHNlbGVjdG9yIGRyb3AgZG93biBzZWxlY3Rpb24uXHJcbi0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3Qgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBsaXN0IG9mIGFuY2hvcnMuXHJcbiovXHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXI0LCAxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpLCAxKSA1JSwgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTIpLCAxKSA2NSUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKTtcclxuICAgIH1cclxuICAgIEBpZiAkZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3cge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91cjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9ycyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsYWJlbC5jb250cm9sIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87ICBcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgbGlzdCAoIHRoaXMgc2l0cyB1bmRlciB0aGUgZHJvcGRvd24gc2VsZWN0b3JzICkgLS0tLS0gXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB7XHJcbiAgICBtYXJnaW4tdG9wIDogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIC8vIERlZHVjdCB0aGUgbGlzdCBpdGVtIHBhZGRpbmcgZnJvbSB0aGUgbWFyZ2luIG90aGVyd2lzZSB0aGVyZSB3aWxsIGJlIGEgbGFyZ2UgYW1vdW50IG9mIHdoaXRlc3BhY2UgYmVlbiB0aGUgaGVhZGluZyBhbmQgbGlzdCBpdGVtcy5cclxuICAgICAgICBtYXJnaW46IDAgMCAoc3BhY2luZy12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMSksIDMpIC0gJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFBpY2sgJiBNaXggLS0tLS0tIFxyXG4tIEEgc2VsZWN0aW9uIG9mIG11bHRpcGxlIGl0ZW1zIHRvIGNyZWF0ZSBhIHBhY2suXHJcbiovXHJcblxyXG4ucGljay1uLW1peC1jb250YWluZXIge1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBpcyBjYXVzaW5nIHVuZXZlbiBzcGFjaW5nIGZvciBtb2R1bGVzLlxyXG4gICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtcGFkZGluZyk7XHJcbiAgICBAaWYgJHBpY2stbi1taXgtYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjQsIDEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSksIDEpIDUlLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMiksIDEpIDY1JSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggSGVhZGVyIC0tLS0tXHJcbi5waWNrLW4tbWl4LWhlYWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjtcclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBpY2stbi1taXgtaGVhZGluZy1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXN0eWxlOiAkcGljay1uLW1peC1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIH1cclxuICAgIC5oZWFkZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjE7ICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IHNlbGVjdG9ycyAoIG1haW4gY29udGVudCApIC0tLS0tXHJcbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkcGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IDcuNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LXRvdGFsLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjIuNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciwgLnJlbWFpbmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTcuNXB4IDA7XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgc3BhY2luZy12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luLCAyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgc3BhY2luZy12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luLCAyLCAnbGFyZ2UnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VsZWN0ZWQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBUbyBicmluZyB0aGUgY291bnQgaW5saW5lIHdpdGggdGhlIHF1YW50aXR5IHNlbGVjdG9yc1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVtYWluaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5yZW1haW5pbmctY291bnQtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlbWFpbmluZy1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYnV0dG9uW3R5cGU9c3VibWl0XSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWd0aDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFdoZW4gdGhlIHNsaWRlciBpcyBhY3RpdmUgYSBjbGFzcyBnZXRzIGFkZGVkIHRvIHRoZSByZWxldmFudCBpbnB1dC5cclxuaW5wdXQudWktc3RhdGUtYWN0aXZlLCAuaW5wdXQtbnVtYmVyLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKTtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNob2RhdyAkdHJhbnNpdGlvbkludHJvO1xyXG59XHJcblxyXG4vLyBJZiB5b3UgaGF2ZSBzb21lIGxlYWQgaW4gdGV4dC5cclxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxLCBtZWRpdW0pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgbGlzdCBlZGl0IGJ1dHRvbiAtLS0tIFxyXG4jcHJvZHVjdExpc3RJdGVtcyB7XHJcbiAgICAmLmxpc3Qge1xyXG4gICAgICAgIC5waWNrLW4tbWl4LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJhc2tldCBzdHlsZXMgLS0tLS0gXHJcbi8vIC0tLSBEaXNwbGF5IHNlbGVjdGlvbiAtLS0gXHJcbi5waWNrLW4tbWl4LXNlbGVjdGlvbiB7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxufSIsIi8qIFxyXG5cclxuLS0tLS0gQW5pbWF0aW9ucyAtLS0tLSBcclxuVE9ETzogVGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBkZXYgY3ljbGUgb2YganVzdCB0cmluZyB0byBnZXQgSFRNTDUgQ2FudmFzJ3MgZXhwb3J0ZWQgZnJvbSBhZG9iZSBhbmltYXRlIHRvIHdvcmsgaW5zaWRlIG9mIGV4cHJlc3MgYW5kIHRvIGhhdmUgbXVsdGlwbGUgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhdCBvbmNlLCBzbyB0aGVyZSBpcyBzdGlsbCBtdWNoIHdvcmsgdG8gYmUgZG9uZSBoZXJlIGl0cyBtb3JlIG9mIGEgcHJvb2Ygb2YgY29uY2VwdCBhdCB0aGlzIHBvaW50LlxyXG4tIEFuaW1hdGVkIEhUTUw1IENhbnZhcydzXHJcbi0gSW50ZXJhY3RpdmUgQW5pbWF0aW9ucy5cclxuKi9cclxuXHJcblxyXG5jYW52YXMge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59IiwiXHJcblxyXG4uY2xpZW50LXNlYXJjaC1uby1yZXN1bHRzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRvcCBiYXIgLS0tLS1cclxuVGhpcyBoYXMgaGFkIHRvIGJlIHdyaXR0ZW4gZHVlIHRvIGZvdW5kYXRpb24ncyB0b3AtYmFyIGN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgY2VudGVyZWQgaXRlbXMsIHlvdSBvbmx5IGdldCB0aGUgb3B0aW9uIHRvcC1iYXItbGVmdCAmIHRvcC1iYXItcmlnaHQsIHRoZSBkZXNpZ24gY2FsbHMgZm9yIHRoZSBjdXJyZW5jeSBzZWxlY3RvciB0byBiZSBpbiB0aGUgbWlkZGxlLlxyXG4qL1xyXG5cclxuLnRvcC1iYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYudXBwZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItbGVmdCwgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgPnVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGhlYWRlci11cHBlci1wYWRkaW5nLCAxKSAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItY2VudGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBIZWFkZXIgVXBwZXIgY29sb3VyIGNvbnRyYXN0IHByb2Nlc3NpbmcgLS0tLS0gXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJG1lbnUtY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkbWVudS1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRtZW51LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgYWN0aXZlKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAvLyBTbyBpdCBhcHBlYXJzIGFib3ZlIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgLy8gei1pbmRleDogMTAwMDAwO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci11cHBlci1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgICAgICBAaWYgJGhlYWRlci11cHBlci1mb250LXN0eWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdXBwZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdXBwZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNpdGUtc2V0dGluZy1tZW51IHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgaGVhdnkgaGFuZGVkIGFuZCBtYXkgbmVlZCB0byBiZSBtYWRlIG1vcmUgZmxleGlibGUgaW4gdGhlIGZ1dHVyZSBidXQganVzdCBtYWtpbmcgc3VyZSB0aGF0IGJ1dHRvbiAvIHRleHQgY29sb3VyIGlzIGxlZ2libGUgJiBjb25zaXN0ZW5jeS5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jdG9wQmFyVXBwZXJPdXRlckNvdW50YWluZXIsIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgQGlmICRoZWFkZXItdXBwZXItZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItdXBwZXItZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJGhlYWRlci11cHBlci1ib3JkZXIge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci11cHBlci1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGVyLXVwcGVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG4iLCJcclxuXHJcbkBtaXhpbiBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKCRjb2xvdXItbmFtZSwgJGNvbG91cnMpIHtcclxuICAgIC8vIENoZWNrIGlmIHZhcmlhYmxlIGV4aXN0LlxyXG4gICAgQGlmIG5vdCAodmFyaWFibGUtZXhpc3RzKCRjb2xvdXItbmFtZSkpIHtcclxuICAgICAgICBAZGVidWcgXCJDb2xvdXIgbWFwIFwiICN7JGNvbG91ci1uYW1lfSBcIiBkb2Vzbid0IGV4aXN0IGZvciBzaXRlICN7JHNpdGV9XCI7XHJcbiAgICB9XHJcbiAgICBAZWFjaCAkbGlnaHRuZXNzLCAkY29sb3VyIGluICRjb2xvdXJzIHtcclxuICAgICAgICAuI3skY29sb3VyLW5hbWV9LWxpZ2h0bmVzcy0jeyRsaWdodG5lc3N9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1wYWdlLWhlYWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDM1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLXNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAxNXB4IDE1cHggMDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMjVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWludHJvIHtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG59XHJcblxyXG4uc2ctc3ViLWhlYWRpbmcge1xyXG4gICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctc3ViLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5zZy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMy01O1xyXG59XHJcblxyXG4uc2ctZGVtby1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lcixcclxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDNweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAsXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLWluZm8tbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWl0ZW0tc2VwZXJhdG9yIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG59XHJcblxyXG4uc2ctY2VsbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDEwcHggMjBweDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxufVxyXG5cclxuLnNnLWNvbG91ci1wYWxldHRlIHtcclxuICAgIC5ncmlkLWNvbGxlY3Rpb24teCB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29sb3VyLWJsb2NrIHtcclxuICAgICRjb2xvdXItYmxvY2stbWFyZ2luOiA1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luOiAkY29sb3VyLWJsb2NrLW1hcmdpbiAwO1xyXG4gICAgcGFkZGluZzogOHB4IDhweCA2cHg7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxpZ2h0ZW5lZC1wZXJjZW50YWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAkY29sb3VyLWJsb2NrLW1hcmdpbjtcclxuICAgICAgICBsZWZ0OiAkY29sb3VyLWJsb2NrLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtY29sb3VyLXByZXZpZXddIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNDI4NTdyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91ci1oZXgtbGFiZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIxIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjJcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy01IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0yO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC01IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC01O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjYtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNi0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNi0yO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTFcIiwgJGFjY2VudC1jb2xvdXItMSk7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0yXCIsICRhY2NlbnQtY29sb3VyLTIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItM1wiLCAkYWNjZW50LWNvbG91ci0zKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTRcIiwgJGFjY2VudC1jb2xvdXItNCk7XHJcblxyXG4gICAgLnN1Y2Nlc3MtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLndhcm5pbmctY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsZXJ0LWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAucHJpY2UtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zYXZpbmctY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJycC1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctYnV0dG9ucyB7XHJcbiAgICAuc2ctY29tcGFyaXNvbi10YWJsZSAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yY2UgdGhlIGFsaWdubWVudCBpbiB0aGUgY29udGV4dCBvZiB0aGUgc3R5bGVcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25ze1xyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLXR5cGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYgKyAubm90aWZpY2F0aW9uLXN0eWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLnNnLXF1YW50aXR5LXNlbGVjdG9ycyB7XHJcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWNhbGxvdXRzIHtcclxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctY29tcGFyaXNvbi10YWJsZSB7XHJcbiAgICB0aCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jdGFibGUtb2YtY29udGVudHMtc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi50YWJsZS1vZi1jb250ZW50cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9ucyB7XHJcbiAgICAgICAgLy8gUXVpY2sgYW5kIGRpcmVjdHkgc29sdXRpb24gYXMgZm91bmRhdGlvbidzIHN0aWNrIGlzIGNhbGN1bGF0aW5nIHRoZSBoZWlnaHQgb2YgdGhlIHN0aWNreSBjb250YWluZXIgYmFzZWQgb24gdGhlIGNvbnRlbnQgd2hpY2ggZ29lcyBvZmYgdGhlIHZpZXdwb3J0IGR1ZSB0byB0aGUgc3RpY2t5IGhlYWRlciwgdGhpcyB3aWxsIG5lZWQgcXVpdGUgYSBiaXQgb2Ygd29yayB0byB0YWtlIHRoZSBzdGlja3kgaGVhZGVyIGludG8gYWNjb3VudCB3aGljaCBjdXJyZW50bHkgd2UgZG9udCBoYXZlIHRpbWUgZm9yLlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjB2aDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjZzIGVhc2UtaW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzY1O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjZzIGVhc2UtaW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjRzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBUaGlzIHN0eWxlcyB0aGUgZXhhbXBsZSByb3dzIHVzZWQgaW4gdGhlIGdyaWQgZG9jdW1lbnRhdGlvbi4gKi9cclxuLmdyaWQteC5kaXNwbGF5IHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGw6bnRoLWNoaWxkKDIpLFxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuc21hbGwtY2VudGVyZWQsXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5sYXJnZS1jZW50ZXJlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG59XHJcblxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuY29sb3ItZW5kIHtcclxuICAgIGJhY2tncm91bmQ6ICNkNGQ0ZDQ7XHJcbn1cclxuXHJcbi5zZy1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgIHBhZGRpbmc6IDJyZW07XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyLnBhZGRlZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICMxNDY4YTA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudS5tZW51IHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG59IiwiLypcclxuLS0tLS0gQWRtaW4gLS0tLS1cclxuVGhpcyB3aWxsIHBvdGVudGlhbCBoYW5kIHZtQWRtaW4gdjIuXHJcbiovXHJcblxyXG5cclxuXHJcbi52bWFkbWluLWVkaXRvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5pbmxpbmUtZWRpdG9yIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgJi5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XHJcbiAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGNrZWRpdG9yJ3Mgc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGVtcCBmaXggZm9yIG92ZXJyaWRpbmcgY2tlZGl0b3Igc3R5bGVzLlxyXG4gICAgICAgICYuY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEVkaXRvciBpbml0aWFsIGNvbnRyb2xzLlxyXG4gICAgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIFRPRE86IGp1c3QgdGVtcCB1c2luZyB0aGlzIHZhci5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB6LWluZGV4OiAxMDAwMDA7XHJcbiAgICAgICAgLy8gQ29tbW9uIGJ1dHRvbiBzdHlsaW5nLlxyXG4gICAgICAgIC5hZG1pbi1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgKyBkaXYge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAucHJvcGVydHktZWRpdG9yIHtcclxuICAgICAgIFxyXG4gICAgfVxyXG59XHJcbi8vIFByb3BlcnR5IGVkaXRvciB0cmlnZ2VyIGJ1dHRvbi5cclxuLnByb3BlcnR5LWVkaXRvci10cmlnZ2VyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDEzJztcclxuICAgIH1cclxufVxyXG4vLyBDb250ZW50IGVkaXRvciB0cmlnZ2VyIGJ1dHRvbi5cclxuLmNvbnRlbnQtZWRpdG9yLXRyaWdnZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNDQnO1xyXG4gICAgfVxyXG59XHJcbi8vIEVkaXRvciBzYXZlIGJ1dHRvbi5cclxuLmVkaXRvci1zYXZlLWJ1dHRvbiB7XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMGM3JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gRWRpdG9yIGNhbmNlbCBidXR0b24uXHJcbi5lZGl0b3ItY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDBkJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuXHJcblxyXG5cclxuXHJcblxyXG4ub2ZmLWNhbnZhcy1oZWFkZXIge1xyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgIH1cclxuICAgIC5vZmYtY2FudmFzLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBY2NvcmRpb24gVGFicyAtLS0tLS0gXHJcbi0gVE9ETzogVGhlIG5hbWluZyBjb252ZW50aW9ucyBuZWVkIHRvIGJlIHJlLXdyaXRlbiBhdCBzb21lIHBvaW50IGFzIHRoaXMgd2FzIG9yaWdpbmFsbHkgYnVpbGQgZm9yIG9uIGJlaW5nIHVzZWQgb24gdGhlIHByb2R1Y3QgcGFnZSBoZW5zZSB0aGUgdmVyeSBzcGVjaWZpYyBuYW1pbmcgb2YgaWQncyBhbmQgY2xhc3Nlcy5cclxuLSBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgYmFzZWQgb24gRm91bmRhdGlvbidzIFJlc3BvbnNpdmUgQWNjb3JkaW9uIFRhYnMgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3Jlc3BvbnNpdmUtYWNjb3JkaW9uLXRhYnMuaHRtbFxyXG4tIFRoZSBzdHlsaW5nIGZvciBwcm9kdWN0IHRhYmJlZCBub3RlcyBpcyBkZWZpbmVkIGhlcmVcclxuICAtIEF0dGFjaG1lbnRzXHJcbiAgLSBTcGVjaWZpY2F0aW9uJ3NcclxuICAtIFJldmlld3NcclxuICAtIENvbXBvbmFudHMuXHJcblxyXG4qL1xyXG5cclxuLy8gLS0tLS0gUmVzcG9uc2l2ZSBUYWJzIGhlYWRlciAtLS0tLSBcclxuLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRvZ2dsZS1hbGwtYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU7XHRcdFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBHZW5lcmFsIHN0eWxpbmdzIC0tLS1cclxuLy8gSUQgcmVmZXJlbmNlIGNhbiBnbyBhZnRlciA4MjM5NDMgaXMgY29tcGxldGUuXHJcbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICYuY29tcG9uZW50LXJlYWR5IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzcG9uc2l2ZS10YWJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYuY29tcG9uZW50LXJlYWR5IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJjpoYXMoLnRhYnMudmVydGljYWwpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi5hY2NvdW50LWFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIsIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCAge1xyXG4gICAgICAgICAgICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAgICAgLnRhYnMtdGl0bGUgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIC4ycywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFB1dCB0YWJzIGNvbnRlbnQgaW50byBjb250ZXh0LlxyXG4gICAgICAgICAgICAmICsgLnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgIHdpZHRoOiAkcHJvZHVjdC10YWJzLXRpdGxlLWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRhYnMtdGl0bGUtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGFicy10aXRsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPXRydWVdIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRlZCB0aGlzIHJ1bGUgYXMgd2hlbiBpbiBhY2NvcmRpb24gdmlldyBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UgdGhlcmUgd2FzIHR3byBydWxlcyBiZWluZyBhZGRlZCwgdGhpcyBvbmUgYW5kIHRoZSBhY2NvcmRpb24gdGl0bGUgYXMgd2VsbCwgdGhpcyBpcyBvdmVycmlkaW5nIGZvdW5kYXRpb24ncyBjc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicy1jb250ZW50LFxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICY6bm90KFtjbGFzcyo9XCJwcmVzZXRcIl0pIHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC10YWItc3BlY2lmaWNpYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHBhZGRpbmcgZHVlIHRvIGNvbmZsaWN0aW5nIHdpdGggdGhlIHBhZGRpbmcgZm9yIHN0YXIgcmF0aW5nLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgcGFkZGluZyBkdWUgdG8gY29uZmxpY3Rpbmcgd2l0aCB0aGUgcGFkZGluZyBmb3Igc3RhciByYXRpbmcuXHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIHRvIG1ha2UgbW9yZSBnZW5lcmFsIHB1cnBvc2UsIHVzZSBjb250YWluZXIgY2xhc3NlcyBpZiBuZWVkZWQuXHJcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLy8gT25seSBlZmZlY3QgdGhlIHByb2R1Y3QgcGFnZSwgdGhpcyBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2UgZGVmYXVsdCB0YWJsZSBjbGFzc2luZyAoIHByZXNldC0xICkgYW5kIHRleHQtZXF1YWxpc2VyICggY29sdW1uIGFsaWdubWVudCApLlxyXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAudGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAudGFiYmVkLWNtcy1lbnRyeSwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBPbmx5IGRvIHRoaXMgZm9yIHRhYmJlZCBub3Rlcywgb3RoZXJ3aXNlIHRoZSBydWxlcyBnZXQgaW4gdGhlIHdheSBvZiBvdGhlciBjbGFzc2VzICggaS5lIHByaWNpbmcgKVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cyhudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gSGFuZGxlIHRoZSBmaXJzdCBjb2x1bW4gbGlrZSBpdCBpcyB0aGUgaGVhZGVyIGluIHRlcm1zIG9mIHR5cG9ncmFwaHkgKCB3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGNvbG91ci4uLi4gKS5cclxuICAgIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICAuZGVzY3JpcHRpb24tY29sLCAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIFRhYnMgc3R5bGluZyAtLS0tXHJcbi50YWJzIHtcclxuICAgICR0YWJzQm9yZGVyQm90dG9tOiAxcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYnNCb3JkZXJCb3R0b20gc29saWQgJGNvbG91cjMtMSAhaW1wb3J0YW50OyAvLyBPdmVycmlkaW5nIEZvdW5kYXRpb25cclxuICAgICYudmVydGljYWwge1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IC8vIE92ZXJyaWRpbmcgRm91bmRhdGlvbiAmIHRoZSBKUyBkb2Vzbid0IGFwcGx5IFwiIGhvcml6b250YWwgXCIgY2xhc3Mgc28gd2UgaGF2ZSB0byBvdmVycmlkZSBvdXIgIGRlZmF1bHQuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSB0aGUgcnVsZSB0aGF0IGdvZXMgYWNyb3NzIGFsbCBvZiB0aGUgdGFicy5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdGFic0JvcmRlckJvdHRvbTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtI3skdGFic0JvcmRlckJvdHRvbX07XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpOyAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdGFicy10aXRsZS1pY29uLXNpemU7ICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBBY2NvcmRpb25zIC0tLS0tXHJcbi5hY2NvcmRpb24ge1xyXG4gICAgJGFjY29yZGlvbi1zcGFjaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gQWRkIHNtYWxsIGFtb3VudCBvZiBwYWRkaW5nIHdoZW4gaW4gbW9iaWxlIGZvciB0aGUgcHJvZHVjdCBwYWdlLlxyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBGb3IgdGhpcyB0byB3b3JrIHlvdSBoYXZlIHRvIHdyYXAgdGhlIHRpdGxlIHRleHQgaW4gYSBzcGFuLnRpdGxlLlxyXG4gICAgJi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3Qge1xyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yYWRpby1pbmRpY2F0b3JzIHtcclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgIH1cclxuICAgIC8vIElmIG9ubHkgb25lIGNoaWxkIHRoZW4gc3VwcHJlc3MgdGl0bGUgKCBlLmcuIHBheW1lbnQgbWV0aG9kcyApLlxyXG4gICAgJi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQge1xyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBkZWZhdWx0KSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYWNjb3JkaW9ucy10aXRsZS1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRhY2NvcmRpb25zLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGhpZ2hsaWdodGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1jbG9zZWQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9ucy1hcnJvdy1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3JkaW9ucy1hcnJvdy1jb2xvdXIpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7IC8vIGRlZmF1bHQuXHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1vcGVuKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRhY2NvcmRpb24tc3BhY2luZztcclxuICAgICAgICAmOm5vdCguaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgd2VpcmQgYm9yZGVyIHRoYXQgaXMgZm91bmQgZW1pdHRpbmcgd2hlbiB3ZSByb3VuZCBvdmVyIHRoZSBjb3JuZXJzIG9mIHRoZSBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofSAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH0gI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZywgMCwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcsIDAsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi8vIERpc3BsYXlzIHRoZSB2YXJpb3VzIGZpbGUgYXR0YWNobWVudHMgdGhhdCBjYW4gYmUgYXNzaWduZWQgdG8gYSBzdG9jayBpdGVtLlxyXG4uYXR0YWNobWVudHMtY29udGFpbmVyIHtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRhY2htZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWxlLWF0dGFjaG1lbnQtcGFkZGluZztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZpbGUtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZpbGUtYW5jaG9yLWZvbnQtc2l6ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB1bmtub3duKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHVua25vd24pO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZpbGUtaWNvbnMtc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJvY2h1cmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBicm9jaHVyZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBicm9jaHVyZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXItZ3VpZGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB1c2VyLWd1aWRlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB1c2VyLWd1aWRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFydHMtZGlhZ3JhbSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBhcnRzLWRpYWdyYW0pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBhcnRzLWRpYWdyYW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53b3JkLCBbaHJlZiQ9Jy5kb2MnXSwgW2hyZWYkPScuZG9jeCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgd29yZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3Vycywgd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBvd2VycG9pbnQsIFtocmVmJD0nLnBwdCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcG93ZXJwb2ludCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcG93ZXJwb2ludCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4Y2VsLCBbaHJlZiQ9Jy54bHMnXSwgW2hyZWYkPScueGxzeCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgZXhjZWwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGV4Y2VsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGRmLCBbaHJlZiQ9Jy5wZGYnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBkZik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwZGYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jc3YsIFtocmVmJD0nLmNzdiddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgY3N2KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBjc3YpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1hdHRhY2htZW50LCBbaHJlZiQ9Jy5qcGcnXSwgW2hyZWYkPScucG5nJ10sIFtocmVmJD0nLmdpZiddLCBbaHJlZiQ9Jy53ZWJtJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBpbWFnZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgaW1hZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWRlby1hdHRhY2htZW50LCBbaHJlZiQ9Jy5tb3YnXSwgW2hyZWYkPScubXA0J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB2aWRlbyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdmlkZW8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC56aXAsIFtocmVmJD0nLnppcCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgemlwKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB6aXApO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBTdGlja3kgLS0tLS0tIFxyXG5TdGlja3kgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGJ1aWxkIG9udG9wIG9mIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zdGlja3kuaHRtbC5cclxuXHJcbltJTVBPUlRBTlRdIC0gVGhpcyBDU1MgaXMgbm90IGZvciB0aGUgYmFza2V0IHN1bW1tYXJ5IG9yIHRoZSBoZWFkZXIgcGxlYXNlIHZpZXcgaGVhZGVyLnNjc3MgYW5kIGJhc2tldC5zY3NzIGZvciB0aGF0LlxyXG4qL1xyXG5cclxuXHJcblxyXG4uc3RpY2t5IHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5lbGVtZW50LW5vdC1pbi12aWV3cG9ydCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnRcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSB7XHJcbiAgICAvLyBTY2FsZSBmdWxsIHdpZHRoIG9mIGNvbnRhaW5lciB0byBhbGxvdyBmb3Igc3RpY2t5IGJ1dHRvbnMgYWx3YXlzIGJlIHBpbm5lZCB0byB0aGUgcmlnaHQuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLWF4aXMtc3RpY2t5XSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2RhdGEtc3RpY2t5LWNvbnRhaW5lcl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4kc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDEyOHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50czogKFxyXG4gICAgbGFyZ2U6IChtYXAtZ2V0KCRicmVha3BvaW50cywgbGFyZ2UpICsgKGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKSAqIDIpKVxyXG4pO1xyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAvLyBib3gtc2hhZG93OiAwcHggMnB4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC41KTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogOTUlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgIC8vIFNwZWNpZmljYWxseSBmb3IgbWFuYWdlIGNhbGxzIHRvIHByZXZlbnQgbGFyZ2UgYnJlYWtzIGluIHRoZSBtYWluIGNvbnRlbnQuXHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLnN0aWNreSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gRml4IGludG8gcGxhY2Ugc3RvcCBkZWZhdWx0IGJlaGF2b3VyIGZyb20gdGFraW5nIG92ZXIgb24gbW9iaWxlLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIC8vICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG5cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAkcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAvLyBSZXNldCByYWRpdXMgaWYgbm90IGZpcnN0IG9yIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgYnV0dG9uLGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAkcmFkaXVzIDAgMDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAkcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDAgJHJhZGl1czsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTGlzdCBTb3J0aW5nIE9wdGlvbnMgIC0tLS0tXHJcbi0gSG9sZHMgdGhlIHN0eWxlcyBmb3IgdGhlIGZvbGxvd2luZzogXHJcbiAgLSBQcm9kdWN0IGxpc3QocylcclxuICAtIEFjY291bnQgYXJlYSBzb3J0aW5nICggaGlzdG9yaWNhbCB0cmFuc2FjdGlvbnMsIGNhbGwgc3lzdGVtLCBvcmRlcnMgKVxyXG4tIFRoZSBmb2xsb3dpbmcgY29tcG9uZW50cyB3aWxsIGJlIGZvdW5kIGhlcmU6IFxyXG4gIC0gTGlzdCBpdGVtIGNvdW50XHJcbiAgLSBTb3J0IGJ5IFxyXG4gIC0gRmlsdGVycyB0b2dnbGUgKCBJZiBvcGVuaW5nIGEgcG9wdXAgKVxyXG4gIC0gVmlldyBzd2l0Y2hlciAoIEdyaWQgb3IgVGFibGUgKVxyXG4gIC0gUGFnaW5hdGlvbiBcclxuICAtIEl0ZW1zIHBlciBwYWdlLlxyXG4qL1xyXG5cclxuXHJcbi5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xyXG4gICAgLy8gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAoJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodCAtIDEwKTtcclxuICAgIC8vIH1cclxuICAgIC5jb250cm9sIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXApO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwKTtcclxuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgID4gZGl2IHtcclxuICAgICAgICBAaWYgJGZpZWxkc2V0LWlucHV0LWhlaWdodCA8PSA0MHB4IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvcnQtb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRvd25sb2FkLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtI3soKCRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXAgKyAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tb24tcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAjeygkc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwICsgJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aCl9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBSZXN1bHRzIGRpc3BsYXkgLS0tXHJcbiAgICAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgY291bnQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBjb3VudCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5BWElTUmVzdWx0RGlzcGxheSwgLml0ZW0tY291bnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNvcnRpbmctaXRlbXMtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gRmlsdGVyIHRvZ2dsZSAtLS1cclxuICAgIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGZpbHRlci10b2dnbGUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyBcclxuICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgZmlsdGVyLXRvZ2dsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWx0ZXItdG9nZ2xlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWN0aXZlLWZpbHRlci1jb3VudCB7XHJcbiAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIENhbGwgc2VhcmNoIC0tLSBcclxuICAgIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBjYWxsLXNlYXJjaCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBjYWxsLXNlYXJjaCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlucHV0LCBpbnB1dCArIGJ1dHRvbiwgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBCcmFuY2ggU2VsZWN0b3IgLS0tIFxyXG4gICAgLmJyYW5jaC1maWx0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdCwgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFNvcnQgZHJvcCBkb3duIC0tLVxyXG4gICAgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBzb3J0LWJ5KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHNvcnQtYnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgei1pbmRleCBkdWUgdG8gb3ZlcmxhcHBpbmcgcHJpbnRlciB3aXphcmQgZHJvcGRvd25zIDgxMzYwOFxyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRvIGJyaW5nIGhlaWdodCBpbmxpbmUgd2l0aCBvdGhlciBzb3J0aW5nIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gUGFnZSB2aWV3IC0tLVxyXG4gICAgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC12aWV3LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgdmlldyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHZpZXcpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLCAudmlldy1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBWYXJpb3VzIHN0YXRlcy4gXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEZhbGxiYWNrIGNhbiBiZSByZW1vdmVkIGFmdGVyIDg0MDE5OSBoYXMgYmVlbiBjb21wbGV0ZWQgKCBlc3NlbnRpYWxseSByZXZlcnNpbmcgbG9naWMgd2hpY2ggaXMgaW5jb25zaXN0YW55IHdpdGggSXRlbXMgUGVyIExpc3QgYW5kIFBhZ2luYXRpb24gKS5cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdHcmlkLCAmLkFYSVNWaWV3TGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gR2VuZXJhbGlzZWQgaWNvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBJY29uIHNwZWNpZmljIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdHcmlkLCAmLmdyaWQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpc3QtZ3JpZC12aWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3TGlzdCwgJi5saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaXN0LXRhYmxlLXZpZXcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vLS0tIFBlciBQYWdlIC0tLVxyXG4gICAgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwZXItcGFnZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwZXItcGFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAuQVhJU1BlclBhZ2VDb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDE2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTkVXIFZFUlNJT04gT0YgQVhJU1BlclBhZ2VDb250YWluZXIgKCBmb2xsb3dpbmcgZXhwcmVzcyBuYW1pbmcgY29udmVuc2lvbnMgKyByZWR1Y2VkIG1hcmt1cCApLlxyXG4gICAgLy8gSWYgaXRlbSBwZXIgbGlzdCBpcyB0aGUgZmlyc3QgaXRlbSBpbiBzb3J0aW5nIGJhciB0aGVuIHB1c2ggdG8gdGhlIHJpZ2h0LlxyXG4gICAgZGl2OmZpcnN0LWNoaWxkLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGl0ZW1zLXBlci1saXN0LXdpZHRoKTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaXRlbXMtcGVyLWxpc3Qtd2lkdGgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleDogMSAxIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAucGFnaW5hdGlvbi1jb250YWluZXIsICYgKyAuQVhJU1BhZ2VOdW1iZXJpbmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIFBhZ2luYXRpb24gLS0tXHJcbi5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwLCAyKTtcclxuICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwYWdpbmF0aW9uKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDI1JTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIERvbid0IHNldCBmbGV4OiAxOyBhcyB0aGF0IHB1c2hlcyBhbGwgdGhlIHByZWNlZWRpbmcgY29udGVudCB0byBsZWZ0IG5vIGlkZWEgZm9yIHRoZSBzb3J0aW5nIGJhciBhdCB0aGUgYm90dG9tIG9mIGEgbGlzdCBhcyBpdCBjYXVzZXMgYWxpZ25tZW50IGlzc3Vlcy5cclxuICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAwICN7c3BhY2luZy12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCwgMiwgbGFyZ2UpfTtcclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDI1cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwYWdpbmF0aW9uKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDEwcHg7XHJcbiAgICAgICAgLy9tYXJnaW46IDAgMi41cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAvLyAgICAgLy8gcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAycHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cilcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWxlY3RlZCwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5wYWdpbmF0aW9uLW9wdGlvbi1qb2luZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbi5wYWdpbmF0aW9uTGFiZWwsIC5wYWdpbmF0aW9uLWxhYmVsIHtcclxuICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiAkcGFnaW5hdGlvbi1sYWJlbC1kaXNwbGF5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxufSIsIlxyXG4vKipcclxuXHJcbi0tLS0gTWFuYWdlIENhbGxzIC0tLS0gXHJcblxyXG4tIEZvcm1hbGx5IGtub3cgYXMgdGhlIGNhbGwgcG9ydGFsIGJlZm9yZSBpdCBnb3QgZW1iZWRkZWQgaW4gZXhwcmVzcywgbWFuYWdlIGNhbGxzIGlzIGFjY291bnQgZnVuY3Rpb25hbGl0eSB0aGF0IGRpc3BsYXlzIGNhbGxzIGluIGEgbGlzdCBpbiBleHByZXNzLlxyXG4tIFN0eWxlcyBpbmNsdWRlZCBoZXJlOiBcclxuICAtIExpc3QgZm9yIGNhbGwgbGlzdCArIGV2ZW50cyBsaXN0LlxyXG4gIC0gRW5xdWlyeSBzdW1tYXJ5LlxyXG4gIC0gQ2FsbCByYXRpbmcgZm9udHMuXHJcbiAgLSBTdGlja3kgYnV0dG9ucyBpY29ucy5cclxuKiovXHJcblxyXG4uZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtZW5xdWlyeS1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAvLyBFbnN1cmUgYmFja2dyb3VuZC1jb2xvciBnZXRzIHJlbmRlcmVkIGluIHByaW50IG1vZGUuXHJcbiAgICAvLyBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIC8vIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNhbGwtZW5xdWlyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYWxsb3dpbmcgdGhlIGNvbnRhaW5lciB0byBkaWN0YXRlIHRoZSBwYWRkaW5nLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1jb250ZW50LWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5lbnF1aXJ5LWhlYWRlci1oZWFkaW5nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxlcyBkdWUgdG8gaW5wdXQgYmVpbmcgb24gYSBiYWNrZ3JvdW5kLlxyXG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFue1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FsbCBSYXRpbmcgLS0tLS1cclxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBhZ2UtdmlldyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi5saXN0LXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhdGluZy1sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgLnJhdGluZy1pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgLmNhbGwtcmF0aW5nLXZhbHVlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTAge1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctY2Fubm90LXJhdGUpKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudW5yYXRlZCAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdW5yYXRlZCkpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0xIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXZlcnktYmFkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMiAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1iYWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0zIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWF2ZXJhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi00IC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWdvb2QpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi01IC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXZlcnktZ29vZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBcyBkZWZhdWx0IHNjYWxlIHRvIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGUgaWNvbiBpcyBhIHJhZGlvIGJ1dHRvbiB0aGVuIGxpbWl0IHRoZSB3aWR0aC5cclxuICAgICAgICAucmFkaW8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENhbGwgdXJnZW5jeSBpY29ucy5cclxuLmNhbGwtdXJnZW5jeS1pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJi5sb3cge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1sb3cpfSk7XHJcbiAgICB9XHJcbiAgICAmLm1lZGl1bSB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LW1lZGl1bSl9KTtcclxuICAgIH1cclxuICAgICYuaGlnaCB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWhpZ2gpfSk7XHJcbiAgICB9XHJcbiAgICAmLmNyaXRpY2FsIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktY3JpdGljYWwpfSk7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11cmdlbmN5LWltYWdlLXVybCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24ge1xyXG4gICAgLmJ1dHRvbi1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtYmFjay10by1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtbGlzdCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtbGlzdC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLXJlcXVlc3QtYXJjaGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJlcXVlc3QtYXJjaGl2ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtcmVxdWVzdC1hcmNoaXZlLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtYWRkLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtYWRkLWluZm8pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWFkZC1pbmZvLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtY3JlYXRlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ldy1jYWxsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tbmV3LWNhbGwtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuICAgICRjYWxscy10YWJsZS1yb3ctcGFkZGluZzogMTBweDtcclxuICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxuICAgICYuZW5xdWlyeS10YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWNvbCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgKyAxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVucmVhZC1jb2wge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICB0ZC5jYWxsLW51bWJlci1jb2wsIHRoLmNhbGwtbnVtYmVyLWNvbCwgLmNhbGwtbnVtYmVyLWNvbCB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDBweDtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY3VzdG9tZXItbmFtZS1jb2wsIHRoLmN1c3RvbWVyLW5hbWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLnJhdGluZy1jb2wpIHtcclxuICAgICAgICB0ZC5zdWJqZWN0LWNvbCwgdGguc3ViamVjdC1jb2wsIC5zdWJqZWN0LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zdWJqZWN0LWNvbCwgdGguc3ViamVjdC1jb2wsIC5zdWJqZWN0LWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMy43JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgdGguc2VydmljZS1jb250cmFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExLjUlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNhbGwtY29udGFjdC1jb2wsIHRoLmNhbGwtY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51c2VyLWNvbnRhY3QtY29sLCB0aC51c2VyLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY3JlYXRlZC1jb2wsIHRoLmNyZWF0ZWQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3LjclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmxhc3QtdXBkYXRlZCwgdGgubGFzdC11cGRhdGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3LjclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnJhdGluZy1jb2wsIHRoLnJhdGluZy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVyZ2VuY3ktY29sLCB0aC51cmdlbmN5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudHlwZS1jb2wsIHRoLnR5cGUtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc291cmNlLWNvbCwgdGguc291cmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGF0YS10aW1lLWNvbCwgdGguZGF0ZS10aW1lLWNvbCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLm5vdGVzLWNvbCwgdGgubm90ZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudGltZXN0YW1wLWNvbCwgdGgudGltZXN0YW1wLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY2hhbmdlcy1jb2wsIHRoLmNoYW5nZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXMgd2UgYWRkIGEgcGFkZGluZyBSICsgTCB0byB0aGUgdGQgd2UgbmVlZCB0byBjb21wZW5zYXRlIGZvciB0aGF0LlxyXG4gICAgLmVsbGlwc2lzLXRleHQ6aG92ZXIge1xyXG4gICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICB9XHJcbiAgICAvLyBQcmV2ZW50IGxvbmcgc3RyaW5ncyBvZiB0ZXh0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICAgIC5jYWxsLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICB9XHJcbiAgICB0ci5jYWxsLWNsb3NlZCB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBub3QoXCIucmF0aW5nLWNvbFwiLCBcIi51bnJlYWQtY29sXCIpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVucXVpcnktZmlsdGVycyB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgc3Bhbi5jaGVja2JveCwgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jYWxsLXR5cGUtaWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAvLyBGaXggZm9yIGljb25zIG5vdyBzaG93aW5nIGluIHByaW50ZXIgbW9kZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy82NjcwMTUxL2hvdy1jYW4taS1mb3JjZS1icm93c2Vycy10by1wcmludC1iYWNrZ3JvdW5kLWltYWdlcy1pbi1jc3MuIFxyXG4gICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcclxuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgZm9udC1zaXplOiAkY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIHN0YXRpYyBidWlsZC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICYuYXR0YWNobWVudCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUF0dGFjaG1lbnQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuYXR0YWNobWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1hdHRhY2htZW50KTtcclxuICAgIH1cclxuICAgIC8vICYuY2FsbC1wcml2YWN5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2FsbFByaXZhY3kucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2FsbC1wcml2YWN5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXByaXZhY3kpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jYWxsLXR5cGUge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DYWxsVHlwZS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jYWxsLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdHlwZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNsYXNzaWZpY2F0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2xhc3NpZmljYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2xhc3NpZmljYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY2xhc3NpZmljYWl0b24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb21wbGV0ZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db21wbGV0ZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29tcGxldGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbXBsZXRlKTtcclxuICAgIH1cclxuICAgIC8vICYuY29udGFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udGFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250YWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuY29udHJhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250cmFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250cmFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250cmFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRyYWN0LXR5cGUge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250cmFjdFR5cGUucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udHJhY3QtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250cmFjdC10eXBlKTtcclxuICAgIH1cclxuICAgIC8vICYuY3JlYXRlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNyZWF0ZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY3JlYXRlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jcmVhdGVkKTtcclxuICAgIH1cclxuICAgIC8vICYuZGVmZXJyZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1EZWZlcnJlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5kZWZlcnJlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1kZWZlcnJlZCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmVzY2FsYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Fc2NhbGF0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmVzY2FsYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtZXNjYWxhdGlvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmltcGFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUltcGFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbXBhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW1wYWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuaW5ib3VuZC1waG9uZS1jYWxsIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW5ib3VuZFBob25lQ2FsbC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbmJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW5ib3VuZC1waG9uZS1jYWxsKTtcclxuICAgIH1cclxuICAgIC8vICYuaW5mb3JtYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbmZvcm1hdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbmZvcm1hdGlvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmxpbmsge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1MaW5rLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmxpbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtbGluayk7XHJcbiAgICB9XHJcbiAgICAvLyAmLm91dGJvdW5kLXBob25lLWNhbGwge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1PdXRib3VuZFBob25lQ2FsbC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5vdXRib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLW91dGJvdW5kLXBob25lLWNhbGwpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5wcmlvcml0eSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVByaW9yaXR5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnByaW9yaXR5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXByaW9yaXR5KTtcclxuICAgIH1cclxuICAgIC8vICYucmVzcG9uc2liaWxpdHkge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1SZXNwb25zaWJpbGl0eS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5yZXNwb25zaWJsaXR5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH1cclxuICAgIC8vICYuc2hvcnRjdXQtc2VudCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVNob3J0Y3V0U2VudC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXNob3J0Y3V0LXNlbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zbGEtaW5jbHVzaW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U0xBSW5jbHVzaW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnNsYS1pbmNsdXNpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc2xhLWluY2x1c2lvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLnN0YXR1cyB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVN0YXR1cy5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zdGF0dXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc3RhdHVzKTtcclxuICAgIH1cclxuICAgIC8vICYudW5kZWZlcnJlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVVuZGVmZXJyZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYudW5kZWZlcnJlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS11bmRlZmVycmVkKTtcclxuICAgIH1cclxuICAgICYudXJnZW5jeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS11cmdlbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi53b3JrZmxvdyB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVdvcmtmbG93LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLndvcmtmbG93OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXdvcmtmbG93KTtcclxuICAgIH1cclxufVxyXG5cclxuLmNhbGwtc291cmNlLWljb24ge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGNhbGwtZW5xdWlyeS1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBzdGF0aWMgYnVpbGQuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudXNlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLXVzZXIpO1xyXG4gICAgfVxyXG4gICAgJi5wb3J0YWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS1wb3J0YWwpO1xyXG4gICAgfVxyXG4gICAgJi5lbWFpbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLWVtYWlsKTtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLWhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAkbWFuYWdlLWNhbGxzLXRhYmxlLWhlYWRpbmctbWFyZ2luO1xyXG59IiwiLypcclxuLS0tLS0gQmFjayB0byB0b3AgLS0tLS0tIFxyXG5UaGlzIGlzIHRoZSBidXR0b24gdGhhdCBhcHBlYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4qL1xyXG5cclxuLmJhY2stdG9wLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aCk7XHJcbiAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIEBpZiAkYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKTtcclxuICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIGFjY291bnQgZm9yIHRoZSByZWNhcHRjaGEgYmFkZ2UuXHJcbiAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgbGVmdDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCk7XHJcbiAgICB9XHJcbiAgICB6LWluZGV4OiAxNTAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLXdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0KTtcclxuICAgICAgICBAaWYgJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gYWNjb3VudCBmb3IgdGhlIHJlY2FwdGNoYSBiYWRnZS5cclxuICAgICAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhY2stdG9wLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCAnYmFjay10by10b3AnKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFjay10by10b3AtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtaWNvbi1zaXplKTsgXHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWljb24tc2l6ZSk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIsICY6aG92ZXIuYWN0aXZlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpZiAkYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YWN0aXZle1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFNlY3Rpb25zIC0tLS0tIFxyXG5BeGlzIHRvZ2dsZXIgaXMgYnVpbGQgb24gdG9wIG9mIEZvdW5kYXRpb24ncyBUb2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwgYW5kIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL2FjY29yZGlvbi5odG1sIGJ1dCBzb21ldGltZXMgaXQgaXMgbm90IHBvc3NpYmxlIGNvbnZlbmllbnQgdG8gYnVpbGQgdGhlIHNlY3Rpb24ocykgaW4gPHVsPiBvciBpbiBkZXNrdG9wIHlvdSByZXF1aXJlIHRoZSBsYXlvdXQgdG8gYmUgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gbW9iaWxlLlxyXG4qL1xyXG5cclxuLmF4aXMtc2VjdGlvbiB7XHJcbiAgICAvLyBBbGxvdyBncmlkLW1hcmdpbi15IGhhbmRsZSB0aGlzLlxyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtb3Blbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZXZlYWwtZW5hYmxlZCB7XHJcbiAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tICR0cmFuc2l0aW9uSW50cm8sIHBhZGRpbmctYm90dG9tICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xyXG4gICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1jbG9zZWQpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkpO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKlxyXG5cclxuLS0tLS0gRWxsaXBzaXMgLS0tLS0gXHJcbldoZW4gdGhlIGNvbnRlbnQgaXMgdG9vIGxvbmdlciB0byBmaXggd2l0aGluIGEgdGFibGUgY2VsbCAoIGZvciBleGFtcGxlICkgYWxsb3cgdGhlIHVzZXIgdG8gc2hvdyBvdmVyZmxvd2luZyB0ZXh0IGJ5IGhvdmVyaW5nLlxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBzaW5nbGUgbGluZXMgb2YgdGV4dCwgbXVsdGktbGluZSB5b3Ugd2lsbCBuZWVkIHRvIGxvb2sgaW50byAtLXdlYmtpdC1saW5lLWNsYW1wLlxyXG4qL1xyXG5cclxuLmVsbGlwc2lzLXRleHQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmVsbGlwc2lzLXRleHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7ICBcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47ICBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAmLmVsbGlwc2lzLWFjdGl2ZSB7XHJcbiAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBhbnkgYW5jaG9yIG9wYWNpdHkuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIEJsdXIgLS0tLS0tIFxyXG5UaGUgZWZmZWN0IHRoYXQgZ2V0cyBhcHBsaWVkIHRoZSBoZWFkZXIsIG1haW4gJiBmb290ZXIgd2hlbiBhIG1vZGFsIG9yIG1lbnUgaXMgb3BlbiwgZXNzZW50aWFsbHkgYmx1cidzIG91dCB0aGUgY29udGVudCBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHNvbWV0aGluZyBpcyBvdmVybGF5aW5nIHRoZSBwYWdlJ3MgbWFpbiBjb250ZW50LlxyXG4qL1xyXG5cclxuXHJcbi8vLS0tIEJsdXIgRWZmZWN0IC0tLVxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIC8vRE9FU04nVCBXT1JLIElOIElFIE9SIEVER0VcclxuICAgIC5ibHVyIHtcclxuICAgICAgICAtLWRlZnVzZS1hbmltYXRpb246IGRlZnVzZUJsdXIgLjNzIGZvcndhcmRzO1xyXG4gICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICBhbmltYXRpb246IGJsdXIgMC42cztcclxuICAgICAgICAmLmRlZnVzZSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIDAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBkZWZ1c2VCbHVyIHtcclxuICAgICAgICAwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAyMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoOHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA0MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNnB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA2MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA4MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGdldHMgY2xpY2sgdG8gZGlzYWJsZSB0aGUgYmx1ciBlZmZlY3Qgb24gY29udGVudC5cclxuI3BhZ2VPdmVybGF5LCAuYmx1ci1vdmVybGF5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBvcGFjaXR5OiAwLjE7XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdGF0aWMgLS0tLSBcclxuRGVkaWNhdGVkIHNwZWNpZmljYWxseSB0b3dhcmRzIHRoZSBsYW5kaW5nIHBhZ2UgZm9yIHRoZSBzdGF0aWMgbGFuZGluZyBwYWdlIGZvciBleHByZXNzLlxyXG5cclxuKi9cclxuXHJcbkBpZiAoJHNpdGUgPT0gXCJzdGF0aWNcIikge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ3VzdG9tIHN0eWxlc2hlZXRzIGxpbmsuXHJcbiAgICAuZGVtby1saW5rIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIC8vIER1ZSB0byB0aGUgdmFyaWF0aW9uIGluIGhlaWdodHMgYmV0d2VlbiBzaXRlIGxvZ28ncyB3ZSBuZWVkIHRvIHNldCBhIGhlaWdodDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxODBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5zaXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLnNpdGUtYXJlYS1wYWdlcyB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFZmZlY3QgYWxsIHVsJ3MuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS12YXJpYW50cy1jb250YWluZXIge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS12YXJpYW50IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMi41cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtYXJlYS1jZWxsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNpdGUtYXJlYS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN0ZW1wbGF0ZS1leHByZXNzLXBhZ2UtbGlzdCB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOZWVkIHRoaXMgc3BlY2lmaWNhbGx5IGZvciB0aGUgbW9kdWxlcyB0ZXN0IHBhZ2VzLlxyXG5cclxuJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjogMTBweDtcclxuJG1vZHVsZXMtYnV0dG9uLWljb24tc2l6ZTogMTZweDtcclxuJG1vZHVsZXMtYnV0dG9uLXBhZGRpbmc6IDVweCAxMHB4O1xyXG5cclxuXHJcbi5tb2R1bGVzLXRlc3QtcGFnZS1oZWFkZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTY7XHJcbn1cclxuXHJcbi5yb3ctYmFja2dyb3VuZC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgLy8gTWFraW5nIHN1cmUgdGhhdCByb3cgYW5kIG1vZHVsZSBjb250cm9sIHBhbmVscyBjYW4gbmV2ZXIgb3ZlcmxhcCAoIGkuZSBpbiBjb250YWluZWQgdmlldyApLlxyXG4gICAgICAgIHRvcDogI3soJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlciArIHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYnV0dG9uLXBhZGRpbmcsIDEpICsgJG1vZHVsZXMtYnV0dG9uLWljb24tc2l6ZSArIDUpfTtcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xyXG4gICAgICAgICYubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1jb250cm9sLXBhbmVsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICYucm93LWNvbnRyb2xzIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBTbyB0aGUgY29udHJvbHMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHRoZXJlIGlzIG5vIGdyaWQtY29udGFpbmVyLlxyXG4gICAgJi5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgIHRvcDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtY29udHJvbC1idXR0b25zIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyO1xyXG4gICAgcGFkZGluZzogJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgLy8gQnV0dG9uIHN0eWxlcy5cclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb2R1bGUtaW5mbyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMjknO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMzIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcbiAgICAubW9kdWxlcy1pbmZvLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5nZW5lcmFsLWluZm9ybWF0aW9uLXBhbmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IHVsID4gbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSwgaDYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXHJcblxyXG5cclxuLy8gLS0tLS0gU29ydGluZyBBcmVhIC0tLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICB9XHJcbiAgICAuc29ydGluZy1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI5MHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcGFyYXRvciB7XHJcbiAgICAgICAgbWFyZ2luOiA3cHggMCAycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuLy8gLS0tLS0gQ29tbW9uIHN0eWxlcyBmb3Igc2VhcmNoIHJlc3VsdHMgKyBpbnRlcmFjdGl2ZSBtYXAgLS0tLS0gXHJcbi5zdG9ja2lzdC1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VhcmNoIFJlc3VsdHMgLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZHJlc3Mge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgKyAudGVsZXBob25lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKyAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGVsZXBob25lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53ZWJzaXRlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoNXB4IDMwcHgsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIDEyLCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCA0MHB4IDAgMCwgMCkpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBJbnRlcmFjdGl2ZSBNYXAgLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsb2NhdGlvbik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiA2MHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuLm9yZ2FuaXNhdGlvbi1jb250YWluZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcC1uby1yZXN1bHRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaW5mby13aW5kb3ctYWRkcmVzcy10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC5pbmZvLXdpbmRvdy1hZGRyZXNzLCAudGVsZXBob25lIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbmZvLXdpbmRvdy1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcblxyXG4qL1xyXG5cclxuXHJcbi50cmVlLW1lbnUge1xyXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcbiAgICAvLyBDb21tb24gU3R5bGVzLlxyXG4gICAgdWwge1xyXG5cdFx0cGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR9XHJcblx0XHRsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LWhlaWdodDogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuXHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0aGVpZ2h0OiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLWZvbnQtc2l6ZTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW47XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGxhYmVsLmFjdGl2ZSB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIENoaWxkIG5vZGVzLlxyXG5cdFx0XHQmIH4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xyXG5cdFx0XHRcdC8vIFRPRE86IHRoaXMgbmVlZHMgdG8gYmUgbWFkZSBkeW5hbWljYWxseS5cclxuXHRcdFx0XHQvLyBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvLCBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cdC8vIExldmVsIDFcclxuICAgID4gdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cdFx0PiBsaSB7XHJcblx0XHRcdD4gbGFiZWwge1xyXG5cdFx0XHRcdHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpub3QoLnRyZWUtbWVudS1wYXJlbnQpIHtcclxuXHRcdFx0XHQubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBMZXZlbCAyXHJcblx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcblx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdC8vIFVzZWQgdG8gc2hvdyB0aGUgbGV2ZWwgMiBub2RlcyBpbiBncm91cHMuXHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHR9XHRcclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cGFkZGluZzogMCA1cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soNSArIHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDEsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDQsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gTGV2ZWwgMysgKCAzcmQgbGV2ZWwgYW5kIGFueSBsb3dlciApXHJcblx0XHRcdFx0XHQgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTdweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAjeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpfTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMX07XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7NSArICgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgMSwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQvLyBFeHRlbmRpbmcgbGluZSBvdGhlcndpc2UgaWYgdGhpcyBpcyBub3QgdGhlIGxhc3QgY2hpbGQgdGhlbiBhIGdhcCB3aWxsIGZvcm0gaW4gdGhlIHRoZSB0cmVlJ3MgbGluZXMuXHJcblx0XHRcdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdD4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAtI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIgKSArIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnRyZWUtbWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dWwge1xyXG5cdFx0XHQudHJlZS1tZW51LXBhcmVudCB7XHJcblx0XHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogY2FsYygxMDAlICsgI3skdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZX0pO1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogLSN7JHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemV9O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSl9O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHQvLyBKb2lucyBub2RlIHRvIHRyZWUuXHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAjeygoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKSAtICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpKX07XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAzKX07XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikpfTtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC8vIEFzc2V0cyBzdHlsZXMuXHJcbiAgICAmLmFzc2V0cyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0PiB1bCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYXNzZXRzLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHQvLyBPbmx5IGFkZCB0aGUgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHBhcmVudCBub2RlJ3MgbGFiZWwuXHJcblx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdD4gbGFiZWwgeyBcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYXNzZXRzLXJvb3QtbGFiZWwtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0fVx0XHRcclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cclxuXHQuYXR0YWNobWVudHMtY29udGFpbmVyIHtcclxuXHRcdHVsIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdH1cclxuXHRcdC5hdHRhY2htZW50IHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYWxlcnQtbm9kZSB7XHJcblx0XHQ+IGxhYmVsIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIHtcclxuXHRcdFx0LnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LmFsZXJ0LXZhbHVlIHtcclxuXHRcdFx0XHQudmFsdWUsIC5sYWJlbCB7XHJcblx0XHRcdFx0XHRjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnZhbHVlIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcdFxyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogNzAwcHg7XHJcblx0cGFkZGluZzogMTBweCAwO1xyXG5cdC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdH1cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmxhYmVsIHtcclxuXHRcdG1heC13aWR0aDogMjI1cHg7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0QGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHBhZGRpbmc6IDMwcHggMjJweDtcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLW1lbnUtaGVhZGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogMTVweCAwIDIwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHR9XHJcblx0LnRyZWUtbWVudS1jb250cm9scyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cdC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC50cmVlLWluZm9ybWF0aW9uIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdCYuYWxlcnQge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHR3aWR0aDogMTBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxMHB4IDAgNXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFRvZ2dsZSBidXR0b25zIGZvciBjb2xsYXBzaW5nIG9yIGV4cGFuZGluZyB0aGUgZW50aXJlIHRyZWUgLS0tLS1cclxuLnRyZWUtbWVudS1leHBhbmQtdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAuODEyNXJlbTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiAkY29sb3VyNDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuXHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTtcdFx0XHRcdFxyXG5cdH1cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKlxyXG4tLS0tLSBSZXZpZXdzIC0tLS0tIFxyXG4tIEhhbmRsZXMgaW50ZXJmYWNpbmcgd2l0aCB0aGlyZC1wYXJ0eSByZXZpZXcgYXBpJ3MgbGlrZSBmZWVmby5cclxuKi9cclxuXHJcblxyXG4ucmF0aW5nLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC5yZXZpZXctc3RhcnMge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLnN0YXItZnVsbCwgW2NsYXNzKj1yYXRpbmctaWNvbl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByYXRpbmcpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlldy1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIC5kaXNwbGF5LW5hbWUtY29udGFpbmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICYgKyAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICctJztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRpc3BsYXktbG9jYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmxpc3QtY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAuY3VycmVudC1zaG93aW5nLWNvdW50IHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlld3MtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnJldmlld3MtcGFnZXItY29udGFpbmVyIHtcclxuICAgICAgICAmICsgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlcnZpY2UtcHJvdmlkZXItbG9nbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVlZm8tbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHNoYXJlZC1pY29ucy1kaXJlY3Rvcnl9ZmVlZm8tbG9nby5wbmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJldmlld3MtcHJvZHVjdC1yZXZpZXctYWxsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2aWV3LXNvY2lhbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyICsgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAuaGVscGZ1bC12b3Rlcy1kaXNwbGF5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZvdGUtdXApO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qXHJcbi0tLS0tIFBhZ2UgU2VjdGlvbiBDb2xvdXJzIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQtY29sb3VycyB0byBzcGVjaWZpYyBzZWN0aW9ucyBvbiBzcGVjaWZpYyBwYWdlcyBhY3Jvc3MgZXhwcmVzcyB1c2luZyB0aGUgYm9keSBpZCwgc28gYSBwb3RlbnRpYWwgY29uZmlnIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxyXG5cclxuaGVhZGVyLXVzcC1iYXI6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xLFxyXG4gICAgcGFnZXM6IChcImhvbWVwYWdlXCIpXHJcbilcclxuXHJcblRoZSB0b3AgbGV2ZWwgbWFwIGtleSBpcyB0aGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQgdGhhdCB5b3Ugd2FudCB0byBlZmZlY3QgdGhlbiBpbnNpZGUgb2YgdGhhdCBpcyB0aGUgY29uZmlndXJhdGlvbiBpLmUgYmFja2dyb3VuZCBjb2xvdXIgKyB3aGljaCBwYWdlcyB0byBhcHBseSB0aGlzIHRvIHdoaWNoIGlzIGEgbGlzdCBvZiBib2R5IGlkJ3MuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyBjb25maWcuXHJcbkBlYWNoICRlbGVtZW50LCAkY29uZmlnIGluICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMge1xyXG4gICAgLy8gR2V0IHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gR2V0IHBhZ2VzIHRoaXMgaXMgYXBwbGljYWJsZSB0b28uXHJcbiAgICAkcGFnZXM6IG1hcC1nZXQoJGNvbmZpZywgcGFnZXMpO1xyXG4gICAgQGlmICgkcGFnZXMpIHtcclxuICAgICAgICBAZWFjaCAkcGFnZSBpbiAkcGFnZXMge1xyXG4gICAgICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgICAgIC4jeyRlbGVtZW50fSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAd2FybiBcIlBhZ2Ugc2VjdGlvbiBjb2xvdXJzOiBObyBiYWNrZ3JvdW5kLWNvbG91ciBwcm92aWRlZCBmb3IgI3skZWxlbWVudH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiUGFnZSBzZWN0aW9uIGNvbG91cnM6IE5vIHBhZ2VzIHByb3ZpZGVkIGZvciAjeyRlbGVtZW50fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdGFyIFJhdGluZ3MgLS0tLSBcclxuSGFuZGxlcyBzdGFyIHJhdGluZ3MgZm9yIHByb2R1Y3RzLCB0aGlzIHN1cHBvcnRzIHBlcnNlbnRhZ2UgYmFzZWQgcmF0aW5nLCBoZXJlIGlzIGFuIG92ZXJ2aWV3IG9mIHdoYXQgdGhpcyB3b3VsZCBsb29rIGxpa2UgaHR0cHM6Ly9jb2RlcGVuLmlvL2ZpbGNwL3Blbi9RdlpWT2cgLlxyXG5cclxuKi9cclxuXHJcbi5zdGFyLXJhdGluZ3MtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJhdGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWNrZ3JvdW5kLXN0YXJzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgaW5hY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcmxhcCB0aGUgZm9yZWdyb3VuZCBzdGFycyB0byBtYWtlIHRoZW0gYXBwZWFyIGxpa2UgdGhleSdyZSBjb2xvdXJpbmcgaW4gdGhlIGJhY2tncm91bmQgc3RhcnMuXHJcbiAgICAuZm9yZWdyb3VuZC1zdGFycyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE91dHB1dCByYXRpbmcgdG90YWxzICggaS5lIGF2ZXJhZ2UsIG1heCAmIHRvdGFsIGNvdW50IClcclxuICAgIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyYXRpbmctc3VtbWFyeS1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgLmJyZWFrZG93bi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxufVxyXG4uYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIC5wZXJjZW50YWdlLWJhciB7IFxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5iYWNrZ3JvdW5kLWJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5wZXJjZW50YWdlLWJhciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgaW5hY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JlZ3JvdW5kLWJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC5wZXJjZW50YWdlLWJhciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJyZWFrZG93bi1jb3VudC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbn1cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQmFyY29kZSBTY2FubmVyIC0tLS0tLSBcclxuXHJcbiovXHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEwcHggMTVweCwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29sb3VyLCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYm9yZGVyLWNvbG91ci1kZXNrdG9wLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZShcImFzc29jaWF0ZWRcIiksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCdhc3NvY2lhdGVkJyksIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGZsZXgsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1pY29uLWNvbmZpZywgMSk7XHJcbn1cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB2aWRlbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLy8gVmlldyBmaW5kZXIgb3ZlcmxheS5cclxuICAgIGNhbnZhcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLmlzLWluYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KDE1cHggKyAoKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gMikgKiAyKSArICR0b29sdGlwLWluZm8taWNvbi1zaXplKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItcmVzcG9uc2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMDtcclxufSIsIi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBJbWFnZSAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kIGltYWdlKHMpIHRvIHNwZWNpZmljIHBhZ2UgdHlwZXMgdXNpbmcgdGhlIGJvZHkgaWQsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb246XHJcblxyXG5ob21lcGFnZTogKFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZSA9PiBbIFJFUVVJUkVEIF0gVGhlIHVybCBvZiB0aGUgaW1hZ2UuXHJcbiAgICByZXBlYXQtYmFja2dyb3VuZCA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBuby1yZXBlYXQuXHJcbiAgICBiYWNrZ3JvdW5kLXNjYWxlID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIGNvdmVyLlxyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50cyA9PiBbIE9QVElPTkFMIF1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gPT4gWyBPUFRJT05BTCBdXHJcbilcclxuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXMgY29uZmlnLlxyXG5AZWFjaCAkcGFnZSwgJGNvbmZpZyBpbiAkcGFnZS1iYWNrZ3JvdW5kLWltYWdlcyB7XHJcbiAgICAvLyBHZXQgc2VjdGlvbiBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWltYWdlOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgLy8gU2hvdWxkIHdlIHJlcGVhdCB0aGUgYmFja2dyb3VuZD9cclxuICAgICRyZXBlYXQtYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCByZXBlYXQtYmFja2dyb3VuZCk7XHJcbiAgICAvLyBIb3cgc2hvdWxkIHdlIHNjYWxlIHRoZSBiYWNrZ3JvdW5kP1xyXG4gICAgJGJhY2tncm91bmQtc2NhbGU6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1zY2FsZSk7XHJcbiAgICAvLyBCYWNrZ3JvdW5kIGF0dGFjaG1lbnQgKCBwYXJhbGxheCBlZmZlY3QgKT9cclxuICAgICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGlmKGNvbnRhaW5zKCRjb25maWcsIFwiYmFja2dyb3VuZC1hdHRhY2htZW50XCIpLCBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtYXR0YWNobWVudCksIGZhbHNlKTtcclxuICAgIC8vIEJhY2tncm91bmQgcG9zaXRpb25cclxuICAgICRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZihjb250YWlucygkY29uZmlnLCBcImJhY2tncm91bmQtcG9zaXRpb25cIiksIG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1wb3NpdGlvbiksIGZhbHNlKTtcclxuICAgIEBpZiAoJGJhY2tncm91bmQtaW1hZ2UpIHtcclxuICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skYmFja2dyb3VuZC1pbWFnZX1cIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBpZigkcmVwZWF0LWJhY2tncm91bmQsICN7JHJlcGVhdC1iYWNrZ3JvdW5kfSwgbm8tcmVwZWF0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBpZigkYmFja2dyb3VuZC1zY2FsZSwgI3skYmFja2dyb3VuZC1zY2FsZX0sIGNvdmVyKTtcclxuICAgICAgICAgICAgQGlmICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiAkYmFja2dyb3VuZC1hdHRhY2hlbWVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGJhY2tncm91bmQtcG9zaXRpb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJhY2tncm91bmQtcG9zaXRpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIlBhZ2UgQmFja2dyb3VuZHM6IE5vIGJhY2tncm91bmQgaW1hZ2UgcHJvdmlkZWQgZm9yIHBhZ2UgI3skcGFnZX1cIjtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRhZ3MgLS0tLS1cclxuVXNlZCB0byBkaXNwbGF5IGEgY2F0YWdvcmlzYXRpb24gb2YgZ3JvdXBzIC8ga2V5d29yZHMsIHRoaXMgaWEgcHJpbWFyaWx5IHVzZWQgaW4gdGhlIGNtcyBzeXN0ZW0gY3VycmVudGx5IGZvciBkaXBsc2F5IG5ld3MsIGJsb2dzICYgZXZlbnQncyBhcnRpY2xlcy5cclxuKi9cclxuXHJcbi50YWdnaW5nLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYuYWxpZ24tY2VudGVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gSXMgdGhpcyBpcyBhIGxpc3RpbmcgcGFnZT9cclxuICAgICYubGlzdGluZyB7XHJcbiAgICAgICAgLnRhZ2dpbmctaGVhZGluZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhZ3MtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNXB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIC8vIFRoZSBhY3R1YWwgdGFnLlxyXG4gICAgLnRhZy1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAvL21hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWctcmVtb3ZlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBeGlzIFRvZ2dsZXIgLS0tLS1cclxuQnVpbGQgb250b3Agb2YgRm91bmRhdGlvbnMgdG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sLCB3ZSBuZWVkZWQgdG8gYWRkIGluIHNvbWUgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGZvciByZS10b2dnbGluZyBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY29udGVudCBhcmVhLlxyXG4qL1xyXG5cclxuLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnRvZ2dsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvLyBNdXN0IGJlIHNldCBzbyBjb250ZW50IG92ZXJsYXBzIHRoZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgQ29sb3VycyAtLS0tLVxyXG5TaW1pbGFyIHRvIGF4aXMtc2VjdGlvbi1jb2xvdXJzIGEgY3VzdG9tIGNvbmZpZyBpcyBwcm92aWRlIHdoaWNoIGdldHMgbG9vcGVkIHRocm91Z2ggYXNzaWduaW5nIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IHRvIHRoZSByZWxpZXZlbnQgcGFnZXMuXHJcblxyXG5OT1RJQ0U6IEhhZCB0byBzZXQgdGhlICFpbXBvcnRhbnQgZmxhZyBvbiB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSBkdWUgdG8gZm91bmRhdGlvbiBlbmZvcmluZyB0aGF0IHRoZSBib2R5IGJhY2tncm91bmQgY29sb3VyIG11c3QgYmUgc2V0LlxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMgY29uZmlnLlxyXG5AZWFjaCAkcGFnZSwgJGNvbmZpZyBpbiAkcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnMge1xyXG4gICAgQGlmICgkcGFnZSA9PSBhbGwpIHtcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tLS1cclxuXHJcblByb3ZpZGVzIGFuIGFyZWEgdG8gcGxhY2Ugb3B0aW9ucyAoIGkuZSBhIGZvcm0gaW4gYSBob3Jpem9udGFsIGxheW91dCApIHdoaWNoIHRoZW4gZ2V0cyBmaWxsZWQgaW4gdG8gdXBkYXRlIG11bHRpcGxlIHBvaW50cyBvbiB0aGUgcGFnZS5cclxuXHJcbiovXHJcblxyXG4ubXVsdGktZmllbGQtbG9va3VwIHtcclxuICAgICYucXVpY2stb3JkZXIge1xyXG4gICAgICAgIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAmLnNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAYXQtcm9vdCB7IFxyXG4gICAgICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gUmVkdWNpbmcgbWFyZ2luIGJvdHRvbSBhcyBvbi1wYWdlLW5vdGlmaWNhdGlvbnMgYWxyZWFkeSBoYXZlIDEwcHggdG9wICsgYm90dG9tIHBhZGRpbmcuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9va3VwLW9wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubG9va3VwLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBidXR0b24gYXJlIGNhcHBlZCBhdCB0aGUgc2FtZSBoZWlnaHQgYSB0aGUgaW5wdXRzLlxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV0IHRoZSBjb250YWluZXJzIGRpY3RhdGUgdGhlIHdpZHRoIGFuZCBqdXN0IHNvYWsgdXAgdGhlIGF2aWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm11bHRpLWZpZWxkLXJlc3BvbnNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7LyohXG4gKiBhbmltYXRlLmNzcyAtIGh0dHBzOi8vYW5pbWF0ZS5zdHlsZS9cbiAqIFZlcnNpb24gLSA0LjEuMVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMCBBbmltYXRlLmNzc1xuICovXG46cm9vdCB7XG4gIC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG4gIC0tYW5pbWF0ZS1kZWxheTogMXM7XG4gIC0tYW5pbWF0ZS1yZXBlYXQ6IDE7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2luZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0xcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTJzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTRzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3RlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG59XG5AbWVkaWEgcHJpbnQsIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbmltYXRlX19hbmltYXRlZFtjbGFzcyo9J091dCddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKiBBdHRlbnRpb24gc2Vla2VycyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3B1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3J1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2hha2VYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VYO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VYO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zaGFrZVkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG4uYW5pbWF0ZV9faGVhZFNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX3N3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX190YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX193b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9famVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi5hbmltYXRlX19oZWFydEJlYXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbi8qIEJhY2sgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luVXA7XG59XG4vKiBCYWNrIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG59XG4vKiBCb3VuY2luZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cbi8qIEJvdW5jaW5nIGV4aXRzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Ub3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Ub3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG59XG4vKiBGYWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRVcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG59XG4vKiBGbGlwcGVycyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG4vKiBMaWdodHNwZWVkICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cbi8qIFJvdGF0aW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG4vKiBSb3RhdGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG4vKiBTcGVjaWFscyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2phY2tJblRoZUJveCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fcm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG4vKiBab29taW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cbi8qIFpvb21pbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbi8qIFNsaWRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cbi8qIFNsaWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuIiwiXHJcbi8qXHJcblxyXG4tLS0tLSBBeGlzIEVsZW1lbnQgUHJpbnQgLS0tLS0gXHJcbkFsbG93cyB5b3UgdG8gc2VsZWN0IGFuIGVsZW1lbnQgdG8gYmUgcHJpbnRlZCBpbnNpZGUgb2YgdGhlIERPTS5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCBnZW5lcmFsIGZvcm1hdHRpbmcgb2YgdGV4dCB3aGVuIGluIHByaW50IHZpZXcgYW5kIHdoaWNoIGVsZW1lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGFzIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgdGhlbSB0byBiZSB0aGVyZS5cclxuXHJcbiovXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICAgLnBlLW5vLXByaW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBlLXByZXNlcnZlLWFuY2VzdG9yIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlIGFueSBzdGljayBlbGVtZW50cyBhcyB0aGlzIHJlYWxseSBkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsIGluIHByaW50ZXIgdmlldy5cclxuICAgIFtkYXRhLWF4aXMtc3RpY2t5XSwgW2RhdGEtc3RpY2t5LWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGlzIGlzIG5vdCBuZWVkZWQgaW4gcHJpbnQgdmlldy5cclxuICAgIC5lbnF1aXJ5LWZpbHRlcnMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhbGwtdHlwZS1pY29uLCAuY2FsbC1zb3VyY2UtaWNvbiB7XHJcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gaDIge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIC5jb2wtbGFiZWwge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBydWxlIGR1ZSB0byBiYWNrZ3JvdW5kIGNvbG9ycyBiZWluZyBzdXBwcmVzc2VkLCBhbHNvIGluY3JlYXNpbmcgd2VpZ2h0IGZvciBwb29yIHF1YWxpdHkgcHJpbnRlcnMuXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMy0yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9uJ3Qgc2hvdyBwYWdlIGJ1dHRvbnMuXHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciwgLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIE1ha2UgYWxsIHRleHQgaXMgdmlzaWJsZS5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFNldHRpbmcgcG9zaXRpb24gYWJzb2x1dGUgb3RoZXJ3aXNlIGlmIHRoZSBtb2RhbCBjb250ZW50IGlzIGJpZ2dlciB0aGFuIGEgQTQgcGFnZSB0aGUgY29udGVudCBnZXRzIGN1dCBvZmYgZHVlIHRvIG9idmlvdXNseSBub3QgYmVpbmcgYWJsZSB0byBzY3JvbGwuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLS0gXHJcblNwZWNpZmljYWxseSBoYW5kbGVzIHRoZSBzdHlsaW5nIGZvciBBWElTIERvY3VtZW50YXRpb24sIHRoZXJlIHdpbGwgYmUgc2ltaWxhcml0aWVzIGJldHdlZW4gdGhpcyBjb2RlIGFuZCBjbXMgY29udGFpbmVycy5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCB0aGUgZm9sbG93aW5nIHBhZ2UgdHlwZXM6XHJcbi0tIFByb2R1Y3RzXHJcbi0tLS0gQm9va3NcclxuLS0tLS0tIENoYXB0ZXJzXHJcbi0tLS0tLS0tIEFydGljbGVzXHJcbi0tLS0tLS0tIEZ1bmN0aW9uc1xyXG4tLS0tLS0tLS0tIEFydGljbGVcclxuKi9cclxuXHJcblxyXG4vLyBIb2xkcyB0aGluZ3MgbGlrZSBkb2N1bWVudGF0aW9uIHNlYXJjaCwgYWNjZXNzIGxldmVsLlxyXG4uZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgfVxyXG4gICAgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlYXJjaC16b25lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBjb252ZW50aW9uIG9mIHNwYW5uaW5nIHRoZSBlbnRpcmUgd2lkdGggdXNlZCB3aGVuIGRpc3BsYXlpbmcgYSBjb252ZW50aW9uYWwgZm9ybS5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBEb2N1bWVudGF0aW9uIGxpc3RcclxuLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLnNpdGUtc3R5bGUge1xyXG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmICsgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICYuc3RyaXBlcyB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBzdWJtZW51IHRoZW4gcmV2ZXJ0IHRoZSBvcmRlci5cclxuICAgICAgICAgICAgICAgICAgICBsaS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBnYXA6IDAgNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBLZWVwIGNvbnRleHQgbWVudSBpbmxpbmUgd2l0aCBhbmNob3IuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nLCAxKSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gdGhlIHRvb2x0aXAgaWNvbiBpcyBpZ25vcmluZyB0aGUgYWxpZ24taXRlbTogYmFzZWxpbmU7IHNldCBvbiB0aGUgcGFyZW50IGxpIHRoaXMgdmFyaWVzIGRlcGVuZGFudCBvbiB0aGUgZm9udCBiZWluZyB1c2VkLCBzbyB0aGlzIHdhcyB0aGUgb25seSB3YXMgdG8gZ2V0IGNvbnNpc3RhbnQgYmVoYXZvdXIuXHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbmRleCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUeXBpY2FsbHkgdXNlZCBmb3IgcGFnZSBpbnRybydzLlxyXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyIHtcclxuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDU2cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJi5sYXlvdXQtMSB7XHJcbiAgICAgICAgbWFyZ2luOiAzNXB4IDAgNDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDVweCAwIDU1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMyksIDUwcHgsIDFweCwgKHJpZ2h0OiAwLCBib3R0b206IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxheW91dC0yIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogODBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsIGgyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1iYW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDVweCAyNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAvLyBKdXN0IGxldCB0aGUgY29udGVudCBmYWxsIG9uIHRoZSBwYWdlLlxyXG4gICAgICAgICAgICBmbGV4OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgYXR0YWNobWVudCBzdHlsZXMuXHJcbiAgICAuYXR0YWNobWVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7ICAgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCZXNwb2tlIGljb25zIGZvciB0aGlzIGFyZWEuXHJcbiAgICAgICAgJi5wcmludGVyLWxpbmsge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlcik7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG9jdW1lbnRhdGlvbi1wdWJsaWMtbGluayB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRvY3VtZW50YXRpb24tcHVibGljLXVybCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb2N1bWVudGF0aW9uLXN0YXRpc3RpY3Mge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkb2N1bWVudGF0aW9uLXN0YXRpc3RpY3MpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGUgZG9jdW1lbnRhdGlvbiBoZWFkaW5nIHN0eWxlcyBhcmUgdXNpbmcgdGhlc2UgcnVsZXMgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGNtcy1oZWFkaW5nIG1peGluLCB0aGUgbW9zdCBvYnZpb3VzIHJ1bGUgY29uZmxpY3Rpb24gaXMgbm90IHVzaW5nIHRoZSBwcmltYXJ5LWNvbG91ciBmb3IgdGhlIHRleHQgY29sb3VyLCB0aGVyZSBpcyBhbHNvIG1vcmUgb2YgYSB1c2Ugb2YgcnVsZXMgd2l0aCBoMSAmIGgyLlxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIGFnYWluIGFzIHRoZSBydWxlIGlzIHB1dCB0aGUgYWJvdmUgY29udGVudCBhd2F5IGFuZCBtYWtlIHRoZSBjb250ZW50IGJlbG93IHNlZW0gY2xvc2UgdG8gZm9ybSBtb3JlIG9mIGEgZ3JvdXBlZCBhZmZlY3QuXHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgxKTsgXHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICAgICAgJiArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46ICBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgyKTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMyk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDQpOyBcclxuICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICBjb2xvcjogJGhlYWRpbmctNC1jb2xvdXI7XHJcbiAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNSk7IFxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLTUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNik7IFxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLTYtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgJi5pbmRlbnRlZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICB9XHJcbiAgICAmLmluZGVudGVkLXJ1bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjMtMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZztcclxuICAgICAgICBib3JkZXItdG9wOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1mb290ZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1mb290ZXItY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU7XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIC8vIFBvc2l0aW9uIHJlbGF0aXZlIHJlcXVpcmUgdG8ga2VlcCBjb250ZXh0IG1lbnUgaW4gcGxhY2UuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXlvdXR1YmUtdmlkZW8oKTtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1pbWFnZSgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkge1xyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksICYuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgYSwgdGFibGUgdGhlYWQgdGgsIHRhYmxlIHRib2R5IHRkIHtcclxuICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tbm90LXB1Ymxpc2hlZCB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8vIE1ha2Ugc3VyZSBpZiBhbiBpdGVtIGhhcyBhIHRvZ2dsZSBidXR0b24gdGhhdCBjaGlsZCBpdGVtKHMpIGtlZXAgaXRlbSBkZXNjcmlwdGlvbnMgaW5saW5lLiBcclxudWwuZnVuY3Rpb25zLWxpc3Q6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgLy8gS2VlcGluZyBjb25zaXN0YW50IGFjcm9zcyBhbGwgZGV2aWNlcyAuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gRG8gdGhlIHNhbWUgZm9yIGxvd2VyIGxldmVsIG1lbnVzLlxyXG4gICAgdWwubWVudTpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUuZnVuY3Rpb25zLWxpc3Qge1xyXG4gICAgLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9ubHkgYWZmZWN0IHRoZSByb290IGxldmVsLlxyXG4gICAgPiBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICAvLyBDYXNjYWRlLlxyXG4gICAgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC8vIEFsaWduaW5nIHRvIHRoZSBjZW50ZXIgZHVlIHRvIGluY29uc2lzdGFuY2llcyBpbiBpY29uIGxpYnJhcmllcyBhbmQgZm9udCBsaWJyYXJ5cy5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gU28gdGhlIGNvbnRleHQgbWVudSByZW1haW5zIGluIHRoZSBzYW1lIHBsYWNlIHdoZW4gY2FzY2FkaW5nIGRvd24gdGhlIGxldmVscyBpbiBhIGxpc3QuXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgPiBhLCA+IGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHRvZ2dsZSBidXR0b24gYWxsb3cgdGhhdCB0byBzdHJpbmsgdGhpcyBjb250ZW50IHRvIGZpdCBuZXh0IHRvIGl0LlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZ1bmN0aW9ucy1tZW51LWFycm93LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCAyLlxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5kZXgge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWxsb3cgaW5kZXggdG8gZGljdGF0ZSBob3cgbXVjaCBzcGFjZSB0byBzcGFuIGFjcm9zcy5cclxuICAgICAgICAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmhhcy1zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAvLyAgICAgYSB7XHJcbiAgICAvLyAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nIGFsaWduIGNvbnRlbnQgdmVydGljYWxseSBjZW50ZXJhbCB0byB0aGUgY2hldnJvbiBpbiB0aGUgdG9nZ2xlLWJ1dHRvbi5cclxuICAgIC8vICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgIHBhZGRpbmc6IDEwcHggNXB4OyBcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJyZWFkY3J1bWJzLXNlcGVyYXRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDdweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3VsdHMtc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24ge1xyXG4gICAgICAgIC8vIE92ZXJyaWRlIHNlY29uZGFyeS1idXR0b24gc3R5bGVzIHNsaWdodGx5IHRvIGNvbmZvcm0gd2l0aCBvdGhlciBkb2N1bWVudGF0aW9uIGJ1dHRvbnMuXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdGF0aXN0aWNzIHBhZ2UuXHJcbi5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQXVkaXQgdHJhaWwgLyByZXZpc2lvbiByZWxhdGVkIGVsZW1lbnRzLlxyXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyIHtcclxuICAgICYuc2VwZXJhdG9yIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDVweDsgLy8gcmVkdWNpbmcgZHVlIHRvIGFjY291bnQgZm9yIGxpbmUtaGVpZ2h0LlxyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyBkaXNwbGF5ZWQgb24gdGhlIHByZXZpZXcgcGFnZS5cclxuLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB7XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBUaGlzIHdhcyBvcmlnaW5hbGx5IGltcGxlbWVudGVkIGZvciB0aGUgc3RhdGljIGJ1aWxkIGdvb2dsZS10YWctbWFuYWdlci1ldmVudHMuXHJcbi50ZWNobmljYWwtZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWRlbW8tbGluay1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcclxufVxyXG5cclxuLmluc3BlY3QtcHJvbXB0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcclxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuICAgIC5jb25maWd1cmF0aW9uLXNlY3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZWNobmljYWwtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0YXRlLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXN0YXRlLWNvbG91cik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmtleS12YWx1ZS1wYWlyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXV0cmFsaXNlZC1pdGVtcyB7XHJcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLm5hbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPT5cIjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YWx1ZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQ29udGV4dCBNZW51IC0tLS0tLSBcclxuRXNzZW50aWFsbHkgYSB0b29sYmFyIC8gdG9vbGJveCBtZW51XHJcbiovXHJcblxyXG4uY29udGV4dC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB6LWluZGV4OiAkY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSwgJi5pcy1jbG9zaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB6LWluZGV4OiAjeygkY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4ICsgMSl9O1xyXG4gICAgfVxyXG5cclxuICAgIG9sLCB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9sLCB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gV2lsbCBiZSBvayBhdCB0aGUgdGltZSBvZiBidWlsZGluZyBidXQgbWF5IGhhdmUgdG8gZXh0ZW5kIGluIHRoZSBmdXR1cmUgdG8gdXNlIEpTIHRvIGdpdmUgYW4gZXhhY3QgbWVhc3VyZS5cclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoMjVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvbCwgdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy9ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSGVpZ2h0IHVzZWQgdG8gc3RvcCBib3JkZXJzIGZyb20gb3ZlcmxhcHBpbmcgdHJpZ2dlciBidXR0b24gaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0ZS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC5lZGl0LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vIER1ZSB0byB1c2luZyBhIG1peHR1cmUgb2YgZm9udCBmYW1pbGllcyBoYXZpbmcgdG8gc2V0IHRvIGNlbnRlciBpbnN0ZWFkIG9mIGJhc2VsaW5lLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb21tb24gc3R5bGVzIGJldHdlZW4gYWxsIGJ1dHRvbnMuXHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBcclxuICAgICAgICAvLyBTdGF0dXMgT3B0aW9ucy5cclxuICAgICAgICAmLmFjY2Vzcy1sZXZlbCB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWFjY2Vzcy1sZXZlbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0wIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0xIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0yIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTMsICYuc3RhdGUtdmFsdWUtNCB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wdWJsaXNoZWQge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1wdWJsaXNoZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtdHJ1ZSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtZmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRWRpdCBPcHRpb25zLlxyXG4gICAgICAgICYuZWRpdC1tZW51IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbWVudS1lZGl0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVkaXQtdGV4dCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtdGV4dCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lZGl0LXByb3BlcnRpZXMgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtZWRpdC1wcm9wZXJ0aWVzLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtdXAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlLXVwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLWRvd24gLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlLWRvd24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1iZWZvcmUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYmVmb3JlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWJlZm9yZS1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYWZ0ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYWZ0ZXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYWZ0ZXItaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJvbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LXByb21vdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWRlbW90ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGVsZXRlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZGVsZXRlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtYXJ0aWNsZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmF1ZGl0LXRyYWlsIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtYXVkaXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS0tIFxyXG5FZGdlIGVmZmVjdCB3aGVyZSB0aGUgaXMgdHlwaWNhbGx5IDMgdG9uZXMgb2YgYSBzcGVjaWZpYyBjb2xvdXIgaW4gdGhlIGNvcm5lciBvZiBhIGVsZW1lbnQgLyBjb21wb25lbnQuXHJcblBvc3NpYmxlIGNsYXNzIGNvbmZpZ3VyYXRpb24gb3B0aW9uczpcclxuLSBPcGFjaXR5IGVudW1lcmF0aW9uICggSGlnaCwgTWVkaXVtLCBMb3cgKVxyXG4tIFBvc2l0aW9uIFRvcCArIEJvdHRvbSBMICYgUiBjb3JuZXJzXHJcblxyXG5Gb3IgYSBkZW1vbnN0cmF0aW9uIGdvIHRvIC9zdGF0aWMvZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXRlc3QuaHRtbFxyXG4qL1xyXG5cclxuXHJcblxyXG4uZ3JhZHVhdGVkLWNvbG91ci1lZGdlIHtcclxuICAgIC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0OiB2YXIoLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodCwgI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXN0ZXAtaGVpZ2h0fSk7XHJcbiAgICAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg6IDYwMHB4O1xyXG4gICAgd2lkdGg6ICRncmFkdWF0ZWQtc3RlcC13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gVG9wIExlZnQuXHJcbiAgICAmLnBvc2l0aW9uLTEge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gVG9wIFJpZ2h0LlxyXG4gICAgJi5wb3NpdGlvbi0yIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBCb3R0b20gTGVmdC5cclxuICAgICYucG9zaXRpb24tMyB7XHJcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBCb3R0b20gUmlnaHQuXHJcbiAgICAmLnBvc2l0aW9uLTQge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTEge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjk7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMiB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BhY2l0eS0zIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0ZXAge1xyXG4gICAgICAgIHdpZHRoOiAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEF4aXMgUmljaCBUZXh0IEVkaXRvcnMgLS0tLS0gXHJcbkJlc3Bva2UgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB3aGVuIGludGVyZ3JhdGluZyB3aXRoIHRoaXJkLXBhcnR5IGVkaXRvcnMuXHJcblxyXG5HZW5lcmFsIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgdG8gLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHdoaWNoIGlzIHRoZSBjb21tb24gY29udGFpbmVyIHRoYXQgZ2V0cyB1c2VkIGFjcm9zcyBhbGwgZWRpdG9ycy5cclxuKi9cclxuXHJcbi8vIE1ha2Ugc3VyZSBja2VkaXRvcidzIGNvbnRlbnQgb3ZlcmxhcHMgbW9kYWxzIGFzIGl0IGRvZXMgRE9NIG1hbmlwbGF0aW9uIG91dHNpZGUgb2YgbW9kYWxzLlxyXG4uY2stYm9keS13cmFwcGVyIHtcclxuICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IG92ZXJsYXBzIG1vZGFscy5cclxuICAgIHotaW5kZXg6ICN7KCRtb2RhbC1jb250ZW50LXotaW5kZXggKyAyMCl9O1xyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNrLWVkaXRvciB7XHJcbiAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xyXG4gICAgLy8gRWRpdG9yIHNwZWNpZmljIENTUyB2YXJpYWJsZXMuXHJcbiAgICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAjeyRjb2xvdXIzLTF9O1xyXG4gICAgLS1jay1jb2xvci1iYXNlLWVycm9yOiAje21hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCl9O1xyXG4gICAgLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAje3NwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKX07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tdGV4dDogI3skYm9keS1mb250LWNvbG91cn07XHJcbn1cclxuLy8gTWFrZSBzdXJlIHRleHQgYXJlYSBpcyBub3Qgc2hvd24gd2hlbiBpbml0aWFsaXNpbmcuXHJcbltkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0ge1xyXG4gICAgLy8gQmVmb3JlIGluaXRpYWxpc2F0aW9uIG1ha2Ugc3VyZSBjb250ZW50IGlzIG1pbi1oZWlnaHQ6IDEwMHB4IGZvciBzcGlubmVyLlxyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAmOm5vdCgucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIpIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG4gICAgPiB0ZXh0YXJlYSB7XHJcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9ICAgXHJcbn1cclxuLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyBmb3JtYWwgcGFnZSBidXR0b25zIGhhcyBub3cgYmVlbiBpbXBsZW1lbnRlZCBmb3IgbW9kYWxzIDg2MjU2Ni5cclxuLy8gLnN1Ym1pc3Npb24tY29udHJvbHMtY29udGFpbmVyIHtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbi8vIH1cclxuXHJcbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBcclxufVxyXG5cclxuLy8gSW5kZW50YXRpb24uXHJcbkBmb3IgJGluZGVudGF0aW9uLWxldmVsIGZyb20gMSB0aHJvdWdoICRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW1heC1sZXZlbHMge1xyXG4gICAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0jeyRpbmRlbnRhdGlvbi1sZXZlbH0ge1xyXG4gICAgICAgIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygjeyRpbmRlbnRhdGlvbi1sZXZlbH0gKiAjeyRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICYgKyB1bCwgJiArIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5kZW50YXRpb24tbGV2ZWx9ICogI3skcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuXHJcbi0tLS0tIFZpZGVvIFBsYXllciAtLS0tXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciBlbWJlZGRpbmcgWW91dHViZSB2aWRlb3MgLyBCYW5uZXIgc2VyaWVzLiAvc3RhdGljL3ZpZGVvLXNlcmllcy5odG1sXHJcblxyXG5IYW5kbGVzOlxyXG4tIFRodW1ibmFpbCBwbGF5IGljb24uXHJcbi0gRHVyYXRpb24gZm9ybWF0dGluZy5cclxuLSBWaWRlbyBpbmRpY2F0b3IgdGV4dCAoIGNsaWNrIGhlcmUgdG8gd2F0Y2ggdmlkZW8gKVxyXG5cclxuKi9cclxuXHJcblxyXG5cclxuLnZpZGVvLXBsYXllci1jb250YWluZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIEBpbmNsdWRlIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICB9XHJcbiAgICAuZHVyYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItZHVyYXRpb24taWNvbnMpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIC8vIEZvcmNlIHJlYWQgbW9yZSBjb250YWluZXJzIHRvIHNocmluayB0byBmaXQgYXZhaWxhYmxlIGFyZWEuXHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuICBNdWx0aW1lZGlhIEVsZW1lbnRcclxuICBcclxuICBIYW5kbGVzIHN0eWxpbmcgZm9yIHZpZGVvIHBsYXliYWNrXHJcblxyXG4qL1xyXG5cclxuLy8gR2VuZXJhbCB2aWRlbyBydWxlcy5cclxudmlkZW8ge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmlkZW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYmVzcG9rZSBvdmVybGF5IGZvciBTYWZhcmkgZHVlIHRvIG5vIFxyXG4gICAgQHN1cHBvcnRzIG5vdCAoLWFwcGxlLXBheS1idXR0b24tc3R5bGU6IGluaGVyaXQpIHtcclxuICAgICAgICAmLmlzLXJlYWR5LXRvLXBsYXkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2aWRlby1wbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlcGxheS12aWRlbyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZGVvLXJlcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFVuc3VwcG9ydGVkIG1lZGlhIHR5cGUuXHJcbi5zb3VyY2UtdW5zdXBwb3J0ZWQge1xyXG4gICAgJiA+IHZpZGVvIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJiA+IGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRmFsbGJhY2sgZWxlbWVudC5cclxuW2RhdGEtZmFsbGJhY2tdIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmZhbGxiYWNrLWVsZW1lbnQge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLmZhbGxiYWNrLXRleHQge1xyXG4gICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDEwKTtcclxuICAgICAgICAkZXJyb3ItaWNvbi1zaXplOiAzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogI3soJGVycm9yLWljb24tc2l6ZSArIDIwKX0gMWZyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLWNvbG91ciwgLjgpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZXJyb3ItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmVycm9yLWRldGFpbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiwgZGl2IHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAvLyAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCBkaXZpZGUoJGV4cG9uZW50LCAkZGVub21pbmF0b3IpKSwgZGl2aWRlKCRwcmVjMiwgJGRlbm9taW5hdG9yKSwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICRiYXNlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IGRpdmlkZSgxLCAkbikgKiAoKCRuIC0gMSkgKiAkeCArIGRpdmlkZSgkbnVtLCBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuIGRpdmlkZSgkaCwgJHcpICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKGRpdmlkZSgkcGFyc2VkLW5vbWluYXRvciwgJHBhcnNlZC1kZW5vbWluYXRvcikpO1xufVxuXG4vLy8gRGl2aWRlIHRoZSBnaXZlbiBgJGRpdmlkZW50YCBieSB0aGUgZ2l2ZW4gYCRkaXZpc29yYC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aWRlbnQgLSBUaGUgZGl2aWRlbnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpc29yIC0gVGhlIGRpdmlzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwcmVjaXNpb24gLSBUaGUgcHJlY2lzaW9uIGRlY2ltYWxzIGZvciB0aGUgZGl2aXNpb24uXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBkaXZpc2lvbi5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTIpIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgJ0Nhbm5vdCBkaXZpZGUgYnkgMCc7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIDAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnJSc6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcblxuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuICdDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fSc7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsIGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiAgJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiAgJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICAvLyBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIC8vICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLypcclxuLS0tLS0gTWVudXMgLS0tLS1cclxuVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgSSBhbSBzdGlsbCBtaWdyYXRpbmcgZnJvbSBhIG1hc3NpdmUgYmxvYiBvZiBjb2RlIGVtYmVkZGVkIGluIGhlYWRlci5zY3NzLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIERyb3Bkb3duc1xyXG4tIERyaWxsIGRvd25zXHJcbi0gQWNjb3JkaW9uc1xyXG4tIE1lZ2EgbWVudVxyXG4gIC0gTWVnYSBtZW51IHNlZSBtb3JlIGxpbmsuXHJcbiAgLSBFQkcgaW1hZ2UuXHJcbiovXHJcblxyXG4ubWVudS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRtZW51cy1oZWFkZXItY29sb3VyKTtcclxuICAgIH1cclxuICAgIC5tZW51LWhlYWRpbmcge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRtZW51cy1oZWFkZXItY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLWhlYWRlci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZXRzIHdyYXBwZWQgYXJvdW5kIGFsbCBtZW51cy5cclxuLm1lbnUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLy8gU3VwcmVzc2luZyBkdWUgdG8gbWVnYSBtZW51IG92ZXJsYXBwaW5nIGRyb3Bkb3duIG1lbnVzLlxyXG4gICAgLy8gei1pbmRleDogNTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgZm9yIGJhc2tldCBwcmV2aWV3LCBzZWFyY2ggJiBtb2JpbGUgbWVnYSBtZW51LlxyXG4gICAgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLm1lbnUtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAkbWVudS1uYXYtdGV4dC1tYXJnaW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNb2JpbGUgZXhwaWVyYW5jZS5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyBMZXZlbCAxXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtYm9yZGVyLWJvdHRvbSwgc21hbGwpO1xyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItYm9yZGVyLXRvcCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLWxpLWJvcmRlciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIExldmVsIDNcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb250YWluZXItbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQWNjb3JkaW9uIE1lbnUgLS0tXHJcbiAgICAmLmFjY29yZGlvbi1tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZle1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSB7XHJcbiAgICAgICAgLy8gTGV2ZWwgMS5cclxuICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhlIGFuY2hvciBpcyBsaW5raW5nIHRvIHBhZ2UgYnV0IHdlIHdhbnQgbWVudSB0b2dnbGUgYnV0dG9uLlxyXG4gICAgJi5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgPiBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBhbmQgdXNpbmcgRXhwcmVzcydzIHNpdGUtaWNvbnMgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgLnN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJtZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsaSB7XHJcbiAgICAgICAgLy8gICAgIC8vIE1ha2Ugc3VyZSBpZiBhbiBpdGVtIGhhcyBhIHRvZ2dsZSBidXR0b24gdGhhdCBjaGlsZCBpdGVtKHMpIGtlZXAgaXRlbSBkZXNjcmlwdGlvbnMgaW5saW5lLiBcclxuICAgICAgICAvLyAgICAgJi5oYXMtc3VibWVudS10b2dnbGUge1xyXG4gICAgICAgIC8vICAgICAgICAgJiB+IGxpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICAmOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgJjpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEJhY2tncm91bmQgY29sb3VyLCB0ZXh0IGNvbG91ciwgaG93IHdlIGhhbmRsZSBFR0IgZ3JvdXAgY29sb3Vycy4gLS0tLS1cclxuICAgIC8vIENhcnJ5IG91dCBzb21lIHByZS1wcm9jZXNzaW5nIG9mIHRoZSBjb2xvdXJzIHRvIHRlc3QgdGhlIGxlZ2liaWxpdHkgb2YgdGhlIGNvbnRlbnQgYWdhaW5zdCB0aGVpciBiYWNrZ3JvdW5kcy5cclxuICAgIC8vIC0tLSBHcmFuZCBwYXJlbnQgY29sb3Vycy4gLS0tXHJcbiAgICAvLyBNb2JpbGVcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBDaGlsZCBjb2xvdXJzIC0tLSBcclxuICAgIC8vIFRPRE86XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAbWl4aW4gZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgIC8vIElmIGVCdXNpbmVzcyBncm91cCBiYWNrZ3JvdW5kIGlzIGNvbmZpZ3VyZWQuXHJcbiAgICAgJi5lYmctY29sb3VyLWJhY2tncm91bmQgIHtcclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYTpob3ZlciwgbGk6aG92ZXIgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpOyBcclxuICAgICAgICAgICAgICAgIGxpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgZUJ1c2luZXNzIGdyb3VwIGNvbG91ciBvbiBob3ZlciBpcyBjb25maWd1cmVkLlxyXG4gICAgJi5lYmctY29sb3VyLWhvdmVyIHtcclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSk6aG92ZXIge1xyXG4gICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vICAgICA+IGEge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQgc3R5bGVzLlxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIExldmVsIDEgKCBHcmFuZHBhcmVudCApXHJcbiAgICA+IGxpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGNvbHVtbiBsYXlvdXQgZm9yIGZpbHRlcnMgYW5kIGl0IG1hZGUgc2Vuc2UgZm9yIGdlbmVyYWwgbWVudSBsb2dpYyBhcyB3ZWxsLlxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhLCA+IHAge1xyXG4gICAgICAgICAgICAmLmhhcy1saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLWZsZXgtZGlyZWN0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybywgaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgKyAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWRlc2NyaXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBmbGV4IGdyb3cgdG8gYWxsb3cgZm9yIHRoZSBhbmNob3IgdG8gdGFrZSB1cCBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciAoIHRoaW5rIHByb2R1Y3QgbGlzdCBmaWx0ZXJzICkuXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgbGluZS1oZWlnaHQgd2l0aCB0aGUgZ2xvYmFsIGxpbmUgaGVpZ2h0LlxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBpZigkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsZmxleC1zdGFydCxjZW50ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAvLyBTcGVjaWZpYyBoaWRpbmcgdGhpcyBvbiBwYWdlIGxvYWQgLyBpbnRpdGlhbGlzYXRpb24gdG8gcHJldmVudCBjb250ZW50IGZyb20gYmVpbmcgc2hvd24gdGhlbiBoaWRkZW4uXHJcbiAgICAgICAgICAgICY6bm90KC5zdWJtZW51KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZGVmYXVsdC1tZW51LWRyb3Bkb3duLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC8vIExldmVsIDMsIEFkZGluZyBjbGFzcyB0byBub3QgYnJlYWsgbG93ZXIgZG93biBsaXN0cyAoIGkuZSBjb250ZXh0IG1lbnUgKVxyXG4gICAgICAgICAgICAgICAgdWwgbGkuaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaSwgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZWdhLW1lbnUtbGluay1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgcG9zaXRpb25pbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEdyb3VwIGluZGljYXRvciBpbiBtb2JpbGUuXHJcbiAgICAgICAgICAgICAgICAvLyAmLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kcm9wZG93biB7XHJcbiAgICAgICAgbGkgPiBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJRiB3ZSBzcGVjaWZpY2FsbHkgd2FudCB0byBhZGQgYSByYWRpdXMgdG8gdGhlIGJvdHRvbSBvZiBzdWJtZW51IGFuY2hvcnMgKCBiZXdhcmUgdGhpcyBtYXkgbG9vayBvZGQgd2l0aCBkcm9wZG93biBtZW51cyApLlxyXG4gICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJvdHRvbTogaWYoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzLCAzKSwgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cywgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSAkYm9yZGVyLXJhZGl1cy1ib3R0b20gJGJvcmRlci1yYWRpdXMtYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCkge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gTm90IGEgc2l0ZS1zZXR0aW5nIGR1ZSB0byBkZXNpZ24gY2FsbGVkIGZvciBjaGV2cm9uIHRvIGJlIG9uIGJlZm9yZSB0aGUgdGV4dCBpbnN0ZWFkIG9mIGFmdGVyLlxyXG4gICAgICAgICAgICAgICAgJjpub3QoLnNpdGUtc2V0dGluZy1tZW51KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGdyYW5kLXBhcmVudC1jb2xvdXIsICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub24tcGFnZS1tZW51IHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEhvbWUgYnV0dG9uIC0tLS0tIFxyXG4gICAgLy8gTGVnaWJpbGl0eSBjaGVja2VyLlxyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJGhvbWUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob21lLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkaG9tZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkaG9tZS1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBob3ZlciksJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGhvbWUtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAuaG9tZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkaG9tZS1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaG9tZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhvbWUtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIHBhZGRpbmcgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGhvbWUtc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIGhlaWdodCkgLyAxLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBBY2NvdW50IE1lbnUgLS0tLS0gXHJcbiAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIERlY2xhaXJpbmcgcGFkZGluZyBoZXJlIGFzIHdlbGwgdG8gb3ZlcnJpZGUgZGVmYXVsdCBtZW51IGFuY2hvciBzdHlsaW5nLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIHByZWZpeCBjaGV2cm9uLlxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbiAgICAvLyAtLS0tLSBNb2JpbGUgc2l0ZSBzZXR0aW5nIG1lbnVzIC0tLS0gXHJcbiAgICAuc2l0ZS1zZXR0aW5nLW1lbnUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMjJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlci1ib3JkZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVuY3ktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmN1cnJlbmN5LWljb24gIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyNCwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVuY3kge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gdG8gZm9yY2Ugc2l0ZSBzZXR0aW5nIGRyb3Bkb3duIHRvIHBpbiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAje3NwYWNpbmctdmFsdWUoJGhlYWRlci11cHBlci1wYWRkaW5nLCAxKX0pICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRvIG92ZXJyaWRlIGRlZmF1bHQgbWVudSBzdHlsZXMuXHJcbiAgICAgICAgJi5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUsICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGEgeyBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBob3ZlciksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBFeHBsaWNpdGx5IGhhbmRsaW5nIGNvbnRhY3QgaWNvbnMgb24gYW5jaG9ycy5cclxudWwubWVudSB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgYVtocmVmXj1cInRlbDpcIl0sIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogQ29uZmlnIG5hbWVzIG5lZWQgdG8gYmUgcmVmYWN0b3IgdG8gYmUgbW9yZSBnZW5lcmljIGFzIHRoaXMgY29kZSBjYW4gbm93IGJlIHVzZWQgYW55d2hlcmUuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItdXBwZXItaWNvbi1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGhlYWRlci11cHBlci1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICAgICAgQGlmICRtZW51cy1lbWFpbC1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtZW1haWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudXMtZW1haWwtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFbaHJlZl49XCJ0ZWw6XCJdIHtcclxuICAgICAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0ICB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGVsZXBob25lKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJG1lbnVzLXRlbGVwaG9uZS1pY29uLXJvdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1pY29uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudXMtdGVsZXBob25lLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpZiAkbWVnYS1tZW51LXNob3ctaWNvbnMge1xyXG4gICAgW2NsYXNzXj1cIm1lbnUtaWNvbi1cIl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG1lZ2EtbWVudS1zaG93LWljb25zLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWljb25zLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtaWNvbnMtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkbWVnYS1tZW51LWljb25zLWZvbnQtZmFtaWx5LCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1pY29ucy1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWljb24tYWNjb3VudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLm1lbnUtc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTdWJtZW51J3MgLS0tLS0tIFxyXG4uc3VibWVudSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiA0MDA7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIC8vIE9ubHkgYXBwbHkgdGhlIGZvb3RlciBib3JkZXIgdG8gdGhlIHNlY29uZCBsZXZlbCBvZiBhIG1lbnUuXHJcbiAgICAvLyBUT0RPOiBuZWVkIHRvIHdvcmsgb3V0IHRoZSB1c2Ugb2YgLmxldmVsIGNsYXNzZXMgYW5kIGluc3RlYWQgdXNlIHBhcmVudCBjaGlsZCByZWxhdGlvbnNoaXAncyBiZXR3ZWVuIHVsIGxpIGFzIHdlIHJlY3Vyc2l2aWx5IHRyYXZlcnNlIGRvd24uXHJcbiAgICAmLmxldmVsMiB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gYXMgdGhpcyBpcyBjYXVzaW5nIGEgc3RlcC5cclxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgJi5vcGVucy1yaWdodCB7XHJcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICRzdWJtZW51LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1lbnVzLWxldmVsLTItcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc3VibWVudS1wYWRkaW5nID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JHN1Ym1lbnUtcGFkZGluZ30pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZW51IEVCRyBpbWFnZS5cclxuLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gc3BhbiB0aGUgZW50aXJlIHdpZHRoIG9mIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICAvLyB3aWR0aDogJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zO1xyXG4gICAgICAgIC8vaGVpZ2h0OiAkbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkbWVnYS1tZW51LWltYWdlLWRlc2t0b3AtbWFyZ2luO1xyXG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiBsYXN0LWxpbmU7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgQGlmICgkbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRtZWdhLW1lbnUtaW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1lZ2EgbWVudSAtLS0tLS0gXHJcbi8vIE1lZ2EgbWVudSBnZW5lcmFsIHN0eWxlc1xyXG4vLyBTcGVjaWZpY2FsbHkgbWVnYSBtZW51IHN0eWxlcyAoIGkuZSBjb2x1bW4gbGF5b3V0cyApXHJcbi5tZWdhLW1lbnUtY29udGFpbmVyIHtcclxuICAgIC0tbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjogI3tzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKX07XHJcbiAgICAvLyBEb24ndCB3cmFwIGFzIHRoaXMgd2lsbCBjYXVzZSBpc3N1ZXMgd2hlbiB1c2luZyB0aGUgZHJvcGRvd24uXHJcbiAgICA+IHVsLm1lbnUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgLy8gTWVnYSBtZW51IGNvbHVtbiBsYXlvdXQgaW4gZGVza3RvcC5cclxuICAgICAgICAgICAgQGZvciAkY291bnQgZnJvbSAxIHRocm91Z2ggJG1lZ2EtbWVudS1tYXgtY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICAmW2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIiN7JGNvdW50fVwiXSA+IGxpID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gV29yayBvdXQgZ3V0dGVycy5cclxuICAgICAgICAgICAgICAgICAgICAkZ3V0dGVyczogKCgkY291bnQgLSAxKSAqIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSBjb2x1bW4gY291bnQsIHRha2UgYXZhaWxhYmxlIHNwYWNlIGludG8gYWNjb3VudCAoIGkuZSBkcm9wZG93biBwYWRkaW5nIC8gZ3V0dGVycyApXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skY291bnR9LCBjYWxjKCgjeyRtZWdhLW1lbnUtZHJvcGRvd24tY29udGVudC1jb250YWluZXJ9IC0gI3soJGd1dHRlcnMpfSkgLyAjeyRjb3VudH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBNZWdhIG1lbnUgaW1hZ2UgcG9zaXRpb24sIHRoaXMgd2lsbCBvYnZpb3VzbHkgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGUgY29sdW1uIGNvdW50LlxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogI3skY291bnR9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAvLyBMZXZlbCAyIFxyXG4gICAgICAgICAgICAmOmhvdmVyID4gLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgICAgICAgICAgICAgIGdhcDogJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYub3ZlcmZsb3ctc2Nyb2xsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIER1ZSB0byB0aGUgc2Nyb2xsYmFyIHB1c2ggdGhlIGNvbnRlbnQgbGVmdC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogI3soc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZywgMiwgbGFyZ2UpIC0gMTdweCl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3QgZ3JvdXAgZG9lc24ndCBnZXQgc2hvd24gYXMgaXRzIGJlZW4gZHVwbGljYXRlZCBpbnRvIHRoZSBzdWJtZW51LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGksIC5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFJldmVyc2luZyB0aGlzIGNoYW5nZSBhcyBpdCB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdoZW4gc29tZSBncm91cCBkaWRuJ3QgaGF2ZSBhbnkgY29sb3VyJ3MgY29uZmlndXJlZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAmOm5vdChbc3R5bGUqPVwiLS1lYmctXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lbnUtZ3JvdXAtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIGhvdmVyIGljb25zLCBub3JtYWxseSB0aGlzIGlzIHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQgb2YgdGhlIGdyb3VwLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgaWNvbiBmb3IgbGFyZ2Ugd2hlbiBhbmNob3IgaXMgaW4gaXRzIGRlZmF1bHQgc3RhdGUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICBAaWYgbm90ICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3VycHJlc3NpbmcgdGhpcyBpbiBmYXZvdXIgaWYgdXNpbmcgZmxleGJveCBhcyB3ZSBjdXJyZW50bHkgZG9udCBuZWVkIHRoaXMgY29tcGxleGl0eSwgdGhpcyBvbmx5IGNvbmZ1c2VzIHRoaW5ncyB3aGVuIGhhdmUgdG8gaGFuZGxlIHRoZSB2aWV3IG1vcmUgaXRlbSBhdCB0aGVuIGVuZCBvZiBhXHJcbiAgICAvLyAubWVnYS1tZW51LWNvbHVtbi1zcGFuIHtcclxuICAgIC8vICAgICA+IC5zdWJtZW51IHtcclxuICAgIC8vICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIC8vICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi13cmFwKSwgMWZyKTtcclxuICAgIC8vICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcclxuICAgIC8vICAgICAgICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICAubWVudSAuaGFzLWNsb25lZC1ncm91cHMge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVnYW1lbnUtY29sdW1uLWNsb25lZC1zcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4tY2xvbmVkLXdyYXApLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jaGlsZGZyZWUtcGFyZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29sdW1uLXNwYW5uZWQge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb25lZC10by1zZXBlcmF0ZS1yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHVsLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB1bC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogIG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBhbnkgYXJyb3dzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMb3dlciBsZXZlbCBncm91cCBpdGVtcyB0byBiZSBzdXBwcmVzc2VkLlxyXG4gICAgICAgICAgICAgICAgICAgICYgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBlcnNpc3RlbnQtZWJnLWltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvICN7c3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSl9O1xyXG4gICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZWdhLW1lbnUtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgIC8vIC0tLS0tIEJhY2tncm91bmQgY29sb3VyLCB0ZXh0IGNvbG91ciwgaG93IHdlIGhhbmRsZSBFR0IgZ3JvdXAgY29sb3Vycy4gLS0tLS1cclxuICAgIC8vIENhcnJ5IG91dCBzb21lIHByZS1wcm9jZXNzaW5nIG9mIHRoZSBjb2xvdXJzIHRvIHRlc3QgdGhlIGxlZ2liaWxpdHkgb2YgdGhlIGNvbnRlbnQgYWdhaW5zdCB0aGVpciBiYWNrZ3JvdW5kcy5cclxuICAgIC8vIC0tLSBHcmFuZCBwYXJlbnQgY29sb3Vycy4gLS0tXHJcbiAgICAvLyBNb2JpbGVcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBDaGlsZCBjb2xvdXJzIC0tLSBcclxuICAgIC8vIFRPRE86XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAbWl4aW4gZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAvLyBGb3Igd2hlbiB3ZSBkb24ndCBoYXZlIHJpZ2h0IG1lbnUgaW4gdGhlIGhlYWRlci1tZW51LWlubmVyLWNvbnRhaW5lci5cclxuICAgICAgICBAaWYgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIExldmVsIDIgLS0tIFxyXG4gICAgLmxldmVsMiB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAvLyBQcmV2ZW50IHN1Ym1lbnUgZnJvbSBjaGFuZ2luZyBjb2xvdXIgd2hlbiBhY3RpdmUuXHJcbiAgICAuc3VibWVudSB7XHJcbiAgICAgICAgbGkuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTGV2ZWwgMSAoIEdyYW5kcGFyZW50IClcclxuICAgIHVsLm1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIGEgbWF4aW11bSB3aWR0aCBmb3IgZWFjaCBtZW51IGl0ZW0sIGVzc2VudGlhbGx5IGZvcmNpbmcgYSBsaW5lIGJyZWFrLlxyXG4gICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItbG93ZXItaXRlbS1ncm93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGlmKCRoZWFkZXItbG93ZXItdGV4dC1hbGlnbiA9PSBcImxlZnRcIixmbGV4LXN0YXJ0LGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8gI3tpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvciwgXCIsYmFja2dyb3VuZC1jb2xvclwiICR0cmFuc2l0aW9uSW50cm8sICcnKX07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgJi5pcy1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGdyYW5kLXBhcmVudC1jb2xvdXIsICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpICE9ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIC8vIExlYXZpbmcgaGVyZSBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eS5cclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIGxhcmdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICAkZ3JhbmQtcGFyZW50LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZ2VuZXJpYyBvcGFjaXR5IGhvdmVyIGVmZmVjdCBhcHBsaWVkIHRvIGFsbCBhbmNob3JzLlxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIGZsYWcgdG8gb3ZlcnJpZGUgdGhlIHdpZHRoIGlmIHNldC5cclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogI3tpZigkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgsIDEwMCUsICRtZWdhLW1lbnUtZHJvcGRvd24td2lkdGgpfTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pIG9yIHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdGhlIGxvZ2ljIGhlcmUgdG8gb25seSBwdXQgaG92ZXIgdGV4dCBjb2xvdXIgd2hlbiBwYXJlbnQgZ3JvdXAgaXMgaG92ZXJlZCBhcyByZXF1ZXN0IGZyb20gdGhlIFFDIG9uIDgxOTYwNi5cclxuICAgICAgICAgICAgICAgICAgICAmID4gYTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGE6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGxldmVsIDNcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9PdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1sZXZlbC0yLWFuY2hvcigkcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGksIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG8ga2VlcCB0b3AgYW5kIGJvdHRvbSBjb25zaXN0ZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1hY3RpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZpZXcgbW9yZSBidXR0b24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZWdhLW1lbnUtdmlldy1tb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXdlaWdodDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBQcm9kdWN0IExpc3QgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBWYXJpb3VzIGxpc3Qgdmlld3M6XHJcbiAgLSBUYWJsZVxyXG4gIC0gR3JpZFxyXG4tIEFueXdoZXJlIGEgcHJvZHVjdCBsaXN0IGlzIHNob3cgKCBzZWFyY2ggcmVzdWx0cywgcHJvZHVjdCBieSBncm91cCwgYWNjb3VudCBhcmVhIHBhZ2VzICkgdGhpcyBjb2RlIHdpbGwgYmUgdXNlZC5cclxuLSBUaGlzIGZpbGUgaXMgTk9UIGRlZGljYXRlZCB0byBmaWx0ZXJzIGNvbnN1bHQgZmlsdGVyLnNjc3MgZm9yIHRoYXQuXHJcbi0gQWxsIHNvcnRpbmcgb3B0aW9ucyAoIGl0ZW1zIHBlciBwYWdlcywgdmlldyBzZWxlY3Rpb24sIHBhZ2luYXRpb24sIGl0ZW1zIGZvdW5kICYgc29ydCBieSApXHJcbi0gTm8gcmVzdWx0cyBmb3VuZC5cclxuKi9cclxuXHJcbiNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAvLyBGb3IgU2l0ZSBTZWFyY2ggMzYwIHRoZXkgdXNlIGEgaDIgaW5zdGVhZCBvZiBhIGgxIGZvciBzaG93aW5nIHRoZSBxdWVyeSB5b3Ugc2VhcmNoZWQgZm9yLlxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHtcclxuICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2biszKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2bisyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2bisxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEuc3VnZ2VzdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1mb250LXNpemUpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luKTtcclxuXHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyLCAuc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5yZXN1bHQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VjdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkc2VjdGlvbi1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHNlY3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY3Rpb24taGVhZGluZy1ib3JkZXItY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI3Byb2R1Y3QtbGlzdCB7XHJcbiAgICAjZ3JvdXBEYXRhIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdExpc3RJdGVtIHtcclxuICAgIC5ncmlkLXggLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXJzOiAoc21hbGw6IDEwcHgsbGFyZ2U6IDMwcHgpKTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpc3RpbmctY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIC8vIE1hcmdpbiBpcyBhbHJlYWR5IGJlaW5nIHNldCBteSAuZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCksIHRoaXMgaGFzIG11Y2ggZ3JlYXRlciBhZmZlY3RzIGlmIHRoaXMgaXMgY2hhbmdlZC5cclxuICAgIC8vIEtlZXBzIGNvbnNpc3RlbnQgc3BhY2luZyB3aXRoIG1vZHVsZXMuXHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKSAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFRvIHByZXZlbnQgdGhlIG5ldyAmIG9sZCBjb250ZW50IGZyb20gYmVpbmcgZGlzcGxheWVkIGF0IHRoZSBzYW1lIHRpbWUuXHJcbiAgICAmW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIH1cclxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGZpbHRlcnMtZGVza3RvcC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBVc2luZyBwZXJzZW50YWdlIHRvIHRyeSBhbmQgZ2V0IGJhY2sgc29tZSBtb3JlIHNwYWNlIGJldHdlZW4gbGFyZ2UgYW5kIHh4bGFyZ2VcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxJSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZUxpc3R7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKCRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGggLSA2MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNwcm9kdWN0TGlzdEl0ZW1zIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZSB0aGUgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgaW5zdGVhZC5cclxuICAgIC8vICNwcm9kdWN0TGlzdEl0ZW1zLmdyaWQge1xyXG4gICAgLy8gICAgIC8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4gICAgLy8gICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKGlmKCRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQsIHRydWUsIGZhbHNlKSwgdHJ1ZSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBTdHlsZXMgc3BlY2lmaWMgdG8gdGhlIHByb2R1Y3QgbGlzdC5cclxuICAgICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgJi5zZXBlcmF0b3IgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXSB7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vZGRFdmVuIHtcclxuICAgICAgICAgICAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICYgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguc2VwZXJhdG9yKSwgJjpub3QoLm9kZEV2ZW4pIHtcclxuICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIGEgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWdub3JlIHRoZSBmaXJzdCByb3cgZm9yIGFzc2lnbmluZyB0aGUgbWFyZ2luIGFib3ZlIHRoZSBzdWItaGVhZGluZyBhcyB0aGUgZGVzaWduIGRvZXNuJ3QgcmVxdWlyZSBpdCA4MzE3NTYuXHJcbiAgICAgICAgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IHtcclxuICAgICAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmhlYWRDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC1hbGlnbik7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFJlbW92aW5nIGFic29sdXRlIHdpZHRocyBkdWUgdG8gdG9vIG1hbnkgd2F5cyBvZiBkaXNwbGF5aW5nIHRoaXMgdGFibGUuXHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAzNTZweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiA0NDBweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgaW4gZmF2b3VyIG9mIGxldHRpbmcgdGhlIGRlc2NyaXB0aW9uIGNvbHVtbiBmbG93LlxyXG4gICAgICAgICAgICAgICAgLy8gJiArIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxNC41JTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogOS41JTtcclxuICAgICAgICAgICAgICAgIC8vIG1pbi13aWR0aDogMjUlO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYXZvdXJpdGUtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA5LjUlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDM0JTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LCAuZmF2b3VyaXRlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtdGFibGUtbGF5b3V0LW1vYmlsZSgpO1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctcGFkZGluZztcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgQGlmICRwcm9kdWN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93IHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHByZXZlbnQgaGVpZ2h0IGR1ZSB0byBuZWVkaW5nIHRvIHN1cHBvcnQgcmVjdGFuZ2xlIGltYWdlcy5cclxuICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgICAgICAvLyBEb24ndCBmaXQtY29udGVudCBkdWUgdG8gZXh0ZXJuYWwgZGF0YSBzdXBwbHlpbmcgdmFyaW91cyBzaXplcy5cclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyAycHggdG8gYWxsb3cgZm9yIHRoZSBib3JkZXIgdG8gcHJldmVudCB0aGUgYnJvd3NlciBmcm9tIHNjYWxpbmcgdGhlIGltYWdlLlxyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1pbWFnZS13aWR0aCArIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWltYWdlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtZGVzY3JpcHRpb24tb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKTtcclxuICAgICAgICAgICAgICAgIC5zcGVjaWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtY29kZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtcHJpY2Utb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyAmICsgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wsICYgKyAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LW5vdC1sb2dnZWQtaW4tb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWxvZ2dpbi1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmludGVyYWN0aXZlLWNvbnRlbnQsIC5xdWFudGl0eS1jb250YWluZXIsIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCwgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCwgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LXF1YW50aXR5LXByaWNlLWZhdm91cml0ZXMtb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtcXVhbnRpdHktZGVza3RvcC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmFkZC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hZGRUb0Jhc2tldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgaW5mYXZvdXIgb2YgdXNpbmcgZmxleGJveCBmb3IgYWxpZ25tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2l0aCB0aGUgaGVhZGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIC5mYXZvdXJpdGVzIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24td2VpZ2h0OyBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci11bmRlcmxpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvZGUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJpY2UodHJ1ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJycCgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzYXZpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTBweCAwO1xyXG4gICAgLnJlc3VsdC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDIwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIvKlxyXG5cclxuLS0tLSBBWElTIERlYnVnZ2VyIC0tLS0gXHJcblxyXG5UaGlzIGlzIGEgc2lkZSBwcm9qZWN0IG9mIG1pbmUgcHVybHkgdG8gbWFrZSBkZXYgbGlmZSBhIGxpdHRsZSBlYXNpZXIgLyBmYXN0ZXIgZXNzZW50aWFsbHkgdGhpcyBpcyBqdXN0IGEgZHJhd2VyIHdpdGggYSBidW5jaCBvZiBvcHRpb25zIHRvIGZsdXNoIGNhY2hlLCBzZXQgZGVidWcgbGV2ZWxzICYgY2xlYXIgdGhlIGNvbnNvbGUuXHJcblxyXG4qL1xyXG5cclxuJGRldmVsb3BtZW50LWRyYXdlci1pY29uczogKFxyXG4gICAgJ2NsZWFyLWNhY2hlJzogJ1xcZjFiOCcsXHJcbiAgICAnY2xlYXItY29uc29sZSc6ICdcXGYxMjAnLFxyXG4gICAgJ3NldC1kZWJ1Z2dpbmctbGV2ZWwnOiAnXFxmMTg4JyxcclxuICAgIFwidGVzdC1tb2RlXCI6ICdcXGY0OTInLFxyXG4gICAgXCJzaXRlLXN0eWxlXCI6ICdcXGY1M2YnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLmRldmVsb3BtZW50LWRyYXdlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgei1pbmRleDogODAwMDAwMDAwMDtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4kb3B0aW9uLWljb24tc2l6ZTogMzhweDtcclxuXHJcbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDkpO1xyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VydmljZS13b3JrZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgLmhlYWRpbmcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRyYXdlci1oZWFkZXIge1xyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9wdGlvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgc3R5bGVzXHJcbiAgICAgICAgJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjFcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0xMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTEwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0yMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTIwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjNcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0zMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTMwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjRcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC00MCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTQwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY2xlYXItY2FjaGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBjbGVhci1jYWNoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2xlYXItY29uc29sZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIGNsZWFyLWNvbnNvbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBzZXQtZGVidWdnaW5nLWxldmVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5heGlzLXRlc3QtbW9kZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHRlc3QtbW9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1zdHlsZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHNpdGUtc3R5bGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBbZGF0YS1zbGlkZXItdmFsdWVdIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm9wdGlvbi1jb250cm9scy1jb250YWluZXIsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCJAY2hhcnNldCAndXRmLTgnO1xyXG4vLyBGb3VuZGF0aW9uIHNldHRpbmcuXHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuLy8gRm91bmRhdGlvbiBsaWJyYXJpZXMuXHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG4vLyBUYWJsZXMuXHJcbkBpbXBvcnQgJ3RhYmxlcy5zY3NzJztcclxuLy9JbnB1dCBzdHlsaW5nLlxyXG5AaW1wb3J0ICdpbnB1dHMuc2Nzcyc7XHJcbi8vRm9udGF3ZXNvbWUgbGlicmFyeS5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBnZXRzIGhhbmRsZWQgYnkgYnJhbmRpbmcuc2Nzc1xyXG4vL0BpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZS5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9icmFuZHMuc2Nzc1wiO1xyXG5cclxuLy8gLS0tLS0gRXhwcmVzcyBDb21wb25lbnRzIC0tLS0tLSBcclxuLy9UT0RPOk5lZWQgdG8gbWFrZSBzb21lIHNvcnQgb2YgZnVuY3Rpb25hbGl0eSB0aGF0IGNhbiB0b2dnbGUgYmV0d2VlbiAzIGRpZmZlcmVudCB0eXBlcyBvZiBzdHlsZXNoZWV0cy5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zaXRlLXN0eWxlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZm9ybXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2hlYWRlci5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9mb290ZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hamF4XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9maWx0ZXJzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZGFscy5zY3NzXCI7XHJcbi8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4vL0BpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2R1bGVzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZHVsZXMtdjIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvc3RvY2staW5kaWNhdG9yc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvcHJvZHVjdC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9iYXNrZXQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvYWNjb3VudC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9jbXMtcGFnZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvY2hlY2tvdXQuc2Nzc1wiO1xyXG4vL0BpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9lbWFpbC10ZW1wbGF0ZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplLzQwNFwiO1xyXG5cclxuLy9Db21wb25lbnQgSW1wb3J0XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbGlnaHRib3hcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tYWduaWZpZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnhTbGlkZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zbGlkZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b29sdGlwXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmVhZC1tb3JlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYXV0b2NvbXBsZXRlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3N3ZWV0LWFsZXJ0LWljb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbm90aWZpY2F0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWltYWdlLW92ZXJsYXlzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY291bnRkb3duXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcHdhXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGF5bWVudC1tZXRob2RzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc29jaWFsLW1lZGlhLWljb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZXF1aXBtZW50LXNlbGVjdG9yXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGljay1uLW1peFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFuaW1hdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jbGllbnQtc2VhcmNoXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9wLWJhclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0eWxlLWd1aWRlXCI7XHJcbi8vIEFkbWluIGNvbXBvbmVudCBpcyBpbiBpdHMgXCIgcHJvdG90eXBlIFwiIHBoYXNlLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFkbWluXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL29mZl9jYW52YXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hY2NvcmRpb24tdGFic1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0aWNreVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWxpc3Qtc29ydGluZy1vcHRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWFuYWdlLWNhbGxzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmFjay10by10b3BcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zZWN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVsbGlwc2lzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmx1clwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0YXRpY1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0b2NraXN0XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdHJlZS1tZW51XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmV2aWV3c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2Utc2VjdGlvbi1jb2xvdXJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3Rhci1yYXRpbmdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmFyY29kZS1zY2FubmVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1iYWNrZ3JvdW5kLWltYWdlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRhZ3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b2dnbGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tdWx0aS1maWVsZC1sb29rdXBcIjtcclxuXHJcbi8vQGltcG9ydCAnbW90aW9uLXVpJztcclxuLy9BbmltYXRlLmNzcyAoY3VzdG9tIGFuaW1hdGlvbiBsaWJyYXJ5KVxyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3MvYW5pbWF0ZSc7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZWxlbWVudC1wcmludFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWRvY3VtZW50YXRpb25cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jb250ZXh0LW1lbnVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2VcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yaWNoLXRleHQtZWRpdG9yXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdmlkZW8tcGxheWVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbXVsdGltZWRpYS1lbGVtZW50XCI7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcblxyXG4vLyBHcmlkcyAoY2hvb3NlIG9uZSlcclxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcblxyXG4vLyBHZW5lcmljIGNvbXBvbmVudHNcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vIEJhc2ljIGNvbXBvbmVudHNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuLy8gV2UgdXNlIG91ciBvd24gbW9kYWwgc3lzdGVtLlxyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG4vLyBVc2luZyBjdXN0b20gc3R5bGVzIGZvciB0aGlzIGR1ZSB0byB0aGUgaGVhZGVyIGJlaW5nIHNvIGNvbXBsZXguXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuXHJcbi8vIEhlbHBlcnNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XHJcblxyXG4vLyBNb3Rpb24gVUlcclxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XHJcblxyXG4vLyBDb21wb25lbnRzIHRoYXQgbmVlZCB0byBiZSBsb2FkZWQgYWZ0ZXIgZm91bmRhdGlvbi5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tZW51c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvcHJvZHVjdC1saXN0LnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgJy4uL2dsb2JhbC9kZWJ1Z2dlcic7XHJcblxyXG4vLy0tLS0tIEdsb2JhbCAtLS0tLSBcclxuOnJvb3Qge1xyXG4gICAgLy8gU2V0IENTUyB2YXJpYWJsZXMuXHJcblxyXG4gICAgLy8gLS0tIENvbG91ciBQYWxsZXRlIC0tLS1cclxuICAgIC8vIFByaW1hcnlcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInByaW1hcnktY29sb3VyXCIsICRwcmltYXJ5LWNvbG91cik7XHJcbiAgICAvLyBTZWNvbmRhcnlcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInNlY29uZGFyeS1jb2xvdXJcIiwgJHNlY29uZGFyeS1jb2xvdXIpO1xyXG4gICAgLy8gQWNjZW50IDFcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItMVwiLCAkYWNjZW50LWNvbG91ci0xKTtcclxuICAgIC8vIEFjY2VudCAyXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTJcIiwgJGFjY2VudC1jb2xvdXItMik7XHJcbiAgICAvLyBBY2NlbnQgM1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0zXCIsICRhY2NlbnQtY29sb3VyLTMpO1xyXG4gICAgLy8gQWNjZW50IDRcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItNFwiLCAkYWNjZW50LWNvbG91ci00KTtcclxuICAgIC8vIE5ldXRyYWwgQ29sb3VyXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJuZXV0cmFsLWNvbG91clwiLCAkbmV1dHJhbC1jb2xvdXIpO1xyXG4gICAgLy8gQmxhY2tcclxuICAgIC0tYmxhY2stY29sb3VyOiAjeyRjb2xvdXIyfTtcclxuICAgIC8vIFdoaXRlXHJcbiAgICAtLXdoaXRlLWNvbG91cjogI3skY29sb3VyMX07XHJcblxyXG4gICAgLy8gTm90aWZpY2F0aW9uIENvbG91cnMuXHJcbiAgICAvLy0tc3VjY2Vzcy1jb2xvdXItMDogI3skc3VjY2Vzcy1jb2xvdXJ9O1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic3VjY2Vzcy1jb2xvdXJcIiwgJHN1Y2Nlc3MtY29sb3VyKTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcIndhcm5pbmctY29sb3VyXCIsICR3YXJuaW5nLWNvbG91cik7XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhbGVydC1jb2xvdXJcIiwgJGFsZXJ0LWNvbG91cik7XHJcblxyXG4gICAgXHJcblxyXG4gICAgLy8gLS0tIENvbnRlbnQgV2lkdGggLS0tXHJcbiAgICAvLyBDb250YWluZXIgTWF4IFdpZHRocy5cclxuICAgIC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAjeyRnbG9iYWwtd2lkdGh9O1xyXG4gICAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogI3skZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRofTtcclxuXHJcbiAgICAvLyAtLS0gRm9udHMgLS0tLVxyXG4gICAgQGVhY2ggJGZvbnQtdHlwZSwgJGZvbnQtbmFtZSBpbiAkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzIHtcclxuICAgICAgICAtLSN7JGZvbnQtdHlwZX06ICN7JGZvbnQtbmFtZX07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEJvcmRlciBSYWRpdXMgLS0tXHJcbiAgICAtLXNtb290aC1lZGdlcy1lbmFibGVkOiAjeyRzbW9vdGgtZWRnZXMtZW5hYmxlZH07XHJcbiAgICAtLXNtb290aC1lZGdlcy1sZXZlbDogI3skc21vb3RoLWVkZ2VzLWxldmVsfTtcclxuICAgIC0tYm9yZGVyLXJhZGl1cy0xOiAjeyRib3JkZXJSYWRpdXMxfTtcclxuICAgIC0tYm9yZGVyLXJhZGl1cy0yOiAjeyRib3JkZXJSYWRpdXMyfTtcclxuXHJcbiAgICAvLyAtLS0gVHlwb2dyYXBneSAtLS1cclxuICAgIC8vIExpbmUgaGVpZ2h0LlxyXG4gICAgLS1nbG9iYWwtbGluZS1oZWlnaHQ6ICN7JGRlZmF1bHQtbGluZS1oZWlnaHR9O1xyXG4gICAgLy8gQ29sb3VyLlxyXG4gICAgLS10eXBvZ3JhcGh5LWJvZHktZm9udC1jb2xvdXI6ICN7JGJvZHktZm9udC1jb2xvdXJ9O1xyXG5cclxuICAgIC8vIC0tLSBCdXR0b25zIC0tLVxyXG4gICAgLS1idXR0b25zLWJvcmRlci1yYWRpdXM6ICN7JGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1c307XHJcbiAgICBcclxufVxyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGZvbnQgc3RhY2tzLlxyXG5AZWFjaCAka2V5LCAkbWV0cmljcyBpbiAkZm9udC1mYWxsYmFjay1tZXRyaWNzIHtcclxuICAgICRmb250LWZhbWlseTogbWFwLWdldCgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCAjeyRrZXl9LWZvbnQpO1xyXG4gICAgJG5hbWU6IG50aCgkZm9udC1mYW1pbHksIDEpO1xyXG4gICAgJGZhbGxiYWNrOiBtYXAtZ2V0KCRtZXRyaWNzLCBmYWxsYmFjayk7XHJcbiAgICBAaW5jbHVkZSBmb250LWZhbGxiYWNrKCRuYW1lLCAkZmFsbGJhY2ssICRtZXRyaWNzKTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICAvLyBBbGxvd2luZyBjb250ZW50IC8gZm9vdGVyIHRvIHVzZSBmbGV4LWdyb3cgd2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZmlsbCB0aGUgdmlld3BvcnQuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gRHVlIHRvIGEgYnVnIHdpdGggZm91bmF0aW9uJ3MgZ3V0dGVycyB3aGVuIHlvdSB1c2UgdGhlbSBpbiBhIG5lc3QgZ3JpZCBmb3JtYXQgdGhleSBjYXVzZSBhIGhvcml6b250YWwgc2Nyb2xsIGJhciB0byBhcHBlYXIuXHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuYm9keS5zY3JvbGxMb2NrIHtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG4vLyBTdXBwcmVzc2luZyB0aGlzIHRvIGFsbG93IGZvciBtb3JlIHNwYWNlIGZvciB0cmVlIG1lbnUncyBpbiBtb2JpbGUuXHJcbi8vIG1haW4sIGZvb3RlciAucm93LWJhY2tncm91bmQge1xyXG4vLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcbi8vICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBhZ2UtZ3V0dGVyKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5tYWluIHtcclxuICAgIC8vIENhcHBpbmcgbWFpbiBjb250ZW50IGF0IDE5MjBweCBhcyB0aGVyZSBzdGlsbCBpcyBlbm91Z2ggb2YgYSBkZW1haW4gb24gMmsgb3IgNGsgc3VwcG9ydCAoIGh0dHBzOi8vd3d3LnJlZGRpdC5jb20vci93ZWJkZXYvY29tbWVudHMvbWd1ODZ1L3Jlc3BvbnNpdmVfZGVzaWduX2Zvcl80a19zY3JlZW5zLyApIGFzIG9mIDIwMjQuXHJcbiAgICAvLyBtYXgtd2lkdGg6IDE5MjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBBbHdheXMgYWxpZ24gdG8gdGhlIGxlZnQgdGhlbiBhbGxvdyBjaGlsZCBjb250YWlucyB0byBwcm92aWRlIGNlbnRlciBhbGlnbm1lbnQuXHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIC8vIFdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpbGwgdGhlIHZpZXdwb3J0IG1ha2UgdGhlIG1haW4gY29udGFpbmVyIGdyb3cgdG8gcHVzaCB0aGUgZm9vdGVyIHRvIHRoZSBib3R0b20gb2YgdGhlIHdpbmRvdy5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuLy8gTWFrZSBzdXJlIGltYWdlcyBzdGF5IHdpdGhpbiB0aGVpciBjb250YWluZXJzLlxyXG4uaW1hZ2UgaW1nIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5ncmlkLXgge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDtcclxuICAgIH1cclxuICAgIC8vIFRoaXMgbWFyZ2luIHJ1bGUgd2FzIHB1dCBpbiBwbGFjZSBmb3IgPiAxOTIwIHNjcmVlbnMgYXMgd2UgZG9uJ3Qgd2FudCBjb250ZW50IHNwYW5uaW5nIGFjcm9zcyB0aGUgZW50aXJlIHZpZXdwb3J0IGJ1dCB3YW50IGl0IHRvIHN0aWxsIHJlbWFpbiBjZW50ZXJhbGlzZWQuIEN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiByZS13cml0aW5nIHRoZSBncmlkIHN5c3RlbSB0byB1c2UgR3JpZCBpbnN0ZWFkIG9mIEZsZXhib3gsIGR1ZSB0byBob3cgRm91bmRhdGlvbiB1c2VzIG1hcmdpbiB0byBjYWxjdWxhdGUgaXRzIGd1dHRlcnMgdGhpcyBjYW5ub3QgYmUgdXNlZCB0byBjZW50ZXJhbGlzZSB0aGUgY29udGVudCwgbHVja2lseSB0aGUgb25seSBwbGFjZSBhdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgdGhhdCBuZWVkcyB0aGlzIGlzIG1vZHVsZXMgd2hpY2ggbm8gbG9uZ2VyIHVzZXMgZm91bmRhdGlvbidzIGdyaWQgKCBpbnRlcm1zIG9mIGNvbnRlbnQgYnV0IHNpdHMgd2l0aGluIGl0IClcclxuICAgICY6bm90KC5ncmlkLW1hcmdpbi14KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEFkZGluZyAwIHRvcCArIGJvdHRvbSBvdGhlcndpc2UgbGlzdGluZyBwYWdlIHdvdWxkIHZlcnRpY2FsbHkgYWxpZ24gaW4gdGhlIGNlbnRlciBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgLy8gU2V0dGluZyB3aWR0aDogMTAwJTsgZHVlIHRoZSBtYWluIHVzaW5nIGZsZXhib3ggbGF5b3V0IG90aGVyd2lzZSBjb250YWluZXJzIHdlcmUgZml0dGluZyB0aGVpciBjb250ZW50IGluc3RlYWQgb2YgZml0dGluZyB0aGUgYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC8vIE1ha2UgdGhlIGNvbnRhaW5lciB0YWtlIGFzIG11Y2ggdmVydGljYWwgc3BhY2UgYXMgYXZhaWxhYmxlLlxyXG4gICAgJi5jb250YWluZXItZ3JvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAuYWxpZ24tY2VudGVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBHZW5lcmFsIGhyIGZvcm1hdHRpbmcuXHJcbmhyIHtcclxuICAgICYubW9iaWxlLXNlcGVyYXRvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNmb290ZXItZ3RtLXdpZGdldCB7XHJcbiAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuI2NhdGVnb3J5R3JpZE92ZXJyaWRlIHtcclxuICAgIC8vT3ZlcnJpZGluZyB0aGUgZm91bmRhdGlvbidzIGRlZmF1bHQgZ3JpZCBhcyB0aGUgZGVzaWduIGNhbGxlZCBmb3IgYSA1IGNvbHVtbiBsYXlvdXQuXHJcbiAgICAubGFyZ2UtMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyLjIpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNjYXRlZ29yeUhlYWRpbmcsICNwcm9kdWN0TGlzdEhlYWRpbmcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnBvcHVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyIHtcclxuICAgICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcmVnaXN0ZXItc3VibWl0IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogJGZvcmdvdHRlbi1wYXNzb3dyZC1hbmNob3ItZm9udC1zdHlsZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgQGlmICgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQWRkZWQgc3BlY2lmaWNhbGx5IGZvciB0aGUgaGVhZGVyLWNvbXBvbmVudHMuaHRtbCAuLi4gaSBrbm93IGl0IGRlcHJlY2F0ZWQganVzdCBhIHF1aWNrIGFuZCBkaXJ0eSBnZXQgb3V0LlxyXG54bXAge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcclxufVxyXG5cclxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcclxuICAgICY6bm90KC5hbmltYXRlZC1jb250ZW50LWFjdGl2ZSkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLmpzb24tY29kZS1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJGNvbHVtbnMsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1uLWNvdW50KTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcblxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoZGl2aWRlKCRwb3NpdGlvbiwgJGdyaWQtY29sdW1uLWNvdW50KSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiJdfQ== */
