/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:KIA;font-size:87.5%;line-height:1.857em;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;line-height:1.857em;margin:.929em 0}h2{font-size:1.5em;line-height:1.238em;margin:1.238em 0}h3{font-size:1.17em;line-height:1.587em;margin:1.587em 0}h4{font-size:1em;line-height:1.857em;margin:1.857em 0}h5{font-size:.83em;line-height:2.238em;margin:2.238em 0}h6{font-size:.67em;line-height:2.772em;margin:2.772em 0}blockquote,dl,ol,ul{margin:1.857em 0}dd,ol ol,ol ul,ul ol,ul ul{margin:0}ol,ul{padding:0}figcaption,figure{display:block}figure{margin:1.857em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}main{display:block}p,pre{margin:1.857em 0}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#0f1417}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:KIA;font-size:100%;line-height:1.857em;margin:0}button{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block;margin:1.857em 0;padding:0}menu menu,ol menu,ul menu{margin:0}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:KIA;font-style:normal;font-weight:700;src:url(../../fonts/KIAB.otf) format("opentype")}@font-face{font-family:KIA;font-style:normal;font-weight:300;src:url(../../fonts/KIAL.otf) format("opentype")}@font-face{font-family:KIA;font-style:normal;font-weight:500;src:url(../../fonts/KIAM.otf) format("opentype")}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}a{color:inherit;text-decoration:none}body,html{overflow-x:hidden}body{font-weight:300;padding-top:7.143em}.container{max-width:1170px;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto;width:100%}.container--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.left-column{width:33.4%;z-index:2}.right-column{width:66.6%;z-index:1;background:gray;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;align-items:flex-start;padding-left:5.4em;padding-bottom:11.2em}.right-column p{color:#fff;font-size:1em;font-weight:500;line-height:1.857em;margin:0;margin-bottom:3.7em;max-width:30em}.right-column h3{font-weight:700;font-size:2.571em;color:#fff;text-transform:uppercase;margin-bottom:.33em;margin-top:.9em}.header{background:#fff;height:7.143em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-top:.6em;position:fixed;top:0;z-index:999;left:0;right:0;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.1);box-shadow:0 0 0 0 rgba(0,0,0,.1)}.header__button{display:none;height:14px;border:none;background:transparent;padding:0}.header__button:focus{outline:none}.header__button.up span{background:#fff}.header__button.up span:after,.header__button.up span:before{top:0}.header__button.up span:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.header__button.up span:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.header__button span{position:relative}.header__button span,.header__button span:after,.header__button span:before{background:#ea0029;height:2px;width:18px;display:block;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.header__button span:after,.header__button span:before{content:"";position:absolute;left:0}.header__button span:after{top:6px}.header__button span:before{top:-6px}.header--fixed{font-size:12px;height:5.143em;-webkit-box-shadow:0 2px 19px 0 rgba(0,0,0,.1);box-shadow:0 2px 19px 0 rgba(0,0,0,.1)}.header .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.header__logo{max-width:16.358em}.navigation{max-width:742px;width:100%;font-size:.857em;color:#05141f;font-weight:700;text-transform:uppercase}.navigation ul{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-top:-.5em;margin-bottom:0}.navigation ul li.current-menu-item a:after{opacity:1;bottom:-8px}.navigation ul a{position:relative}.navigation ul a:after{content:"";-webkit-border-radius:1px;border-radius:1px;width:100%;height:2px;position:absolute;background-color:#ea0029;left:0;right:0;bottom:0;opacity:0;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.navigation ul a:hover:after{opacity:1;bottom:-8px}.button{-webkit-border-radius:25px;border-radius:25px;height:3.846em;text-transform:uppercase;background-color:#ea0029;font-size:.929em;font-weight:700;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#fff;padding-left:2.769em;padding-right:2.769em;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;border:none;cursor:pointer}.button:hover{background-color:#8d1424;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.button--full{width:100%;margin-top:2.7em}.button--white{background:#fff;color:#05141f;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.button--white:hover{background:#0f1417;color:#fff}.footer{border-top:5px solid #ea0029;background-color:#0f1417;color:#fff;z-index:10}.footer,.footer .container{position:relative}.footer__scroll{-webkit-border-radius:50%;border-radius:50%;background-color:#ea0029;position:absolute;width:2.857em;height:2.857em;top:-1.6em;right:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.footer__scroll:hover{background:#fff}.footer__scroll:hover svg use{fill:#ea0029}.footer__scroll svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.footer__scroll svg use{-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.footer__columns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.footer__columns__contact{padding-top:2.9em;width:17.2%}.footer__columns__contact__social p{font-size:.857em;font-weight:700;text-transform:uppercase;margin-top:2.8em;line-height:1.167em;margin-bottom:2.5em}.footer__columns__contact__social ul{list-style:none;margin:0;padding:0}.footer__columns__contact__phones,.footer__columns__contact__social ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.footer__columns__contact__phones__item{font-size:.857em;font-weight:700}.footer__columns__contact__phones__item span{display:block;text-transform:uppercase;color:#ea0029;margin-bottom:-.9em}.footer__columns__menu{list-style:none;-webkit-column-count:3;-moz-column-count:3;column-count:3;margin:0;font-weight:500;padding-top:45px;width:66%}.copyright,.footer__columns__menu{text-transform:uppercase;font-size:.786em;line-height:3.182em}.copyright{background-color:#0f1417;font-weight:700;color:#fff}.copyright p{margin:.9em 0 1.8em}.copyright .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.widget-try-us{position:fixed;top:249px;background:#ea0029;color:#fff;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);font-size:16px;line-height:normal;-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;right:49px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease;z-index:999}.widget-try-us:hover{right:55px;background:#8d1424}.widget-try-us a{display:block;font-weight:700;font-size:14px;padding:26px 23px 10px 25px;text-transform:uppercase}.widget-try-us a span{font-weight:500;display:block;margin-bottom:0;text-transform:none;line-height:19px}.slider{background-color:#fff;color:#fff;margin-bottom:-11.3em}.slider--car{margin-bottom:0}.slider .owl-dots{position:absolute;top:50%;right:113px;margin-top:-5.5em}.slider .owl-dots .owl-dot span{width:20px;display:block;height:2px;-webkit-border-radius:1px;border-radius:1px;background:#fff;margin:15px 0;margin-right:0;margin-left:auto;cursor:pointer;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.slider .owl-dots .owl-dot span:hover{width:30px}.slider .owl-dots .owl-dot.active span{width:40px}.slider h1{font-size:2.571em;text-transform:uppercase;margin-top:.83em;margin-bottom:-.53em}.slider p{font-weight:500;font-size:1em;line-height:1.857em;max-width:29.643em;margin-bottom:0}.slider__element{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-bottom:7.9em;background-position:bottom;height:52.857em}.slider__element__buttons{margin-top:4.6em}.slider__element__buttons .button{font-size:12px;height:3.4em;padding-left:3em;letter-spacing:0;font-size:11px;letter-spacing:1.1px;background:transparent;color:#fff;border:1px solid #fff;margin-right:.6em}.slider__element__buttons .button svg{margin-right:.9em}.slider__element__buttons .button:hover{border-color:#ea0029;background-color:#ea0029}.slider__element__price{font-size:2.571em;font-weight:700;text-transform:uppercase;margin-top:.65em}.slider__element--car{padding-top:11.2em;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:41.557em}.slider__element--car p{font-size:1.4em;font-weight:500;margin-top:.6em}.cta{padding-top:4.4em;padding-bottom:3.65em;background:#0f1417}.cta .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.cta__element h3{font-size:2.571em;line-height:1.167em;font-weight:700;margin:0;color:#fff;text-transform:uppercase;margin-bottom:-.1em}.cta__element p{color:#fff;font-size:1em;line-height:1.857em;max-width:26.7em;margin-bottom:2.2em}.single-car a.button,.single-car p{position:relative;z-index:2}.single-car p{font-size:1em;font-weight:500;line-height:1.857em;margin:0;margin-bottom:1.9em}.single-car .container{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.single-car .column{width:33.4%}.single-car .column,.single-car__box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.single-car__box{position:relative;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#fff}.single-car__box--first{height:35em;padding:0 3em 0 2em;padding-right:3em}.single-car__box--first:after{content:"";right:0;left:auto;width:495px;background-color:rgba(0,0,0,.6);position:absolute;z-index:1;top:0;bottom:0}.single-car__box--first .single-car__box__bg{right:0;left:auto;width:495px;background-position:100%}.single-car__box--second{height:29.8em!important}.single-car__box--third{width:66.6%;padding:0 5.4em;padding-top:24.6em}.single-car__box--third:after{content:"";right:0;background-color:rgba(0,0,0,.6);position:absolute;z-index:1;top:0;bottom:0;left:0;width:100vw}.single-car__box--third .single-car__box__bg{position:absolute;top:0;bottom:0;left:0;width:100vw;z-index:-1}.single-car__box--third p{max-width:30em}.single-car__box--fourth{width:66.7%;height:23.35em;padding:0 2.3em;padding-right:3em;padding-top:1.3em}.single-car__box--fifth{width:33.3%}.single-car__box--sixth{height:23.4em;width:66.7%;padding-bottom:1em}.single-car__box--sixth:after{content:"";right:0;background-color:rgba(0,0,0,.6);position:absolute;z-index:1;width:100vw;left:auto;background-position:100%;top:0;bottom:0}.single-car__box--sixth .play-button{margin-bottom:3em;position:relative;z-index:2}.single-car__box--sixth p{font-size:1.4em;padding-top:0;margin-bottom:0;margin-top:-.5em;letter-spacing:.3px}.single-car__box--sixth .single-car__box__bg{right:0;left:auto;width:100vw;background-position:100%}.single-car__box--seventh{width:33.3%;padding:0 2em}.single-car__box__bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;background:#0f1417}.single-car__box h3{font-size:2.571em;margin:0;line-height:1.2em;margin-bottom:.55em}.single-car__box h3,.single-car__box h4{position:relative;z-index:2;font-weight:700;text-transform:uppercase}.single-car__box h4{font-size:1.429em;margin:0;margin-bottom:1em}@media (max-width:767px){html{font-size:70%}.left-column{width:100%}.right-column{width:100%;padding:2em}.header__button{display:block}.navigation{display:none;position:absolute;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;top:100%;background:#fff;margin:0;left:0;right:0}.navigation.up{display:block}.navigation ul{margin:0;list-style:none;padding:10px 16px;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.footer__columns,.navigation ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.footer__columns__contact{width:100%}.footer__columns__contact__social ul{-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.footer__columns__menu{width:100%;-webkit-column-count:2;-moz-column-count:2;column-count:2}.copyright{padding-top:1em;padding-bottom:1em}.copyright p{margin:0}.copyright .container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center}.widget-try-us{display:none}.slider{margin-bottom:0}.slider .owl-dots{display:none}.slider__element{padding-bottom:0;height:25em;background-position:50%;-webkit-background-size:cover;background-size:cover}.slider__element__buttons .button{width:100%;margin:1em 0}.slider__element--car{height:auto;padding-bottom:5em}.cta .container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.cta__element:first-child{margin-bottom:5em}.single-car .column{width:100%}.single-car__box__bg{left:-15px!important;width:-webkit-calc(100% + 30px)!important;width:calc(100% + 30px)!important}.single-car__box{width:100%!important;padding:3em!important;height:auto!important}.single-car__box--second{height:29.8em!important}.single-car__box--fifth{height:20em!important}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcG9ydHMvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsInNldHVwL192YXJpYWJsZXMuc2NzcyIsImltcG9ydHMvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIm1vZGVsLmNzcyIsInNldHVwL19taXhpbnMuc2NzcyIsInNldHVwL19zZXR1cC5zY3NzIiwibW9kdWxlcy9jb21tb24vX2hlYWRlci5zY3NzIiwibW9kdWxlcy9jb21tb24vX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvY29tbW9uL19idXR0b24uc2NzcyIsIm1vZHVsZXMvY29tbW9uL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvY29tbW9uL193aWRnZXQtdHJ5LXVzLnNjc3MiLCJtb2R1bGVzL2Zyb250cGFnZS9fc2xpZGVyLnNjc3MiLCJtb2R1bGVzL2Zyb250cGFnZS9fY3RhLnNjc3MiLCJtb2R1bGVzL21vZGVsL19zaW5nbGUtY2FyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkNFLGlFQUFpRSxBQWEvRCxLQUNFLGdCQ3hEZ0IsQUQ0RGQsZ0JBQTBDLEFBQzFDLG9CQUF3RCxBQUsxRCwwQkFBMEIsQUFDMUIsNkJBQThCLENBQy9CLEFBV0QsS0FDRSxRQUFTLENBQ1YsQUFNRCx3Q0FNRSxhQUFjLENBQ2YsQUFPRCxHRTlFRixjQVh1QyxBQStCdkMsb0JBSnNFLEFBSXRFLGVGa0VtQyxDQUtoQyxBQUdDLEdFOUZKLGdCQVh1QyxBQStCdkMsb0JBSnNFLEFBSXRFLGdCRjZFbUMsQ0FDOUIsQUFFRCxHRXBHSixpQkFYdUMsQUErQnZDLG9CQUpzRSxBQUl0RSxnQkZtRm1DLENBQzlCLEFBRUQsR0UxR0osY0FYdUMsQUErQnZDLG9CQUpzRSxBQUl0RSxnQkZ5Rm1DLENBQzlCLEFBRUQsR0VoSEosZ0JBWHVDLEFBK0J2QyxvQkFKc0UsQUFJdEUsZ0JGK0ZtQyxDQUM5QixBQUVELEdFdEhKLGdCQVh1QyxBQStCdkMsb0JBSnNFLEFBSXRFLGdCRnFHbUMs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Z0JBQWdCLEFBQ2hCLGtCQUFtQixDQWlCdEIsQUExQkQsYUFjTSxRQUFTLENBRVosQUFoQkgsc0JBc0JJLDRCQUFBLEFBQXNCLDZCQUF0QixBQUFzQiw4QkFBdEIsQUFBc0IsMEJBQXRCLEFBQXNCLHNCQUFBLEFBQ3RCLGlCQUFrQixDQUVuQixBQ2hKSCxlQWNFLFlBQWEsQ0ErQmQsQUM3Q0QsUUFNSSxlQUFnQixDQTBJbkIsQUFoSkQsa0JBbUJNLFlBQWEsQ0E0QmhCLEFBbUJELGlCQVNJLGlCQUFpQixBQUNqQixZQUFZLEFBQ1osd0JBQTJCLEFBQzNCLDhCQUFBLEFBQXNCLHFCQUFBLENBaUV6QixBQTlEQyxrQ0FpQkosV0FBVyxBQUNELFlBQWEsQ0FjaEIsQUFZSCxzQkFNSSxZQUFZLEFBQ1osa0JBQW1CLENBU3RCLEFDN0lMLGdCQVVNLDRCQUFBLEFBQXNCLDZCQUF0QixBQUFzQiw4QkFBdEIsQUFBc0IsMEJBQXRCLEFBQXNCLHFCQUFBLENBRXpCLEFBQ0QsMEJBSU0saUJBQWtCLENBQ25CLEFDbEJQLG9CQXlCTSxVQUFXLENBR2QsQUFPQyxxQkFFSSxxQkFBc0IsQUFDdEIsMENBQUEsQUFBbUMsaUNBQUEsQ0FFdEMsQUFYSCxpQkFhSSxxQkFBc0IsQUFDdEIsc0JBQXVCLEFBQ3ZCLHFCQUF1QixDQXVLeEIsQUExSUQseUJBS00sdUJBQXlCLENBRTlCLEFBMkNELHdCQUlJLHFCQUF1QixDQUUxQixDUnhHSiIsImZpbGUiOiJtb2RlbC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXHJcbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XHJcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cclxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XHJcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xyXG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcclxuICB9XHJcbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxyXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcclxuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcclxuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxyXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxyXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcclxuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XHJcbiAgICBAcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cclxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcclxuICAgIEByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxyXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xyXG4gICAgQHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XHJcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXHJcbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xyXG5cclxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxyXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxyXG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxyXG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXHJcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcclxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxyXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXHJcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcclxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxyXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcclxuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XHJcbiAgfVxyXG5cclxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XHJcbiAgICAvKiBEb2N1bWVudFxyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cclxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cclxuICAgICAqL1xyXG5cclxuICAgIGh0bWwge1xyXG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cclxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcclxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxyXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcclxuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xyXG4gICAgICB9XHJcbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXHJcbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xyXG4gICAgLyogU2VjdGlvbnNcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICAgICAqL1xyXG5cclxuICAgIGJvZHkge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICAgICAqL1xyXG5cclxuICAgIGFydGljbGUsXHJcbiAgICBhc2lkZSxcclxuICAgIGZvb3RlcixcclxuICAgIGhlYWRlcixcclxuICAgIG5hdixcclxuICAgIHNlY3Rpb24ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XHJcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xyXG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgIGgyIHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGgzIHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGg0IHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGg1IHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGg2IHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcclxuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgLyoqXHJcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGwsXHJcbiAgICAgIG9sLFxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgb2wsXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBvbCxcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBkZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgb2wsXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBmaWdjYXB0aW9uLFxyXG4gICAgZmlndXJlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXHJcbiAgICAgKi9cclxuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICAgKi9cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAgICAgKi9cclxuXHJcbiAgICBtYWluIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgLyoqXHJcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgcCxcclxuICAgICAgcHJlIHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBwcmUge1xyXG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcclxuICAgIC8qIExpbmtzXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxyXG4gICAgICovXHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXHJcbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBhOmFjdGl2ZSxcclxuICAgIGE6aG92ZXIge1xyXG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XHJcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cclxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBhYmJyW3RpdGxlXSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICAgICAqL1xyXG5cclxuICAgIGIsXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBiLFxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBjb2RlLFxyXG4gICAga2JkLFxyXG4gICAgc2FtcCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gICAgICovXHJcblxyXG4gICAgZGZuIHtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gICAgICovXHJcblxyXG4gICAgbWFyayB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICAgKiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBzdWIsXHJcbiAgICBzdXAge1xyXG4gICAgICBmb250LXNpemU6IDc1JTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YiB7XHJcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICAgIH1cclxuXHJcbiAgICBzdXAge1xyXG4gICAgICB0b3A6IC0wLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcclxuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICAgICAqL1xyXG5cclxuICAgIGF1ZGlvLFxyXG4gICAgdmlkZW8ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxyXG4gICAgICovXHJcblxyXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICAgICAqL1xyXG5cclxuICAgIHN2Zzpub3QoOnJvb3QpIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcclxuICAgIC8qIEZvcm1zXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICAgICAqL1xyXG5cclxuICAgIGJ1dHRvbixcclxuICAgIGlucHV0LFxyXG4gICAgb3B0Z3JvdXAsXHJcbiAgICBzZWxlY3QsXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xyXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgICB9XHJcbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgICAgKi9cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gICAgICovXHJcblxyXG4gICAgYnV0dG9uLFxyXG4gICAgc2VsZWN0IHsgLyogMSAqL1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxyXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgICAqL1xyXG5cclxuICAgIGJ1dHRvbixcclxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuICAgIFt0eXBlPVwicmVzZXRcIl0sXHJcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLFxyXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXHJcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxyXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gICAgICovXHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cclxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gICAgICovXHJcblxyXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICAgICAgICovXHJcblxyXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cclxuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICAgIG1hcmdpbjogMCAycHg7XHJcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG5cclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXHJcbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gICAgICovXHJcblxyXG4gICAgcHJvZ3Jlc3Mge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cclxuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gICAgICovXHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcclxuICAgIC8qIEludGVyYWN0aXZlXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXHJcbiAgICAgKi9cclxuXHJcbiAgICBkZXRhaWxzIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG5cclxuICAgIHN1bW1hcnkge1xyXG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gICAgICovXHJcblxyXG4gICAgbWVudSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXHJcbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxyXG4gICAgICAgICAqL1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cclxuICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgbWVudSAmLFxyXG4gICAgICAgIG9sICYsXHJcbiAgICAgICAgdWwgJiB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xyXG4gICAgLyogU2NyaXB0aW5nXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBjYW52YXMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICAgICAqL1xyXG5cclxuICAgIHRlbXBsYXRlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XHJcbiAgICAvKiBIaWRkZW5cclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBbaGlkZGVuXSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRiYXNlLWZvbnQtc2l6ZTogMTRweDtcclxuJGJhc2UtbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiRpbmRlbnQtYW1vdW50OiAwO1xyXG4kYmFzZS1mb250LWZhbWlseTogS0lBO1xyXG5cclxuJGNvbG9yLXdoaXRlOiAjZmZmO1xyXG4kY29sb3ItYmxhY2s6ICMxNTE0MTQ7XHJcbiRjb2xvci1tYWluOiAjQkExQTMwO1xyXG5cclxuJGd1dHRlcjogMTVweDtcclxuJGJhc2Utd2lkdGg6IDExNDBweDtcclxuXHJcbiRtb2R1bGUtcGF0aCA6ICcuLi9tb2R1bGVzLyc7XHJcbiRmb250LXBhdGggOiAnLi4vLi4vZm9udHMvJztcclxuJGltZy1wYXRoIDogJy4uLy4uL2ltYWdlcy8nO1xyXG4iLCIvL1xyXG4vLyBWZXJ0aWNhbCBSaHl0aG1cclxuLy9cclxuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcclxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcclxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XHJcblxyXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xyXG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XHJcbiAgfVxyXG4gIEBpZiAkdW5pdCA9PSByZW0ge1xyXG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcclxuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XHJcbiAgfVxyXG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XHJcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcclxuICB9XHJcbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcclxufVxyXG5cclxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xyXG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xyXG4gICRzZXA6IHNwYWNlO1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XHJcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XHJcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XHJcbiAgICB9XHJcbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XHJcbiAgfVxyXG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xyXG59XHJcblxyXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xyXG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xyXG59XHJcblxyXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcclxuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcclxuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cclxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XHJcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLiAqL1xuaHRtbCB7IGZvbnQtZmFtaWx5OiBLSUE7IC8qIDEgKi8gZm9udC1zaXplOiA4Ny41JTsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IC8qIDIgKi8gLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi8gLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovIH1cblxuLyogU2VjdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuYXJ0aWNsZSwgYXNpZGUsIGZvb3RlciwgaGVhZGVyLCBuYXYsIHNlY3Rpb24geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLiAqL1xuaDEgeyBmb250LXNpemU6IDJlbTsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqLyBtYXJnaW46IDAuOTI5ZW0gMDsgfVxuXG5oMiB7IGZvbnQtc2l6ZTogMS41ZW07IGxpbmUtaGVpZ2h0OiAxLjIzOGVtOyBtYXJnaW46IDEuMjM4ZW0gMDsgfVxuXG5oMyB7IGZvbnQtc2l6ZTogMS4xN2VtOyBsaW5lLWhlaWdodDogMS41ODdlbTsgbWFyZ2luOiAxLjU4N2VtIDA7IH1cblxuaDQgeyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IG1hcmdpbjogMS44NTdlbSAwOyB9XG5cbmg1IHsgZm9udC1zaXplOiAwLjgzZW07IGxpbmUtaGVpZ2h0OiAyLjIzOGVtOyBtYXJnaW46IDIuMjM4ZW0gMDsgfVxuXG5oNiB7IGZvbnQtc2l6ZTogMC42N2VtOyBsaW5lLWhlaWdodDogMi43NzJlbTsgbWFyZ2luOiAyLjc3MmVtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uICovXG5ibG9ja3F1b3RlIHsgbWFyZ2luOiAxLjg1N2VtIDA7IH1cblxuZGwsIG9sLCB1bCB7IG1hcmdpbjogMS44NTdlbSAwOyB9XG5cbi8qKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy4gKi9cbm9sIG9sLCBvbCB1bCwgdWwgb2wsIHVsIHVsIHsgbWFyZ2luOiAwOyB9XG5cbmRkIHsgbWFyZ2luOiAwIDAgMCAwOyB9XG5cbm9sLCB1bCB7IHBhZGRpbmc6IDAgMCAwIDA7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuZmlnY2FwdGlvbiwgZmlndXJlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC4gKi9cbmZpZ3VyZSB7IG1hcmdpbjogMS44NTdlbSAwOyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS4gKi9cbmhyIHsgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi8gaGVpZ2h0OiAwOyAvKiAxICovIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLiAqL1xubWFpbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLiAqL1xucCwgcHJlIHsgbWFyZ2luOiAxLjg1N2VtIDA7IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy4gKi9cbnByZSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqLyBmb250LXNpemU6IDFlbTsgLyogMiAqLyB9XG5cbi8qIExpbmtzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuICovXG5hIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi8gLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5hOmFjdGl2ZSwgYTpob3ZlciB7IG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuICovXG5hYmJyW3RpdGxlXSB7IGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovIH1cblxuLyoqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuICovXG5iLCBzdHJvbmcgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5jb2RlLCBrYmQsIHNhbXAgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gZm9udC1zaXplOiAxZW07IC8qIDIgKi8gfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLiAqL1xuZGZuIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uICovXG5tYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDsgY29sb3I6ICMwMDA7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc21hbGwgeyBmb250LXNpemU6IDgwJTsgfVxuXG4vKiogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy4gKi9cbnN1Yiwgc3VwIHsgZm9udC1zaXplOiA3NSU7IGxpbmUtaGVpZ2h0OiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHsgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuYXVkaW8sIHZpZGVvIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHsgZGlzcGxheTogbm9uZTsgaGVpZ2h0OiAwOyB9XG5cbi8qKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS4gKi9cbmltZyB7IGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuICovXG5zdmc6bm90KDpyb290KSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuICovXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQtZmFtaWx5OiBLSUE7IC8qIDEgKi8gZm9udC1zaXplOiAxMDAlOyAvKiAxICovIGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyAvKiAxICovIG1hcmdpbjogMDsgLyogMiAqLyB9XG5cbi8qKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS4gKi9cbmJ1dHRvbiB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS4gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LiAqL1xuYnV0dG9uLCBzZWxlY3QgeyAvKiAxICovIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMgaW4gQW5kcm9pZCA0LiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovIH1cblxuYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0geyAvKiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gKi8gLyoqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS4gKi8gfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7IGJvcmRlci1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKiogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS4gKi9cbmlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS4gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDIgKi8gfVxuXG4vKiogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovIC8qKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLiAqLyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi8gfVxuXG4vKiogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5maWVsZHNldCB7IGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IG1hcmdpbjogMCAycHg7IHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS4gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0IGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLiAqL1xubGVnZW5kIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBkaXNwbGF5OiB0YWJsZTsgLyogMSAqLyBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMyAqLyBjb2xvcjogaW5oZXJpdDsgLyogMiAqLyB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovIH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLiAqL1xucHJvZ3Jlc3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi8gdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuICovXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guICovXG5kZXRhaWxzIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbm1lbnUgeyBkaXNwbGF5OiBibG9jazsgLyogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi4gMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLiAqLyBtYXJnaW46IDEuODU3ZW0gMDsgLyogMSAqLyBwYWRkaW5nOiAwIDAgMCAwOyAvKiAyICovIC8qKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy4gKi8gfVxuXG5tZW51IG1lbnUsIG9sIG1lbnUsIHVsIG1lbnUgeyBtYXJnaW46IDA7IH1cblxuLyogU2NyaXB0aW5nID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5jYW52YXMgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLiAqL1xudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS4gKi9cbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiS0lBXCI7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHNyYzogdXJsKFwiLi4vLi4vZm9udHMvS0lBQi5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIktJQVwiOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiAzMDA7IHNyYzogdXJsKFwiLi4vLi4vZm9udHMvS0lBTC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIktJQVwiOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogdXJsKFwiLi4vLi4vZm9udHMvS0lBTS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmEgeyBjb2xvcjogaW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmh0bWwgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IGh0bWwgeyBmb250LXNpemU6IDcwJTsgfSB9XG5cbmJvZHkgeyBvdmVyZmxvdy14OiBoaWRkZW47IGZvbnQtd2VpZ2h0OiAzMDA7IHBhZGRpbmctdG9wOiA3LjE0M2VtOyB9XG5cbi5jb250YWluZXIgeyBtYXgtd2lkdGg6IDExNzBweDsgcGFkZGluZy1sZWZ0OiAxNXB4OyBwYWRkaW5nLXJpZ2h0OiAxNXB4OyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB3aWR0aDogMTAwJTsgfVxuXG4uY29udGFpbmVyLS1mbGV4IHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5sZWZ0LWNvbHVtbiB7IHdpZHRoOiAzMy40JTsgei1pbmRleDogMjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmxlZnQtY29sdW1uIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucmlnaHQtY29sdW1uIHsgd2lkdGg6IDY2LjYlOyB6LWluZGV4OiAxOyBiYWNrZ3JvdW5kOiBncmF5OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgdGV4dC1hbGlnbjogbGVmdDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IHBhZGRpbmctbGVmdDogNS40ZW07IHBhZGRpbmctYm90dG9tOiAxMS4yZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5yaWdodC1jb2x1bW4geyB3aWR0aDogMTAwJTsgcGFkZGluZzogMmVtOyB9IH1cblxuLnJpZ2h0LWNvbHVtbiBwIHsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMWVtOyBmb250LXdlaWdodDogNTAwOyBsaW5lLWhlaWdodDogMS44NTdlbTsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAzLjdlbTsgbWF4LXdpZHRoOiAzMGVtOyB9XG5cbi5yaWdodC1jb2x1bW4gaDMgeyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyLjU3MWVtOyBjb2xvcjogI2ZmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMC4zM2VtOyBtYXJnaW4tdG9wOiAwLjllbTsgfVxuXG4uaGVhZGVyIHsgYmFja2dyb3VuZDogI2ZmZjsgaGVpZ2h0OiA3LjE0M2VtOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nLXRvcDogMC42ZW07IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyB6LWluZGV4OiA5OTk7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IGJveC1zaGFkb3c6IDAgMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5oZWFkZXJfX2J1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMTRweDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgcGFkZGluZzogMDsgfVxuXG4uaGVhZGVyX19idXR0b246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuaGVhZGVyX19idXR0b24geyBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5oZWFkZXJfX2J1dHRvbi51cCBzcGFuIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uaGVhZGVyX19idXR0b24udXAgc3BhbjpiZWZvcmUsIC5oZWFkZXJfX2J1dHRvbi51cCBzcGFuOmFmdGVyIHsgdG9wOiAwOyB9XG5cbi5oZWFkZXJfX2J1dHRvbi51cCBzcGFuOmJlZm9yZSB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uaGVhZGVyX19idXR0b24udXAgc3BhbjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLmhlYWRlcl9fYnV0dG9uIHNwYW4geyBiYWNrZ3JvdW5kOiAjQkExQTMwOyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMnB4OyB3aWR0aDogMThweDsgZGlzcGxheTogYmxvY2s7IHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuXG4uaGVhZGVyX19idXR0b24gc3BhbjphZnRlciwgLmhlYWRlcl9fYnV0dG9uIHNwYW46YmVmb3JlIHsgY29udGVudDogJyc7IGJhY2tncm91bmQ6ICNCQTFBMzA7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IGhlaWdodDogMnB4OyB3aWR0aDogMThweDsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG5cbi5oZWFkZXJfX2J1dHRvbiBzcGFuOmFmdGVyIHsgdG9wOiA2cHg7IH1cblxuLmhlYWRlcl9fYnV0dG9uIHNwYW46YmVmb3JlIHsgdG9wOiAtNnB4OyB9XG5cbi5oZWFkZXItLWZpeGVkIHsgZm9udC1zaXplOiAxMnB4OyBoZWlnaHQ6IDUuMTQzZW07IGJveC1zaGFkb3c6IDAgMnB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uaGVhZGVyIC5jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmhlYWRlcl9fbG9nbyB7IG1heC13aWR0aDogMTYuMzU4ZW07IH1cblxuLm5hdmlnYXRpb24geyBtYXgtd2lkdGg6IDc0MnB4OyB3aWR0aDogMTAwJTsgZm9udC1zaXplOiAwLjg1N2VtOyBjb2xvcjogIzE1MTQxNDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5uYXZpZ2F0aW9uIHsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB0b3A6IDEwMCU7IGJhY2tncm91bmQ6IHdoaXRlOyBtYXJnaW46IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB9XG4gIC5uYXZpZ2F0aW9uLnVwIHsgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubmF2aWdhdGlvbiB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLXRvcDogLTAuNWVtOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAubmF2aWdhdGlvbiB1bCB7IG1hcmdpbjogMDsgbGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMTBweCAxNnB4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5uYXZpZ2F0aW9uIHVsIGxpLmN1cnJlbnQtbWVudS1pdGVtIGE6YWZ0ZXIgeyBvcGFjaXR5OiAxOyBib3R0b206IC04cHg7IH1cblxuLm5hdmlnYXRpb24gdWwgYSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmF2aWdhdGlvbiB1bCBhOmFmdGVyIHsgY29udGVudDogJyc7IGJvcmRlci1yYWRpdXM6IDFweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICNCQTFBMzA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuXG4ubmF2aWdhdGlvbiB1bCBhOmhvdmVyOmFmdGVyIHsgb3BhY2l0eTogMTsgYm90dG9tOiAtOHB4OyB9XG5cbi5idXR0b24geyBib3JkZXItcmFkaXVzOiAyNXB4OyBoZWlnaHQ6IDMuODQ2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJhY2tncm91bmQtY29sb3I6ICNCQTFBMzA7IGZvbnQtc2l6ZTogMC45MjllbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjb2xvcjogI2ZmZjsgcGFkZGluZy1sZWZ0OiAyLjc2OWVtOyBwYWRkaW5nLXJpZ2h0OiAyLjc2OWVtOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5idXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOGQxNDI0OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cblxuLmJ1dHRvbi0tZnVsbCB7IHdpZHRoOiAxMDAlOyBtYXJnaW4tdG9wOiAyLjdlbTsgfVxuXG4uYnV0dG9uLS13aGl0ZSB7IGJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiAjMTUxNDE0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYnV0dG9uLS13aGl0ZTpob3ZlciB7IGJhY2tncm91bmQ6ICMwMDA7IGNvbG9yOiAjZmZmOyB9XG5cbi5mb290ZXIgeyBib3JkZXItdG9wOiA1cHggc29saWQgI0JBMUEzMDsgYmFja2dyb3VuZC1jb2xvcjogIzAyMDIwMjsgY29sb3I6ICNmZmY7IHotaW5kZXg6IDEwOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvb3RlciAuY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mb290ZXJfX3Njcm9sbCB7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZC1jb2xvcjogI0JBMUEzMDsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMi44NTdlbTsgaGVpZ2h0OiAyLjg1N2VtOyB0b3A6IC0xLjZlbTsgcmlnaHQ6IDE2cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLmZvb3Rlcl9fc2Nyb2xsOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZm9vdGVyX19zY3JvbGw6aG92ZXIgc3ZnIHVzZSB7IGZpbGw6ICNCQTFBMzA7IH1cblxuLmZvb3Rlcl9fc2Nyb2xsIHN2ZyB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmZvb3Rlcl9fc2Nyb2xsIHN2ZyB1c2UgeyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLmZvb3Rlcl9fY29sdW1ucyB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmZvb3Rlcl9fY29sdW1ucyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4uZm9vdGVyX19jb2x1bW5zX19jb250YWN0IHsgcGFkZGluZy10b3A6IDIuOWVtOyB3aWR0aDogMTcuMiU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5mb290ZXJfX2NvbHVtbnNfX2NvbnRhY3QgeyB3aWR0aDogMTAwJTsgfSB9XG5cbi5mb290ZXJfX2NvbHVtbnNfX2NvbnRhY3RfX3NvY2lhbCBwIHsgZm9udC1zaXplOiAwLjg1N2VtOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMi44ZW07IGxpbmUtaGVpZ2h0OiAxLjE2N2VtOyBtYXJnaW4tYm90dG9tOiAyLjVlbTsgfVxuXG4uZm9vdGVyX19jb2x1bW5zX19jb250YWN0X19zb2NpYWwgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdF9fc29jaWFsIHVsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH0gfVxuXG4uZm9vdGVyX19jb2x1bW5zX19jb250YWN0X19waG9uZXMgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdF9fcGhvbmVzX19pdGVtIHsgZm9udC1zaXplOiAwLjg1N2VtOyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZm9vdGVyX19jb2x1bW5zX19jb250YWN0X19waG9uZXNfX2l0ZW0gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogI0JBMUEzMDsgbWFyZ2luLWJvdHRvbTogLTAuOWVtOyB9XG5cbi5mb290ZXJfX2NvbHVtbnNfX21lbnUgeyBsaXN0LXN0eWxlOiBub25lOyBjb2x1bW4tY291bnQ6IDM7IG1hcmdpbjogMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAwLjc4NmVtOyBsaW5lLWhlaWdodDogMy4xODJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgcGFkZGluZy10b3A6IDQ1cHg7IHdpZHRoOiA2NiU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5mb290ZXJfX2NvbHVtbnNfX21lbnUgeyB3aWR0aDogMTAwJTsgY29sdW1uLWNvdW50OiAyOyB9IH1cblxuLmNvcHlyaWdodCB7IGJhY2tncm91bmQtY29sb3I6ICMwMjAyMDI7IGZvbnQtc2l6ZTogMC43ODZlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxpbmUtaGVpZ2h0OiAzLjE4MmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmNvcHlyaWdodCB7IHBhZGRpbmctdG9wOiAxZW07IHBhZGRpbmctYm90dG9tOiAxZW07IH0gfVxuXG4uY29weXJpZ2h0IHAgeyBtYXJnaW46IC45ZW0gMCAxLjhlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmNvcHlyaWdodCBwIHsgbWFyZ2luOiAwOyB9IH1cblxuLmNvcHlyaWdodCAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuY29weXJpZ2h0IC5jb250YWluZXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ud2lkZ2V0LXRyeS11cyB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAyNDlweDsgYmFja2dyb3VuZDogI0JBMUEzMDsgY29sb3I6ICNmZmY7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyByaWdodDogNDlweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IHotaW5kZXg6IDk5OTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLndpZGdldC10cnktdXMgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuLndpZGdldC10cnktdXM6aG92ZXIgeyByaWdodDogNTVweDsgYmFja2dyb3VuZDogIzhkMTQyNDsgfVxuXG4ud2lkZ2V0LXRyeS11cyBhIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTRweDsgcGFkZGluZzogMjZweCAyM3B4IDEwcHggMjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ud2lkZ2V0LXRyeS11cyBhIHNwYW4geyBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IDUwMDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyBsaW5lLWhlaWdodDogMTlweDsgfVxuXG4uc2xpZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IC0xMS4zZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zbGlkZXIgeyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnNsaWRlci0tY2FyIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2xpZGVyIC5vd2wtZG90cyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHJpZ2h0OiAxMTNweDsgbWFyZ2luLXRvcDogLTUuNWVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2xpZGVyIC5vd2wtZG90cyB7IGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2xpZGVyIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsgd2lkdGg6IDIwcHg7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDJweDsgYm9yZGVyLXJhZGl1czogMXB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBtYXJnaW46IDE1cHggMDsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogYXV0bzsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLnNsaWRlciAub3dsLWRvdHMgLm93bC1kb3Qgc3Bhbjpob3ZlciB7IHdpZHRoOiAzMHB4OyB9XG5cbi5zbGlkZXIgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuIHsgd2lkdGg6IDQwcHg7IH1cblxuLnNsaWRlciBoMSB7IGZvbnQtc2l6ZTogMi41NzFlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMC44M2VtOyBtYXJnaW4tYm90dG9tOiAtMC41M2VtOyB9XG5cbi5zbGlkZXIgcCB7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMWVtOyBsaW5lLWhlaWdodDogMS44NTdlbTsgbWF4LXdpZHRoOiAyOS42NDNlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2xpZGVyX19lbGVtZW50IHsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nLWJvdHRvbTogNy45ZW07IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IGhlaWdodDogNTIuODU3ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zbGlkZXJfX2VsZW1lbnQgeyBwYWRkaW5nLWJvdHRvbTogMDsgaGVpZ2h0OiAyNWVtOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuXG4uc2xpZGVyX19lbGVtZW50X19idXR0b25zIHsgbWFyZ2luLXRvcDogNC42ZW07IH1cblxuLnNsaWRlcl9fZWxlbWVudF9fYnV0dG9ucyAuYnV0dG9uIHsgZm9udC1zaXplOiAxMnB4OyBoZWlnaHQ6IDMuNGVtOyBwYWRkaW5nLWxlZnQ6IDNlbTsgbGV0dGVyLXNwYWNpbmc6IDA7IGZvbnQtc2l6ZTogMTFweDsgbGV0dGVyLXNwYWNpbmc6IDEuMXB4OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsgbWFyZ2luLXJpZ2h0OiAwLjZlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLnNsaWRlcl9fZWxlbWVudF9fYnV0dG9ucyAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMWVtIDA7IH0gfVxuXG4uc2xpZGVyX19lbGVtZW50X19idXR0b25zIC5idXR0b24gc3ZnIHsgbWFyZ2luLXJpZ2h0OiAwLjllbTsgfVxuXG4uc2xpZGVyX19lbGVtZW50X19idXR0b25zIC5idXR0b246aG92ZXIgeyBib3JkZXItY29sb3I6ICNCQTFBMzA7IGJhY2tncm91bmQtY29sb3I6ICNCQTFBMzA7IH1cblxuLnNsaWRlcl9fZWxlbWVudF9fcHJpY2UgeyBmb250LXNpemU6IDIuNTcxZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tdG9wOiAwLjY1ZW07IH1cblxuLnNsaWRlcl9fZWxlbWVudC0tY2FyIHsgcGFkZGluZy10b3A6IDExLjJlbTsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGhlaWdodDogNDEuNTU3ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zbGlkZXJfX2VsZW1lbnQtLWNhciB7IGhlaWdodDogYXV0bzsgcGFkZGluZy1ib3R0b206IDVlbTsgfSB9XG5cbi5zbGlkZXJfX2VsZW1lbnQtLWNhciBwIHsgZm9udC1zaXplOiAxLjRlbTsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLXRvcDogMC42ZW07IH1cblxuLmN0YSB7IHBhZGRpbmctdG9wOiA0LjRlbTsgcGFkZGluZy1ib3R0b206IDMuNjVlbTsgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uY3RhIC5jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5jdGEgLmNvbnRhaW5lciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmN0YV9fZWxlbWVudDpmaXJzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDVlbTsgfSB9XG5cbi5jdGFfX2VsZW1lbnQgaDMgeyBmb250LXNpemU6IDIuNTcxZW07IGxpbmUtaGVpZ2h0OiAxLjE2N2VtOyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luOiAwOyBjb2xvcjogI2ZmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogLTAuMWVtOyB9XG5cbi5jdGFfX2VsZW1lbnQgcCB7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IG1heC13aWR0aDogMjYuN2VtOyBtYXJnaW4tYm90dG9tOiAyLjJlbTsgfVxuXG4uc2luZ2xlLWNhciBhLmJ1dHRvbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgfVxuXG4uc2luZ2xlLWNhciBwIHsgZm9udC1zaXplOiAxZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDEuOWVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cblxuLnNpbmdsZS1jYXIgLmNvbnRhaW5lciB7IGZsZXgtd3JhcDogd3JhcDsgZGlzcGxheTogZmxleDsgfVxuXG4uc2luZ2xlLWNhciAuY29sdW1uIHsgZGlzcGxheTogZmxleDsgd2lkdGg6IDMzLjQlOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2luZ2xlLWNhciAuY29sdW1uIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2luZ2xlLWNhcl9fYm94IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2luZ2xlLWNhcl9fYm94X19iZyB7IGxlZnQ6IC0xNXB4ICFpbXBvcnRhbnQ7IHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zaW5nbGUtY2FyX19ib3ggeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBwYWRkaW5nOiAzZW0gIWltcG9ydGFudDsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2luZ2xlLWNhcl9fYm94LS1maXJzdCB7IGhlaWdodDogMzVlbTsgcGFkZGluZzogMCAzZW0gMCAyZW07IHBhZGRpbmctcmlnaHQ6IDNlbTsgfVxuXG4uc2luZ2xlLWNhcl9fYm94LS1maXJzdDphZnRlciB7IGNvbnRlbnQ6ICcnOyByaWdodDogMDsgbGVmdDogYXV0bzsgd2lkdGg6IDQ5NXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgdG9wOiAwOyBib3R0b206IDA7IH1cblxuLnNpbmdsZS1jYXJfX2JveC0tZmlyc3QgLnNpbmdsZS1jYXJfX2JveF9fYmcgeyByaWdodDogMDsgbGVmdDogYXV0bzsgd2lkdGg6IDQ5NXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOyB9XG5cbi5zaW5nbGUtY2FyX19ib3gtLXNlY29uZCB7IGhlaWdodDogMjkuOGVtICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zaW5nbGUtY2FyX19ib3gtLXNlY29uZCB7IGhlaWdodDogMjkuOGVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2luZ2xlLWNhcl9fYm94LS10aGlyZCB7IHdpZHRoOiA2Ni42JTsgcGFkZGluZzogMCA1LjRlbTsgcGFkZGluZy10b3A6IDI0LjZlbTsgfVxuXG4uc2luZ2xlLWNhcl9fYm94LS10aGlyZDphZnRlciB7IGNvbnRlbnQ6ICcnOyByaWdodDogMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IHRvcDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwdnc7IH1cblxuLnNpbmdsZS1jYXJfX2JveC0tdGhpcmQgLnNpbmdsZS1jYXJfX2JveF9fYmcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwdnc7IHotaW5kZXg6IC0xOyB9XG5cbi5zaW5nbGUtY2FyX19ib3gtLXRoaXJkIHAgeyBtYXgtd2lkdGg6IDMwZW07IH1cblxuLnNpbmdsZS1jYXJfX2JveC0tZm91cnRoIHsgd2lkdGg6IDY2LjclOyBoZWlnaHQ6IDIzLjM1ZW07IHBhZGRpbmc6IDAgMi4zZW07IHBhZGRpbmctcmlnaHQ6IDNlbTsgcGFkZGluZy10b3A6IDEuM2VtOyB9XG5cbi5zaW5nbGUtY2FyX19ib3gtLWZpZnRoIHsgd2lkdGg6IDMzLjMlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2luZ2xlLWNhcl9fYm94LS1maWZ0aCB7IGhlaWdodDogMjBlbSAhaW1wb3J0YW50OyB9IH1cblxuLnNpbmdsZS1jYXJfX2JveC0tc2l4dGggeyBoZWlnaHQ6IDIzLjRlbTsgd2lkdGg6IDY2LjclOyBwYWRkaW5nLWJvdHRvbTogMWVtOyB9XG5cbi5zaW5nbGUtY2FyX19ib3gtLXNpeHRoOmFmdGVyIHsgY29udGVudDogJyc7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgd2lkdGg6IDEwMHZ3OyBsZWZ0OiBhdXRvOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOyB0b3A6IDA7IGJvdHRvbTogMDsgfVxuXG4uc2luZ2xlLWNhcl9fYm94LS1zaXh0aCAucGxheS1idXR0b24geyBtYXJnaW4tYm90dG9tOiAzZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgfVxuXG4uc2luZ2xlLWNhcl9fYm94LS1zaXh0aCBwIHsgZm9udC1zaXplOiAxLjRlbTsgcGFkZGluZy10b3A6IDA7IG1hcmdpbi1ib3R0b206IDA7IG1hcmdpbi10b3A6IC0wLjVlbTsgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OyB9XG5cbi5zaW5nbGUtY2FyX19ib3gtLXNpeHRoIC5zaW5nbGUtY2FyX19ib3hfX2JnIHsgcmlnaHQ6IDA7IGxlZnQ6IGF1dG87IHdpZHRoOiAxMDB2dzsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsgfVxuXG4uc2luZ2xlLWNhcl9fYm94LS1zZXZlbnRoIHsgd2lkdGg6IDMzLjMlOyBwYWRkaW5nOiAwIDJlbTsgfVxuXG4uc2luZ2xlLWNhcl9fYm94X19iZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiAtMTsgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uc2luZ2xlLWNhcl9fYm94IGgzIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyOyBmb250LXNpemU6IDIuNTcxZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW46IDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAxLjJlbTsgbWFyZ2luLWJvdHRvbTogMC41NWVtOyB9XG5cbi5zaW5nbGUtY2FyX19ib3ggaDQgeyBmb250LXNpemU6IDEuNDI5ZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW46IDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDFlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyOyB9XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKSB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU3RyaW5nIFJlcGxhY2VcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRm9udCBGYWNlXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCRuYW1lLCAkcGF0aCwgJHdlaWdodDogbnVsbCwgJHN0eWxlOiBudWxsLCAkZXh0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xyXG4gICRzcmM6IG51bGw7XHJcblxyXG4gICRleHRtb2RzOiAoXHJcbiAgICAgICAgICBlb3Q6IFwiP1wiLFxyXG4gICAgICAgICAgc3ZnOiBcIiNcIiArIHN0ci1yZXBsYWNlKCRuYW1lLCBcIiBcIiwgXCJfXCIpXHJcbiAgKTtcclxuXHJcbiAgJGZvcm1hdHM6IChcclxuICAgICAgICAgIG90ZjogXCJvcGVudHlwZVwiLFxyXG4gICAgICAgICAgdHRmOiBcInRydWV0eXBlXCJcclxuICApO1xyXG5cclxuICBAZWFjaCAkZXh0IGluICRleHRzIHtcclxuICAgICRleHRtb2Q6IGlmKG1hcC1oYXMta2V5KCRleHRtb2RzLCAkZXh0KSwgJGV4dCArIG1hcC1nZXQoJGV4dG1vZHMsICRleHQpLCAkZXh0KTtcclxuICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xyXG4gICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybChxdW90ZSgkcGF0aCArIFwiLlwiICsgJGV4dG1vZCkpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSksIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgc3JjOiAkc3JjO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiX3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiX21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vaW1wb3J0cy9ub3JtYWxpemUvX2ltcG9ydC1ub3dcIjtcclxuXHJcbkBpbmNsdWRlIGZvbnQtZmFjZShLSUEsICRmb250LXBhdGggKyBcIktJQUJcIiwgYm9sZCwgbm9ybWFsLCBvdGYpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoS0lBLCAkZm9udC1wYXRoICsgXCJLSUFMXCIsIDMwMCwgbm9ybWFsLCBvdGYpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoS0lBLCAkZm9udC1wYXRoICsgXCJLSUFNXCIsIDUwMCwgbm9ybWFsLCBvdGYpO1xyXG5cclxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmEge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbmh0bWwge1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHJcbiAgICBmb250LXNpemU6IDcwJTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHBhZGRpbmctdG9wOiBub3JtYWxpemUtcmh5dGhtKDEwMHB4KTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgbWF4LXdpZHRoOiAkYmFzZS13aWR0aCArICRndXR0ZXIgKiAyO1xyXG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcclxuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO21hcmdpbi1yaWdodDogYXV0bztcclxuICB3aWR0aDogMTAwJTtcclxuICAmLS1mbGV4IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG59XHJcblxyXG4ubGVmdC1jb2x1bW4ge1xyXG4gIHdpZHRoOiAzMy40JTtcclxuICB6LWluZGV4OiAyO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5yaWdodC1jb2x1bW4ge1xyXG5cclxuICB3aWR0aDogNjYuNiU7XHJcbiAgei1pbmRleDogMTtcclxuICBiYWNrZ3JvdW5kOiBncmF5O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiA1LjRlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMTEuMmVtO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTRweCk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMjZweCwgMTRweCk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzLjdlbTtcclxuICAgIG1heC13aWR0aDogMzBlbTtcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDM2cHgpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4zM2VtO1xyXG4gICAgbWFyZ2luLXRvcDogMC45ZW07XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBpbXBvcnQgXCJfY29tbW9uXCI7XHJcbiIsIi5oZWFkZXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDEwMHB4KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6IDAuNmVtO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gIGJveC1zaGFkb3c6IDAgMHB4IDBweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuICAmX19idXR0b24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmLnVwIHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbWFpbjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcblxyXG4gICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW1haW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICB0b3A6IDZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogLTZweDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWZpeGVkIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGhlaWdodDogNS4xNDNlbTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDE5cHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICB9XHJcblxyXG4gIC5jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAmX19sb2dvIHtcclxuICAgIG1heC13aWR0aDogMTYuMzU4ZW07XHJcbiAgfVxyXG59XHJcbiIsIi5uYXZpZ2F0aW9uIHtcclxuICBtYXgtd2lkdGg6IDc0MnB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuXHJcbiAgICAmLnVwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICBhOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGJvdHRvbTogLThweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYm90dG9tOiAtOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxMnB4KTtcclxuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuIiwiLmJ1dHRvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBoZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oNTBweCwgMTNweCk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTNweCk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nLWxlZnQ6IG5vcm1hbGl6ZS1yaHl0aG0oMzZweCwgMTNweCk7XHJcbiAgcGFkZGluZy1yaWdodDogbm9ybWFsaXplLXJoeXRobSgzNnB4LCAxM3B4KTtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbWFpbiwgMTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuICB9XHJcbiAgXHJcbiAgJi0tZnVsbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDIuN2VtO1xyXG4gIH1cclxuICAmLS13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY29sb3I6ICMxNTE0MTQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmZvb3RlciB7XHJcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1tYWluO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjAyMDI7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICAmX19zY3JvbGwge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogbm9ybWFsaXplLXJoeXRobSg0MHB4KTtcclxuICAgIGhlaWdodDogbm9ybWFsaXplLXJoeXRobSg0MHB4KTtcclxuICAgIHRvcDogLTEuNmVtO1xyXG4gICAgcmlnaHQ6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgdXNlIHtcclxuICAgICAgICAgIGZpbGw6ICRjb2xvci1tYWluO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIHVzZSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gICZfX2NvbHVtbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmX19jb250YWN0IHtcclxuICAgICAgcGFkZGluZy10b3A6IDIuOWVtO1xyXG4gICAgICB3aWR0aDogMTcuMiU7XHJcblxyXG5cclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fc29jaWFsIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxMnB4KTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIuOGVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMTRweCwgMTJweCk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fcGhvbmVzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTJweCk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC45ZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGNvbHVtbi1jb3VudDogMztcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTFweCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDM1cHgsIDExcHgpO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcclxuICAgICAgd2lkdGg6IDY2JTtcclxuXHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29weXJpZ2h0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIwMjAyO1xyXG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxMXB4KTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSgzNXB4LCAxMXB4KTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IC45ZW0gMCAxLjhlbTtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIud2lkZ2V0LXRyeS11cyB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMjQ5cHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLW1haW47XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gIHJpZ2h0OiA0OXB4O1xyXG5cclxuQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgcmlnaHQ6IDU1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLW1haW4sIDEwJSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBhIHtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAyNnB4IDIzcHggMTBweCAyNXB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2xpZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbi1ib3R0b206IC0xMS4zZW07XHJcblxyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAmLS1jYXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gIC5vd2wtZG90cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAxMTNweDtcclxuICAgIG1hcmdpbi10b3A6IC01LjVlbTtcclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5vd2wtZG90IHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICB3aWR0aDogNDBweDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMzZweCk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLXRvcDogMC44M2VtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNTNlbTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxNHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDI2cHgsIDE0cHgpO1xyXG4gICAgbWF4LXdpZHRoOiBub3JtYWxpemUtcmh5dGhtKDQxNXB4LCAxNHB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDBcclxuICB9XHJcblxyXG5cclxuXHJcbiAgJl9fZWxlbWVudCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctYm90dG9tOiA3LjllbTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XHJcbiAgICBoZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oNzQwcHgpO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBoZWlnaHQ6IDI1ZW07XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b25zIHtcclxuXHJcbiAgICAgIG1hcmdpbi10b3A6IDQuNmVtO1xyXG4gICAgICAuYnV0dG9uIHtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGhlaWdodDogMy40ZW07XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcclxuXHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxud2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcblxyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjllbTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fcHJpY2Uge1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMzZweCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwLjY1ZW07XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtLWNhciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMS4yZW07XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBoZWlnaHQ6IDQxLjU1N2VtO1xyXG5cclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVlbTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjZlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLmN0YSB7XHJcbiAgcGFkZGluZy10b3A6IDQuNGVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAzLjY1ZW07XHJcblxyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2VsZW1lbnQge1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMzZweCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDQycHgsIDM2cHgpO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMWVtO1xyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTRweCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDI2cHgsIDE0cHgpO1xyXG4gICAgICBtYXgtd2lkdGg6IDI2LjdlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMi4yZW07XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2luZ2xlLWNhciB7XHJcbiAgYS5idXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTRweCk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMjZweCwgMTRweCk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjllbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG4gIC5jb250YWluZXIge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbiAgLmNvbHVtbiB7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAzMy40JTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAmX19ib3gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgJl9fYmcge1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGxlZnQ6IC0xNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6IDNlbSAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgJi0tZmlyc3Qge1xyXG4gICAgICBoZWlnaHQ6IDM1ZW07XHJcbiAgICAgIHBhZGRpbmc6IDAgM2VtIDAgMmVtO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiA0OTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIC42KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2luZ2xlLWNhcl9fYm94X19iZyB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB3aWR0aDogNDk1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXNlY29uZCB7XHJcbiAgICAgIGhlaWdodDogMjkuOGVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG5cclxuICAgICAgICAgIGhlaWdodDogMjkuOGVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS10aGlyZCB7XHJcbiAgICAgIHdpZHRoOiA2Ni42JTtcclxuICAgICAgcGFkZGluZzogMCA1LjRlbTtcclxuICAgICAgcGFkZGluZy10b3A6IDI0LjZlbTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzAwMCwgLjYpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICAuc2luZ2xlLWNhcl9fYm94X19iZyB7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1mb3VydGgge1xyXG4gICAgICB3aWR0aDogNjYuNyU7XHJcbiAgICAgIGhlaWdodDogMjMuMzVlbTtcclxuICAgICAgcGFkZGluZzogMCAyLjNlbTtcclxuICAgICAgcGFkZGluZy1yaWdodDogM2VtO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMS4zZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZmlmdGgge1xyXG4gICAgICB3aWR0aDogMzMuMyU7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcblxyXG4gICAgICAgIGhlaWdodDogMjBlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc2l4dGgge1xyXG4gICAgICBoZWlnaHQ6IDIzLjRlbTtcclxuICAgICAgd2lkdGg6IDY2LjclO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNik7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucGxheS1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAge1xyXG5cclxuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNpbmdsZS1jYXJfX2JveF9fYmcge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7fVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1zZXZlbnRoIHtcclxuICAgICAgICB3aWR0aDogMzMuMyU7XHJcbiAgICAgICAgcGFkZGluZzogMCAyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2JnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgaDMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgzNnB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41NWVtO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgyMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4iXX0= */
