@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700,700i");html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html,body{background:#ececec;color:#5b5b5b;font-family:'Roboto', sans-serif;text-rendering:optimizeLegibility;font-size:1em;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}h1,h2,h3,h4,h5,h6,p{line-height:1.5;margin-bottom:1em;font-weight:400}h1{font-size:2.188em}h2{font-size:1.875em}h3{font-size:1.625em}h4{font-size:1.438em}h5{font-size:1.125em}p{font-size:1em}hr{border:none;background:#eee;height:1px;margin:20px 0}i,em{font-style:italic}b,strong{font-weight:600}small{font-size:80%}a{color:#5970fe}a:hover{color:#1c3cfe;text-decoration:none}ul li,ol li{line-height:1.5}.unstyle{list-style:none;padding:0}img{max-width:100%}input:focus::-webkit-input-placeholder{color:transparent}input:focus::-moz-placeholder{color:transparent}.form-control{background:#fefefe;border:1px solid #cdcdcd;height:40px;padding:6px 15px;box-shadow:none;font-size:1em}label{display:block}input[type="search"]{-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;transition:all 0.1s ease;box-sizing:border-box;border-radius:3px;padding:10px 15px;background:none;border:1px solid rgba(91,91,91,0.1)}input[type="search"]:focus{background:#ffffff}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.form__separator{margin:15px 0;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.btn{display:inline-block;width:auto;border:none;border-radius:3px;box-shadow:none;outline:none;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent}.btn:hover,.btn:focus,.btn:active{box-shadow:none}.btn-large{padding:12px;font-size:1.125em}.btn-block{display:block;width:100%}.btn-primary{background:#5970ff;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#2644fe;color:#fff}.btn-secondary{background:#d9d9d9;color:#5b5b5b}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active{background:silver;color:#5b5b5b}.btn-default{background:#b2b2b2;color:#ffffff}.btn-default:hover,.btn-default:focus,.btn-default:active{background:#999}.linkedin-signin{background:#4875b4;color:#fff}.linkedin-signin:hover,.linkedin-signin:focus,.linkedin-signin:active{background:#395d90;color:#fff}#wrap{min-height:100%;margin-bottom:-151px;background:#f9f9f9}#wrap::after{clear:both;content:"";display:table}#content-push{padding-top:30px}@media only screen and (max-width: 767px){#content-push{padding-top:25px}}@media only screen and (max-width: 479px){#content-push{padding-top:15px}}.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{max-width:1250px;margin:0 auto;padding:35px 0}@media only screen and (max-width: 479px){.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{padding:20px 0}}@media only screen and (max-width: 959px){.column{padding-left:55px;padding-right:55px}}@media only screen and (max-width: 767px){.column{padding-left:25px;padding-right:25px}}@media only screen and (max-width: 479px){.column{padding-left:15px;padding-right:15px}}.visible{display:inline-block !important}.card{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff}.card::after{clear:both;content:"";display:table}.card--block{display:block}.card--padding-5{padding:5px}.card--padding-15{padding:15px}.card--padding-20{padding:20px}.card--bottom-margin-10{margin-bottom:10px}.card--bottom-margin-20{margin-bottom:20px}.course-card{height:468px;cursor:pointer}.course-card__img{width:100%}.course-card__img-container{border-top-left-radius:3px;border-top-right-radius:3px;position:relative;overflow:hidden;max-height:220px}.course-card__instructor-name{font-size:0.875em}.course-card__price{color:#5970fe;font-weight:600;font-size:18px;line-height:1;word-wrap:break-word;margin-bottom:20px}.course-card__price .free{text-transform:uppercase}.course-card__title{color:#5b5b5b;font-size:1em;margin-bottom:10px}.course-card__title a{color:#5b5b5b}.course-card__description{margin-bottom:10px;color:#9b9b9b;font-size:0.938em}.course-card__cta-secondary{margin-bottom:10px}.progress-card{cursor:default}.progress-card .course-card__body{padding-top:10px}.progress-card .course-card__title{text-align:center}.progress-card .progress-card-progress{padding-top:10px}.progress-card .progress-completion{color:#5b5b5b;font-size:1.875em;text-align:center}.progress-card .progress-line{position:relative;display:inline-block;overflow:hidden;width:100%;height:3px;margin:10px 0}.progress-card .progress-line .progress-line-percent{position:absolute;top:0;left:0;height:100%;background-color:#5970fe}.progress-card .progress-line .progress-line-bar{height:3px;background:#cdcdcd}@media screen and (min-width: 960px){.course-card__img-container{max-height:202px}}@media screen and (min-width: 768px) and (max-width: 959px){.course-card{height:481px}.course-card__img-container{max-height:235px}.course-card__title{font-size:1.063em}}@media screen and (max-width: 767px){.course-card{max-width:370px;height:auto;margin-top:0;margin-right:auto;margin-left:auto;padding-bottom:20px}.course-card__cta{position:relative;margin-bottom:0}.course-card__body .star-rating{margin:10px 0}}header{padding-top:15px;padding-bottom:15px;background:#fff}header a{color:#434343}header a:hover,header a:active,header a:focus{color:#101010}.header-logo__image{width:auto;max-height:25px;max-width:initial;margin-right:20px}.header-school-name{display:inline-block;margin-right:20px;font-size:1.875em}.header-nav__list{list-style:none;padding:0;margin:0;width:100%}.header-nav__item{font-size:0.875em;cursor:pointer}.header-nav__item a{text-transform:uppercase;font-weight:bold}.header-user-avatar{border-radius:50%;height:25px;width:25px;margin:-25px 5px -21px}.dropdown{margin-left:15px}.dropdown-toggle{margin-left:10px}.dropdown-menu{top:22px;right:0;left:auto;border-radius:0;background:#fff;border:0}.dropdown-menu>li{text-align:right}.dropdown-menu>li>a{color:#434343}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus{color:#666;background:#eee}.header-nav__mobile-btn{display:none;margin-right:0;padding:6px 10px;color:#434343;border:1px solid #434343;background:none;border-radius:3px}.header-nav__mobile-btn:hover,.header-nav__mobile-btn:active,.header-nav__mobile-btn:focus{color:#fff;background-color:#434343}@media only screen and (min-width: 960px){header .column{display:table;width:100%}.header-logo__container{display:table-cell;width:1px;white-space:nowrap}.header-nav__container{display:table-cell;vertical-align:middle}.header-nav{display:table;width:100%}.header-nav__list{display:table-cell}.header-nav__left,.header-nav__right{width:auto}.header-nav__right{text-align:right}.header-nav__item{display:inline-block;vertical-align:sub}.header-nav__item+.header-nav__item{margin-left:10px}}@media only screen and (max-width: 959px){.header-nav{padding-top:15px}.header-school-name{margin-right:85px}.header-nav__container{display:none}.header-nav__container.open{display:block}.header-nav__item{display:block;text-align:center;font-size:0.938em}.header-nav__link{display:block;padding:10px 0}.header-logo__container{position:relative}.header-nav__mobile-btn{position:absolute;display:block;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.dropdown{display:none}}footer,#wrap:after{height:151px}footer{margin-left:auto;margin-right:auto;background:#353535;padding:30px 0;color:#fff}footer a{color:#fff}footer a:hover,footer a:active,footer a:focus{text-decoration:underline}.footer-nav{text-align:center;list-style:none;padding:0;margin:0 0 30px 0}.footer-nav__item{display:inline-block;font-size:0.875em}.footer-nav__item+.footer-nav__item{margin-left:15px}.footer-copyright{margin-bottom:10px;font-size:0.750em;opacity:0.6}.footer-powered-by{font-size:0.750em}@media only screen and (min-width: 1600px){footer{margin-left:auto;margin-right:auto}}.star-rating{position:relative;display:inline-block;overflow:hidden;width:90px;height:18px;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjREREREREIiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain;font-size:0;white-space:nowrap}.star-rating i{position:absolute;top:0;left:0;z-index:1;width:20%;height:100%;opacity:0;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjRkZERjg4IiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain}.star-rating input{position:relative;z-index:2;display:inline-block;width:20%;height:100%;margin:0;padding:0;opacity:0;-webkit-appearance:none;-moz-appearance:none}.star-rating i ~ i{width:40%}.star-rating i ~ i ~ i{width:60%}.star-rating i ~ i ~ i ~ i{width:80%}.star-rating i ~ i ~ i ~ i ~ i{width:100%}.star-rating__input input{position:relative}.star-rating__input input:hover+i,.star-rating__input input:checked+i{opacity:1}.star-rating__filled{position:relative}.star-rating__filled i{opacity:1}.star_rating__single{width:25px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{background-color:#f3f3f3;border-color:#cdcdcd;color:#5970fe}.pagination>li>a,.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span{color:#5970fe;border:1px solid #cdcdcd}.site-landing__banner{position:relative;height:400px;background-size:cover;background-position:center center;background-repeat:no-repeat}.site-landing__banner-content{-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;top:50%;left:50%;width:100%;max-width:1250px;text-align:center}.product-cards__container::after{clear:both;content:"";display:table}@media only screen and (max-width: 767px){.site-landing__banner{height:300px}.site-landing__banner--title{font-size:1.875em;margin-top:0}.site-landing__banner--subtitle{font-size:1.250em;margin:0}}@media only screen and (max-width: 479px){.site-landing__banner{height:250px}.site-landing__banner--title{font-size:1.625em}.site-landing__banner--subtitle{font-size:0.938em}}.product-landing{font-size:1em;line-height:1.8}.product-landing section{padding-top:40px;padding-bottom:40px}.product-landing section::after{clear:both;content:"";display:table}.product-landing section p:last-of-type{margin-bottom:0}.product-landing section p a{color:#5970fe}.product-landing section p a:hover{text-decoration:underline}.product-landing .section-title{margin:0 0 42px;color:#5970fe;font-weight:200;font-size:2.250em}.course-contact-info{font-weight:bold}.product__subtitle{display:block;margin-bottom:10px;line-height:1.5;color:#666 !important}.product-banner{position:relative;width:100%}.product-banner .title-block{width:75%;margin:auto;padding:0;font-weight:900;text-align:center}.product-banner .product__title{margin:0 0 30px;font-weight:300;font-size:2.438em}.product-banner .product__private-title{line-height:1}.product-banner .product__private-title i{font-size:1.125em;vertical-align:middle}.btn-intro-video{border:1px solid #fff;background:none;color:#fff;font-size:1em}.btn-intro-video:hover,.btn-intro-video:focus,.btn-intro-video:active{border:1px solid #fff;background:#fff;color:#5970fe}@media only screen and (max-width: 479px){.btn-intro-video{padding-left:12px;padding-right:12px}}.product-main-cta{text-align:center}.product-main-cta .btn{padding:15px 40px;font-weight:400;font-size:1.250em}.product-body-button-block .bundle-cta-tagline{color:#5b5b5b}.product-overview img{max-width:100%}.product-overview .readmore{position:relative}.product-overview .readmore-toggle{margin-top:26px}.course-contact-info{margin:0}.course-contact-info p{margin:10px 0}.course-review__container{margin-bottom:48px}.course-review__container:last-of-type{margin-bottom:0}.course-review__name{margin:0px}.course-review__stars{margin:0px}.course-review__title{margin:0px;font-weight:normal}.review-button{display:inline-block;margin-top:30px;cursor:pointer}.chapter-info{padding:0;list-style:none}.chapter-info li{float:left;display:inline-block;margin:0 5px 5px 0;padding:2px 10px 0;border-radius:3px;background:#f3f3f3;color:#5b5b5b}.chapter-info i{color:#5970fe;font-size:1.125em;vertical-align:middle}.chapter-info span{font-weight:600;font-size:0.688em}.toggle-content{padding:5px 0;background:#f3f3f3;color:#747474;font-weight:600;font-size:0.813em;text-align:center;cursor:pointer}.label{border-radius:3px;display:inline-block;padding:2px 5px;margin:0 5px;float:left;background:#5970fe;color:#fff}.label-free{background:#54c670;float:none}.product-landing .course-promotion{padding:0}.product-landing .course-promotion .coupon{padding:10px;font-size:1em}.product-landing .course-promotion .valid-coupon{background-color:#54c670;color:#fff}.product-landing .course-promotion .invalid-coupon{background-color:#ffed8f;color:#8f7800}@media only screen and (max-width: 767px){.product-landing section{padding-top:40px;padding-bottom:40px}.product-landing section p,.product-landing section ul{font-size:0.938em}}@media only screen and (max-width: 479px){.product-landing .product-main-cta .btn{padding:12px;font-size:1.125em}}.high-convert-landing .btn-intro-video{margin-bottom:10px}.high-convert-landing .product-main-cta{margin-top:30px}.high-convert-landing .course-instructor{padding:20px 0}.high-convert-landing .course-instructor img{max-width:100%}.high-convert-landing .course-instructor .instructor__img-wrap{margin-top:-120px;text-align:center}.high-convert-landing .course-instructor .instructor__img{border-radius:50%;margin-bottom:10px;border:5px solid #ffffff}.high-convert-landing .course-instructor .instructor__details{margin-bottom:36px}.high-convert-landing .course-instructor .instructor__name{font-size:1.250em;font-weight:600}.high-convert-landing .course-curriculum{padding:20px 0;color:grey}.high-convert-landing .course-curriculum .curriculum-chapter-header{padding-bottom:18px;margin-bottom:15px;padding:0px;color:grey}.high-convert-landing .course-curriculum .curriculum-chapter-header .chapter-time{text-align:right}.high-convert-landing .course-curriculum .chapter-header{font-weight:bold}.high-convert-landing .course-curriculum .chapter-list-item__link{display:block}.high-convert-landing .course-curriculum .chapter-list-item__link:hover{background:#f3f3f3}.high-convert-landing .course-curriculum .chapter-list-item{margin-bottom:10px;padding-bottom:10px;list-style:none;border-bottom:1px solid #eee}.high-convert-landing .course-curriculum .chapter-list-item i{position:absolute;top:0px;left:0px;font-size:26px;line-height:28px}.high-convert-landing .course-curriculum .chapter-list-item a{color:grey}.high-convert-landing .course-curriculum .chapter-toggle{border-radius:0;border:0;background:#ffffff}.high-convert-landing .course-curriculum .course-main-cta{padding-top:36px}.landing-header .btn-primary,.landing-header .btn-secondary{margin-bottom:3px;padding:10px 40px;font-size:16px}.landing-header .product__title{font-size:24px;font-weight:500;margin-bottom:10px;margin-top:0px;line-height:30px}.instructor__img{display:inline-block;margin-bottom:25px;border:1px solid #eaeaea;border-radius:50%}.course-instructor .box-shadow{padding:30px}.course-instructor .box-shadow .instructor__name{font-size:26px;font-weight:bold;margin-bottom:10px;margin-top:0px}.course-instructor .box-shadow .course-contact-info{display:inline-block;font-size:18px;font-weight:normal;vertical-align:middle}.course-instructor .box-shadow .course-contact-info p{margin:0px}.curriculum-landing .course-actions{padding:25px 0;border-bottom:1px solid #cdcdcd;background:#f3f3f3}.curriculum-landing .section-title{color:#5b5b5b}.curriculum-landing .btn-intro-video{margin-top:20px}.curriculum-landing .course-body{position:relative}.curriculum-landing .sidebar-filler{position:absolute;right:0;bottom:0;height:100%;border-left:1px solid #cdcdcd}.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-includes ul{display:inline;padding:0;color:#5b5b5b;list-style:none}.curriculum-landing .course-includes li{display:inline-block;margin-right:3px;margin-bottom:6px;padding:5px 6px 3px 4px;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff;color:#5b5b5b;font-size:0.813em;white-space:nowrap}.curriculum-landing .course-includes li:last-of-type{margin-right:0}.curriculum-landing .course-includes i{color:#5970fe;font-weight:400;font-size:1.125em;line-height:1;vertical-align:middle}.curriculum-landing .course-curriculum{padding-right:20px}.curriculum-landing .curriculum-chapter+.curriculum-chapter{margin-top:16px}.curriculum-landing .chapter-toggle{padding:0;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff}.curriculum-landing .curriculum-chapter-header{padding:10px 15px !important}.curriculum-landing .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.curriculum-landing .chapter-header{color:#5970fe;font-weight:600;line-height:1}.curriculum-landing .chapter-list{padding:5px 0}.curriculum-landing .chapter-list-item{position:relative;padding:5px 45px 5px 15px;color:#5b5b5b;font-size:0.875em}.curriculum-landing .chapter-list-item i{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%;right:25px;color:#5b5b5b;font-size:1.250em}.curriculum-landing .chapter-time{float:right;display:inline-block;margin-top:8px;padding:0 10px;border-radius:50%;background:#5970fe;color:#fff;font-size:0.875em;text-align:center}.curriculum-landing .course-details{padding:0 0 40px 18px}.curriculum-landing .course-details .product-overview,.curriculum-landing .course-details .course-instructor{margin-bottom:48px}.curriculum-landing .course-details .social-icons{font-size:1px}.curriculum-landing .course-details .social-icons iframe{vertical-align:middle}.curriculum-landing .course-details .share-btn{display:inline-block;width:75px;vertical-align:middle}.curriculum-landing .course-details .less{overflow:hidden;height:270px}.curriculum-landing .course-details__section{margin-bottom:48px}.curriculum-landing .instructor__details{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;margin:0 0 20px 0;font-weight:600}.curriculum-landing .instructor__img{width:70px;height:70px;margin-right:20px;border:1px solid #cdcdcd;border-radius:50%}.curriculum-landing .multi-product__description{padding:5px 10px;line-height:1.5}.curriculum-landing .multi-product__description .price{font-size:1em}.curriculum-landing .multi-product__description .title{font-size:0.875em}@media only screen and (max-width: 959px){.curriculum-landing .course-body .course-curriculum{margin-bottom:40px}.curriculum-landing .course-curriculum{padding-right:0}.curriculum-landing .course-details{padding:0}.curriculum-landing .sidebar-filler{display:none}}@media only screen and (max-width: 767px){.curriculum-landing .chapter-time{float:none;margin-top:12px}}@media only screen and (max-width: 479px){.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-actions{padding:10px}}.bundle-content{background:#f3f3f3}.bundle-content .section-title{color:#5b5b5b}.bundle-cta-tagline{margin-top:10px;color:#fff}.bundle-content__item{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;padding:10px}.bundle-content__item::after{clear:both;content:"";display:table}.bundle-content__item .row{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}.bundle-content__item-img{border-radius:3px;height:auto;width:100%}.bundle-content__item-title{font-size:1.125em}.bundle-content__item+.bundle-content__item,.bundle-content__item+.bundle-course--hidden,.bundle-course--hidden+.bundle-course--hidden{margin-top:12px}.bundle-see-more-content{padding-top:32px}@media only screen and (max-width: 479px){.bundle-content__item-title{font-size:1em}}.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;margin:0 0 6px 0}.multi-products .multi-product__buy,.course-multi-products .multi-product__buy{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:0}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{border-radius:0;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;font-size:1em}.multi-products .multi-product__description,.course-multi-products .multi-product__description{padding:10px 18px;background:#f3f3f3}.multi-products .multi-product__description .price,.course-multi-products .multi-product__description .price{line-height:1.5;font-weight:600}@media only screen and (max-width: 767px){.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:block;margin-bottom:24px}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{padding:3px}}.user-sign-up .section-title{text-align:center;margin-bottom:30px}.user-sign-up .sign_up__or,.user-sign-up .sign_in__or{margin:15px auto;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.user-sign-up .help-block{display:none}.user-sign-up .has-error .help-block{font-size:0.750em;margin:0;padding:0;display:block}.user-sign-up .checkbox{margin:0}.user-sign-up .remember-me-link{line-height:21px}.user-sign-up .btn-primary{font-size:1em;padding:8px 0}.user-sign-up__alt-logins{text-align:center}.user-sign-up__alt-logins .btn+.btn{margin-left:10px}.user-sign-up__bottom{padding:30px;text-align:center}.user-sign-up__bottom a{font-size:0.938em;color:#5b5b5b}.user-sign-up__bottom a:hover,.user-sign-up__bottom a:focus,.user-sign-up__bottom a:active{text-decoration:underline}@media only screen and (max-width: 767px){.user-sign-up .remember-me-link,.user-sign-up .forgot-password{font-size:0.875em}}@media only screen and (max-width: 479px){.user-sign-up__alt-logins .btn+.btn{margin-top:5px;margin-left:0}}.products__filters{margin-bottom:35px}.products__filters select{-webkit-appearance:menulist;-moz-appearance:menulist;-ms-appearance:menulist;-o-appearance:menulist;appearance:menulist}.products__filters [type="search"]{width:100%}.student-dashboard__hero{padding:40px 30px;background:#ffffff;border-bottom:1px solid #eee}.student-dashboard__title{margin-top:0;font-size:1.875em;font-weight:300;line-height:1;margin-bottom:1.5rem}@media only screen and (max-width: 767px){.products__filter-box{margin-bottom:10px}.student-dashboard__hero{padding:20px 15px}.student-dashboard__title{font-size:1.625em}}.checkout-form-container__inner{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;padding:20px}.checkout-form-container__inner::after{clear:both;content:"";display:table}.checkout-form__body .section-title{margin:0 0 25px 0;line-height:1.25;font-size:1.250em}.checkout-form__bottom{padding-top:25px;text-align:center}.checkout-form__bottom a{color:#5970fe}.checkout-form__purchase{padding:0 10px;margin-bottom:15px;text-align:center}.checkout-form__purchase-img{border-radius:2px;max-width:180px;height:auto;margin-bottom:15px}.checkout-form__purchase-description{max-width:90%;margin:0 auto;font-size:1.063em}.order-security{padding-top:20px;margin-bottom:20px}.coupon-form__coupon-code [type="text"]{width:100%}img[src*="googleadservices.com"]{position:absolute;top:-2px;left:-2px}#progressbar{margin:0 auto 25px;padding:0;width:70%;counter-reset:step;list-style:none}#progressbar::after{clear:both;content:"";display:table}#progressbar li{list-style-type:none;color:#5b5b5b;text-align:center;font-size:0.688em;width:50%;float:left;position:relative;z-index:2}#progressbar li:before{border-radius:50%;content:counter(step);counter-increment:step;width:20px;height:20px;line-height:20px;display:block;font-size:0.813em;color:#fff;background:#dadada;margin:0 auto 5px auto;z-index:2}#progressbar li:after{content:'';width:100%;height:1px;background:#dadada;position:absolute;left:calc( -50% + 10px);top:9px;z-index:-1}#progressbar li:first-child:after{content:none}#progressbar li.active:before,#progressbar li.active:after{background:#5970fe}.order-product__list{font-size:1.125em;margin-bottom:10px;text-align:left}.order-product__total-amount,.order-product__coupon-name{padding-top:12px}.order-product__coupon .coupon-check{margin-bottom:10px;text-align:right;font-size:1em}.order-product__coupon .coupon{padding:10px 0 20px}.checkout-auth-container .credit-card{padding-top:10px}.checkout-auth-container .credit-card .btn{margin-top:20px}.checkout-auth-container .credit-card__expiry-date .expiration-date{padding-top:11px}.checkout-auth-container .paypal-button-row{text-align:center}.checkout-auth-container .paypal-button-row__text{font-size:11px;margin:5px 0}.checkout-thankyou .multi-products{margin-bottom:50px;padding-top:20px}.checkout-thankyou__course{padding:5px 0}.checkout-thankyou__course+.checkout-thankyou__course{margin-top:8px}.checkout-thankyou__course:nth-of-type(even){background:#f3f3f3}.checkout-thankyou__course-name{font-size:1.125em;line-height:1.8}.checkout-bundle__more_enrollments_limit{margin:10px}@media only screen and (max-width: 767px){.checkout-thankyou__course-name,.checkout-thankyou__button{text-align:center}.checkout-thankyou__course{padding:10px}.checkout-thankyou__course:nth-of-type(even){background:none}}.checkout-auth-container #local-payment-errors,.checkout-auth-container #coupon-errors,.checkout-auth-container .payment-errors{display:none;color:red}.checkout-auth-container #local-payment-errors{margin-bottom:10px}.checkout-auth-container #coupon-errors{padding-top:10px;font-size:0.750em}.checkout-form #errors{border-radius:3px;list-style:none;font-weight:300;font-size:0.875em;background:#ffd4cc;color:#e75725;margin-top:20px;padding:15px;line-height:145%}.checkout-form .alert-error{font-size:0.750em;color:#e75725}.checkout-form .error-title{font-weight:bold;margin-bottom:5px}.checkout-form .alert-error a{text-decoration:underline;color:inherit}.checkout-form .alert-hide{display:none}.checkout-form .has-error .form-control{border-color:#e75725}.checkout-form #errors{margin-top:0;margin-bottom:20px}@media only screen and (min-width: 768px){.coupon-form__coupon-button .btn{padding:10px 15px}}@media only screen and (max-width: 767px){.credit-card__expiry-date{margin-bottom:10px}.credit-card__expiry-date .expiration-date{padding-top:0}.checkout-form-container .form-group{margin-bottom:12px}.checkout-form-container .section-title{font-size:1.125em}.checkout-form-container__inner{padding:15px}.coupon-form__coupon-code,.coupon-form__applied{margin-bottom:10px}.coupon-form__coupon-button{text-align:right}.coupon-form__coupon-button .btn{width:auto;min-width:100px}#progressbar{width:100%;margin-bottom:15px}#progressbar li:before{width:10px;height:10px;line-height:10px;content:"\00a0"}#progressbar li:after{left:calc( -50% + 5px);top:5px}.checkout-form__purchase-img{max-width:120px}.checkout-form__purchase-description{font-size:0.875em;width:100%}}@media only screen and (max-width: 479px){.order-product__list{font-size:0.875em}.order-product__coupon .coupon-check{font-size:0.875em;margin-bottom:20px}}.video-landing .product-banner{height:auto;padding:100px 0 240px}.video-landing .product__title{font-weight:bold}.video-landing .title-block{margin-bottom:15px}.video-landing .embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.video-landing .embed-container iframe,.video-landing .embed-container object,.video-landing .embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.video-landing .course-description{position:relative}.video-landing .course-video{width:50%;margin:-200px auto 60px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.39)}.video-landing .course-instructor{margin-top:48px;background:#f3f3f3;color:#5b5b5b}.video-landing .course-instructor img{max-width:100%}.video-landing .instructor__img-wrap{margin-top:-154px;text-align:center}.video-landing .instructor__details{margin-bottom:36px}.video-landing .instructor__name{font-size:1.625em;text-align:center}.video-landing .instructor__title{text-align:center}.video-landing .instructor__img{border-radius:50%;margin-bottom:20px;height:170px;width:170px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:45px}.video-landing .chapter-name{font-size:1.625em;line-height:1.2;padding-right:30px;text-align:right}.video-landing .chapter-time{padding-top:10px;padding-right:30px;text-align:right}.video-landing .chapter-list{border-left:1px solid #eee}.video-landing .chapter-list-item{position:relative;padding:4px 30px 4px 15px}.video-landing .chapter-list-item i{position:absolute;right:0;top:3px;font-size:26px;color:#5b5b5b}.video-landing .course-related-products{background:#eee}.video-landing .multi-product__item{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;margin-bottom:15px;padding:15px;text-align:center}.video-landing .multi-product__item::after{clear:both;content:"";display:table}.video-landing .multi-product__item .price{font-size:22px;text-transform:uppercase}.video-landing .multi-product__description{margin-bottom:20px}@media only screen and (max-width: 959px){.video-landing .product-banner{padding:50px 0 200px}}@media only screen and (max-width: 767px){.video-landing .product-banner{padding:30px 0 150px}.video-landing .course-video{width:50%;margin:-150px auto 40px}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:30px;padding-top:30px;border-top:1px solid #e7e7e7}.video-landing .chapter-name{margin-bottom:20px;text-align:left;font-size:1.250em}.video-landing .chapter-list{border-left:none}.video-landing .chapter-list-item{padding-left:0}.video-landing .product__title{margin-bottom:10px}.video-landing .instructor__img-wrap{margin-top:-100px}.video-landing .instructor__img{border-radius:50%;height:130px;width:130px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .instructor__details{margin-bottom:18px}}@media only screen and (max-width: 479px){.video-landing .product-banner{padding:30px 0 60px}.video-landing .course-video{width:70%;margin:-55px auto 30px}}.student-profile .btn-upload{opacity:0;display:inline-block;width:0;width:100%}.student-profile .account-content-profile-img{margin:20px 0 40px}.student-profile .account-content-profile-img img{height:100px;width:100px}.student-profile #feedback-area{padding-top:10px;font-size:13px}.student-profile #error_explanation{border-radius:4px;position:relative;font-size:14px;background:#ffd4cc;color:#e75725;padding:12px 30px;margin:0 0 30px 0;text-align:center}.student-profile #error_explanation h2{font-size:14px;margin:10px 0;color:#e75725}.student-profile #error_explanation ul{list-style:none}.account-content,.affiliate-content{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;padding:20px}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content .account-content-footer,.account-content .affiliate-content-footer,.affiliate-content .account-content-footer,.affiliate-content .affiliate-content-footer{padding-top:30px}.account-content__back-link{margin-bottom:30px;display:inline-block}.account-menu,.affiliate-menu{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff}.account-menu::after,.affiliate-menu::after{clear:both;content:"";display:table}.account-menu .list-group-item,.affiliate-menu .list-group-item{padding:15px 10px;border:0}.account-menu a.list-group-item:hover,.account-menu a.list-group-item:focus,.affiliate-menu a.list-group-item:hover,.affiliate-menu a.list-group-item:focus{color:#5970fe;background:#f3f3f3}.account-menu a.list-group-item.active,.account-menu a.list-group-item.active:hover,.account-menu a.list-group-item.active:focus,.affiliate-menu a.list-group-item.active,.affiliate-menu a.list-group-item.active:hover,.affiliate-menu a.list-group-item.active:focus{color:#5970fe;background:#f3f3f3;border-color:none}.account-menu .badge,.affiliate-menu .badge{background:#5970fe;color:#fff}.account-menu a.list-group-item.active>.badge,.account-menu .nav-pills>.active>a>.badge,.affiliate-menu a.list-group-item.active>.badge,.affiliate-menu .nav-pills>.active>a>.badge{background:#5970fe;color:#fff}.reset-password-container{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;padding:20px}.reset-password-container::after{clear:both;content:"";display:table}.reset-password-container .reset-password__title{margin-top:0}.single-task-view{background:#f4f5f7 url(https://assets.thinkific.com/assets/defaults/bg-shapes-grey-f1a814e2f65da464153ef67885ca0311.png) top left;overflow-y:auto}.single-task-view .container{padding-top:15px;margin-bottom:20px}.single-task-view .container .thinkific-logo{width:150px;margin-bottom:10px}.single-task-view .single-task-view__card{border-radius:3px;border:1px solid #ddd;position:relative;background:#ffffff;padding:20px}.single-task-view .single-task-view__card::after{clear:both;content:"";display:table}.single-task-view .single-task-view__title{line-height:1.25;margin-bottom:0.6em}.single-task-view .single-task-view__subtitle{margin-bottom:1.5em}@media only screen and (max-width: 767px){.single-task-view .container{padding-top:15px}}.banner-home{height:auto;padding-top:70px;padding-bottom:40px;text-align:center}.banner-home h1{font-size:50px;color:#fff;margin:0px 0 40px;text-align:center}.box-tab{background-color:#e6e6e6;padding:40px;border-radius:4px;margin-bottom:40px}.search-course{margin:auto;width:90%;position:relative}.search-course .form-control{height:50px;background:#fff;padding-right:50px}.search-course .btn{position:absolute;top:0px;right:0px;padding:11px 16px;font-size:20px;border-radius:0px 3px 3px 0px}.btn-blue{background:#5970ff;color:#fff;padding:6px 12px}.product-cards__container .course-card{height:auto}.product-cards__container .course-card .course-card-panel .course-card__cta{padding:10px 10px}.product-cards__container .course-card .course-card-panel .course-card__cta .star-rating{margin-bottom:15px}.product-cards__container .course-card .course-card-panel .course-card__body{padding:0px 10px}#page-content{box-shadow:inset 0px 3px 5px rgba(0,0,0,0.1)}.footer{height:auto}.footer .footer-menu{overflow:hidden}.footer .footer-menu ul{width:25%;float:left;margin-bottom:10px;padding:0}.footer .footer-menu ul li{margin-bottom:10px;list-style:none;font-size:16px;color:#e7e7e7}.footer .footer-menu ul li a{color:#e7e7e7}.footer .footer-menu ul.w30{width:30%}.footer .copyright{color:#666;font-size:13px}.footer .footer_social_links a{margin-left:10px}.footer_social{width:auto;float:right}.footer_social_links a.social_link{background-color:#fff;border-radius:5px;display:inline-block;height:40px;margin:0 7px;padding:9px 0;font-size:25px;text-align:center;transition:all 0.5s linear 0s;width:40px}.footer_social_links a.social_link .fa{color:#363636}.footer_social_links li.fa-facebook{font-size:28px}.cbp-container{max-width:1200px;margin:0px auto}.container{width:960px;padding:0}@media only screen and (max-width: 960px){.cbp-container,.container{width:auto}.footer{padding:20px 30px}}.landing-header{color:#666  !important}.sidebarcoursedetailboxcheckout{text-align:center;background-color:#fff !important;border-radius:6px;box-shadow:-2px 3px 2px 2px rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.2),0 1px 5px 0 rgba(0,0,0,0.12);margin-bottom:10px !important;padding:5px}.course-detail-meta ul{margin:0;padding:0}.course-detail-meta ul li{padding:5px 0 5px 0;text-align:left;font-weight:500;list-style:none}.course-detail-meta ul li label{width:50%;display:inline-block;font-weight:400}.container-detail-course .col-md-4{width:28%;float:right}.container-detail-course .col-md-8{width:72%;float:left}.menuhoz{margin-top:40px;border-radius:5px;padding:5px 0 5px 0}.menuhoz ul{clear:both;margin:0;padding:0;display:table;width:100%}.menuhoz ul li{list-style:none;font-size:14px;margin-right:100px;margin-left:100px;margin-bottom:5px;margin-top:5px;display:table-cell;text-align:center;width:1%}.menuhoz ul li a{font-weight:500;color:#333}.menuhoz ul li a.active{color:#576eff}.box-shadow{background-color:#fff !important;border-radius:5px;box-shadow:-1px 1px 2px 2px rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.2),0 1px 5px 0 rgba(0,0,0,0.12);margin-bottom:40px !important;padding:10px}h2.titlecontent{margin:20px 0px;text-align:center;font-size:28px;color:#333;text-align:left;font-weight:bold}.instruction-top{position:relative;min-height:40px;margin-bottom:15px}.instruction-top img{width:40px;margin:0px !important}.instruction-top .create-by{display:inline-block;vertical-align:middle;color:#afafaf}.instructor__bio h4{margin-bottom:10px;font-weight:bold;font-size:17px}.sidebarcoursedetailboxcheckout .course-card__price{font-size:24px}.hide-desktop{display:none}.course-curriculum ul{padding-left:0px}.course-curriculum ul li{list-style:none;position:relative;padding-left:33px}.course-curriculum ul li .icon-chapter{position:absolute;top:0px;left:0px;font-size:26px;line-height:28px}.curriculum-chapter{padding:20px}.btn-primary{color:#fff !important}.course-card__description{line-height:20px;margin-top:10px;line-height:15px;margin-top:10px;height:32px;overflow:hidden;font-size:12px;color:#5b5b5b}.course-curriculum li a.btn{margin-left:30px}#ht-main-menu{border-bottom:1px solid #ccc;border-top:1px solid #ccc}#ht-main-menu .main-courselistcategory{position:relative}#ht-main-menu .main-courselistcategory ul{padding:0px;display:table;width:100%;margin:0px}#ht-main-menu .main-courselistcategory ul li{list-style:none;display:table-cell}#ht-main-menu .main-courselistcategory ul li a{display:block;padding:13px 5px;color:#5b5b5b;text-align:center;font-weight:600;font-size:14px}#ht-main-menu .main-courselistcategory ul li:hover a{background:#fff}#ht-main-menu .main-courselistcategory .wrap-see-all>a{display:block;padding:13px 5px;text-align:center;line-height:1.5;color:#5970ff !important}#ht-main-menu .main-courselistcategory .wrap-see-all:hover ul{display:block}#ht-main-menu .main-courselistcategory .wrap-see-all ul{width:200px;background:#fff;border-radius:5px;border:1px solid #ddd;position:absolute;right:0px;top:47px;display:none;z-index:1000}#ht-main-menu .main-courselistcategory .wrap-see-all ul li{display:block}#ht-main-menu .main-courselistcategory .wrap-see-all ul li a{padding:5px 10px;text-align:left}#ht-main-menu .main-courselistcategory .wrap-see-all ul li a:hover{color:#5970ff !important}.box-search-header{width:100%}.box-search-header .search-course{margin:0px;margin-top:10px;width:100%}.box-search-header .search-course .form-control{height:42px}.box-search-header .btn{padding:6px 13px;padding-bottom:7px}.homepage .box-search-header{display:none}.bundle-row .section-title{font-size:20px;overflow:hidden}.bundle-row .section-title a{float:right}.homepage header{padding-bottom:24px;padding-top:24px}#bundle-contents{margin:0px -5px}.feature-card{width:20%;padding-right:5px;padding-left:5px}.feature-card .course-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:19px}.feature-card .course-card__img-container{padding:10px 10px 0px 10px}.feature-card .price-rating-fea{overflow:hidden}.feature-card .price-rating-fea .course-card__price{float:right}.feature-card .price-rating-fea .star-rating{float:left}.course-search{padding:20px 0px}.course-search .frametopsearchpage{margin:0 0 20px 0}.course-search .frametopsearchpage .form-control{border:1px solid #ccc}.course-search .framesearchtotal{padding-top:15px;font-size:15px}.course-search .framesearchtotal span{font-weight:500}article.course{background-color:#FFF !important;padding:15px;border-radius:5px;box-shadow:-3px 3px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.2),0 1px 5px 0 rgba(0,0,0,0.12);margin-bottom:10px !important;height:185px}article.course .course-card-panel{position:relative;padding:0px 200px 0px 155px}article.course .course-card-panel .panel-left{width:155px;position:absolute;top:0px;left:0px}article.course .course-card-panel .panel-left .course-card__img{height:145px;object-fit:cover}article.course .course-card-panel .panel-mid{min-height:145px;padding-left:30px;padding-right:15px}article.course .course-card-panel .panel-rigth{width:190px;position:absolute;top:0px;right:0px;min-height:145px;padding-left:15px;text-align:center;border-left:1px solid #e5e5e5}article.course .course-card-panel .panel-rigth .star-rating{margin-bottom:30px}article.course .course-card-panel .panel-rigth .course-card__price{margin-bottom:40px}article.course .course-card-panel h2{clear:none;line-height:27px;font-size:20px;margin:0 0 2px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}article.course .course-card-panel .sensei-course-meta{margin-top:6px}article.course .course-card-panel .sensei-course-meta .meta-item{display:inline-block;float:left;padding:0 10px 0 0;margin:0 10px 0 0;width:auto;font-size:14px;border-right:1px solid #e7e7e7}article.course .course-card-panel .percent-sale{position:absolute;top:50px;right:-16px;border-radius:3px 0px 0px 3px;background:#ff446a;color:#fff;padding:0px 5px;font-size:11px}article.course .course-card-panel .sensei-course-meta .meta-item.meta-item-last{border:0px}article.course .course-card-panel .course-card__instructor-name{margin:15px 0px 15px 0px}article.course .course-card-panel .course-card__description{margin:15px 0px 15px 0px}.double-pad-top{margin-bottom:75px;padding-top:20px;overflow:hidden}.pagination{margin:20px 0;clear:both;font-size:15px}.pagination .current{border:1px solid #fff;-webkit-box-shadow:0px 0px 3px 2px #f0f0f0;-moz-box-shadow:0px 0px 3px 2px #f0f0f0;box-shadow:0px 0px 3px 2px #f0f0f0}.pagination span,.pagination a{padding:10px 17px;margin-right:7px;border-radius:2px;font-size:15px;color:#454545;border:1px solid #ccd0d1;background-color:#FFF;font-weight:500;display:inline-block}.pagination a.disable,.pagination a.disable:hover{background-color:#fbfbfb;color:#aeb4b6}.pagination a:hover{color:#576eff}.sensei-course-meta .chartpng{background:transparent url("https://dii490k186y2s.cloudfront.net/43144/82647/chart-1499442387.png") no-repeat scroll center center;float:left;height:16px;line-height:1.6;margin-right:5px;padding:20px 0 0;width:16px;margin-top:-2px}.no-padding-left{padding-left:0}.f-left{float:left}.f-right{float:right}#list_course_in_feature{margin-bottom:100px}.related-topics{margin-bottom:15px}.section-title .see-more{font-size:0.6em}@media only screen and (min-width: 960px){.box-search-header{display:table-cell;width:1px;white-space:nowrap;width:500px}.box-search-header .search-course{margin-top:0px}.homepage header{height:72px}}@media only screen and (max-width: 1200px){#page-content{padding:0px 15px}.feature-card{width:33.33%}}.slick-slider .slick-prev,.slick-slider .slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;padding:0px 16px 0px 10px !important;height:100%;padding:0;-webkit-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%);cursor:pointer;color:transparent;border:0 !important;outline:none;background:rgba(0,0,0,0.3) !important;z-index:10}.slick-slider .slick-prev:before,.slick-slider .slick-next:before{font-family:'FontAwesome';font-size:30px;line-height:1;opacity:1;color:white}.slick-slider .slick-next:before{content:"\f105"}.slick-slider .slick-prev{display:none !important}.slick-slider .slick-next{right:0px}.background-menu,.logo-mobile{display:none}.user-mobile,.toggle-menu{display:none}#content-push{max-width:1200px;margin:0px auto}.top-menu-mobile{overflow:hidden;padding:10px;border-bottom:1px solid #efefef}.top-menu-mobile .back-category{float:left;color:#333;margin-top:6px}.top-menu-mobile .back-category i{margin-right:5px;font-size:18px}.top-menu-mobile .close-menu{float:right}.close-menu{font-size:28px}.price_search label{font-weight:normal;font-size:13px}.course-search-title{color:#5970ff;font-size:14px;font-weight:bold}.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:20px;padding-left:20px}.checkbox+.checkbox{margin-top:-5px}.checkbox label{display:inline-block;position:relative;padding-left:5px;cursor:pointer}.checkbox label::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #cccccc;border-radius:3px;background-color:#fff;-webkit-transition:border 0.15s ease-in-out, color 0.15s ease-in-out;-o-transition:border 0.15s ease-in-out, color 0.15s ease-in-out;transition:border 0.15s ease-in-out, color 0.15s ease-in-out}.checkbox label::after{display:inline-block;position:absolute;width:16px;height:16px;left:0;top:0;margin-left:-20px;padding-left:3px;padding-top:1px;font-size:11px;color:#555555;line-height:18px}.checkbox-primary input[type="checkbox"]:checked+label::before{background-color:#5970ff;border-color:#5970ff}.checkbox input[type="checkbox"]:checked+label::after{font-family:'FontAwesome';content:"\f00c";color:#fff}.input-range{position:relative;padding:10px 0px}.input-range:before{content:' ';height:4px;background:#ddd;position:absolute;top:8px;left:0px;width:100%}.percent-range{height:4px;position:absolute;top:8px;left:0px;background:#5970ff}.circle-range{border-radius:50%;width:20px;height:20px;box-shadow:0px 0px 3px rgba(0,0,0,0.3);position:absolute;top:0px;background:#5970ff}input[type=range]{display:block;width:100%;position:absolute;top:0px;left:0px;cursor:pointer}.fooshowchange{color:#5970ff;text-align:center;position:absolute;top:-26px;left:0px;width:100%}.clear{clear:both}.course-search-left h4{font-size:17px;margin:0px;font-weight:bold}.course-search-left hr{margin:10px 0px}.title-page{font-size:22px;color:#fff;background:#5970ff;padding:30px 0px}.filter-a{position:fixed;bottom:20px;left:50%;border-radius:40px;padding:6px 20px;margin-left:-50px;background:#5970ff;z-index:100;color:#fff;font-size:12px;line-height:19px;box-shadow:0px 0px 4px 2px rgba(0,0,0,0.2)}.filter-a img{height:16px;vertical-align:middle}.filter-a span{vertical-align:text-top}.button-left-search{position:fixed;bottom:0px;left:0px;width:100%;background:#fff;padding:15px}.button-left-search .btn{padding:10px}.button-left-search .btn-default{border:1px solid #5970ff !important;background:#fff  !important;color:#5970ff  !important}.hiddenbody{overflow:hidden}.course-a{display:block;color:#5b5b5b !important}.coupon-discount-price-old{text-decoration:line-through;color:red;margin-right:5px;font-size:28px;font-weight:400}.slider-padding{padding:15px}.modal-video{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,0.4)}.modal-content-video{margin:auto;border:1px solid #888;width:80%;position:relative}.close-modal-video{color:#aaaaaa;float:right;font-size:28px;font-weight:bold;position:absolute;top:5px;right:20px;z-index:100;color:#fff}.close-modal-video:hover,.close-modal-video:focus{color:#000;text-decoration:none;cursor:pointer}.also-viewed{padding:15px !important}.also-viewed h2.titlecontent{font-size:18px;margin:10px 0px}.also-viewed .see-more{font-size:14px !important}.also-viewed .slick-slider .slick-prev{left:0px}.also-viewed .slick-prev:before{content:"\f104"}.also-viewed .slick-slider .slick-prev,.also-viewed .slick-slider .slick-next{padding:0px 26px 0px 16px !important}.video-img-course{position:relative;cursor:pointer}.video-img-course span{width:90px;height:90px;line-height:90px;border-radius:50%;text-align:center;font-size:50px;color:#fff;background:rgba(0,0,0,0.3);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.video-img-course .fa{margin-left:8px}.slider-padding.stick{text-align:center;background-color:#fff !important;border-radius:6px;box-shadow:-2px 3px 2px 2px rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.2),0 1px 5px 0 rgba(0,0,0,0.12);margin-bottom:10px !important;padding:5px;position:fixed;top:10px}.remove-fix{position:absolute !important}@media only screen and (max-width: 959px){.landing-header{padding:20px 0}.landing-header .product__title{font-size:24px}}@media only screen and (max-width: 767px){.landing-header{padding:20px 0px}.landing-header .product__title{font-size:20px}.box-search-header .btn{display:none}.box-search-header.open{display:block}.box-search-header{position:absolute;top:-1px;right:0px;padding:0px 48px;padding-left:55px;display:none}.box-search-header .search-course .form-control{height:34px;border-radius:0px !important;-webkit-appearance:none;border:1px solid #ddd}.search-mobile{position:absolute;top:5px;right:6px;font-size:20px;padding:10px}.homepage .search-mobile{display:none}.toggle-menu{z-index:10}}@media all and (min-width: 768px) and (max-width: 1200px){.header-logo__container{vertical-align:middle}.title-page{margin:0px -15px;padding:15px;font-size:18px}.course-search>.row>.col-sm-4{width:25%}.course-search>.row>.col-sm-8{width:75%}article.course .course-card-panel{padding:0px 150px 0px 130px}article.course .course-card-panel .panel-rigth{width:144px}article.course .course-card-panel .panel-left{width:136px}article.course .course-card-panel .sensei-course-meta .meta-item{text-align:center;margin:0px;width:33.33%}article.course .course-card-panel .sensei-course-meta .meta-item i{display:block;float:none;margin:auto;font-size:17px}.hidden-sm{display:none}header{padding:15px}header .column{padding:0px}.header-nav__container{display:table-cell;vertical-align:middle}header .dropdown,header .header-nav__item{display:inline-block}.header-logo__container{display:table-cell;width:1px;white-space:nowrap}header .column{display:table;width:100%}header .header-nav{padding:0px;text-align:right}}@media only screen and (max-width: 767px){.title-page{margin:0px -15px;padding:15px;font-size:18px}.course-search-left{padding-bottom:72px;position:fixed;width:100%;height:100%;z-index:1000;top:0px;left:0px;background:#fff;-webkit-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);-webkit-transition:300ms ease all;transition:300ms ease all;padding:0px}.search-content{overflow-y:scroll;padding:20px;height:100%;position:relative}.course-search-left.open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}#ht-main-menu{overflow:auto}.bountundle-row{margin-bottom:30px}.homepage #page-content{padding:0px}.site-landing__courses{padding:10px 15px}.box-tab{border-radius:0px}.sensei-course-meta .chartpng{float:none;margin:auto}article.course .course-card-panel .sensei-course-meta>.meta-item{margin:0px;display:block;border-left:1px solid #e7e7e7 !important;width:33.33%;float:left;text-align:center}article.course .course-card-panel .sensei-course-meta>.lineborderright{border:0px !important}.logo-mobile{display:block;margin-top:20px}#ht-main-menu .main-courselistcategory ul li{float:none;display:block}.header-nav__item a,#ht-main-menu .main-courselistcategory ul li a{padding-left:10px;font-weight:normal;position:relative;text-align:left}#ht-main-menu .main-courselistcategory ul li a{border-bottom:1px solid #efefef}article.course .course-card-panel .sensei-course-meta{width:100% !important;float:none;border:0px !important}.header-nav__item a:after{content:"\f105";font-family:FontAwesome;font-size:16px;color:#666;position:absolute;top:10px;right:10px;font-weight:normal}.header-nav__container,#ht-main-menu{position:fixed;z-index:10000;left:-300px;width:270px;height:100%;top:0;height:100% !important;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;padding-bottom:20px;background-color:#f8f8f8;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);background-color:#FFF;z-index:10000;-webkit-transition:300ms ease all;transition:300ms ease all;display:block !important}.background-menu{position:fixed;width:100%;height:100%;top:0px;left:0px;z-index:1000}.header-nav__container.open,#ht-main-menu.open{-webkit-transform:translateX(300px);transform:translateX(300px);-webkit-transform:translate3d(300px, 0, 0);transform:translate3d(300px, 0, 0)}#bundle-contents{margin-left:-12px}#list_course_in_feature{margin-bottom:30px}.slider-item{background:none;padding:0px}.feature-card{width:200px}.course-curriculum li a.btn{margin-left:0px}.hide-desktop{display:block}.hide-mobile{display:none}#page-content{padding:0px 15px}.mobile-video-landing,.intro-video-mobile{margin:0px -15px}.footer{height:auto;position:relative}.footer .logo{margin-bottom:30px}.footer .logo img{width:30px}.footer .footer-menu{overflow:hidden}.footer .footer-menu ul{width:50% !important}.footer .footer_social{position:absolute;top:30px;right:0px}.footer .footer_social_links a.social_link{width:28px;height:28px;padding:5px 0;margin:0 6px;font-size:18px}.footer .copyright{text-align:center}.container-detail-course .col-md-4{width:auto;float:none}.container-detail-course .col-md-8{width:auto;float:none}header{padding-bottom:13px !important;padding-top:13px !important;padding-left:30px;text-align:center}.toggle-menu{position:absolute;left:-45px;top:-13px;border:0px;border-right:1px solid #ddd;padding:16px 13px;font-size:20px;background:none;display:block}.box-tab{padding:25px 15px}.banner-home{padding:30px 0px;padding-bottom:10px}.banner-home h1{font-size:25px;margin-bottom:30px}.search-course{width:100%}.section-title{margin-top:0px;margin-bottom:20px;font-size:20px}.section-title .see-more{font-size:14px}.header-nav__item{border-bottom:1px solid #efefef}.header-nav__item a{text-transform:inherit}.header-nav{padding-top:0px}.user-mobile{display:block;border-bottom:1px solid #efefef;padding:10px;text-align:left}.user-mobile img{border-radius:0px;margin:0px;margin-right:5px}.box-shadow{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14)}h2.titlecontent{font-size:20px;margin-top:0px}.product-overview h4{font-size:18px}.course-instructor .box-shadow{padding:0px;box-shadow:none;background:none !important;margin-bottom:0px !important}.course-instructor .box-shadow .instructor__name{line-height:20px;font-size:14px;margin:0px}.instructor__title{font-size:14px;margin:0px}.action-mobile-course.stick{position:fixed;top:0px;left:0px;width:100%;padding:15px;background:#fff;z-index:1000;border-bottom:1px solid #ddd}article.course .course-card-panel{padding:0px}article.course .course-card-panel .panel-left{position:relative;top:0px;left:0px;width:100%}article.course{height:auto;padding:0px;box-shadow:none;border:1px solid #eee}article.course .course-card-panel .panel-rigth{position:relative;top:0px;left:0px;width:auto;border:0px;padding:10px;margin:0px;min-height:10px}.cart-top-course{padding:10px}article.course .course-card-panel .panel-mid{min-height:10px}article.course .course-card-panel h2{font-size:14px}.review-course-mobile{display:inline-block;vertical-align:middle;height:18px;margin-left:10px}article.course .course-card-panel .course-card__instructor-name{margin:0px}.name-card-mobile{display:inline-block;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;vertical-align:middle}article.course .course-card-panel .panel-rigth .course-card__price{margin-bottom:0px}.price-button{position:relative;padding-left:100px}.price-button .course-card__price{position:absolute;top:10px;left:0px;width:100px;text-align:center}article.course .course-card-panel .sensei-course-meta{margin:15px 0px}article.course .course-card-panel .sensei-course-meta .meta-item i{display:block;font-size:18px;margin-bottom:5px}}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiMjAxNzA3MDYyMzEwMDkvKF9fVEVNUExBVEVfXykuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIyMDE3MDcwNjIzMTAwOS8oX19URU1QTEFURV9fKSIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL191bnBhY2suc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZpbHRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNDAwaSw1MDAsNzAwLDcwMGknKTtcbkBpbXBvcnQgXCJib3VyYm9uXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOb3JtYWxpemUgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhyey1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0saW5wdXRbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym9yZGVyOjA7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfXRkLHRoe3BhZGRpbmc6MH1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNBU1MgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS50aXRsZS1wYWdlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbG91cnM6IFNpdGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJHByaW1hcnktY29sb3I6ICM1OTcwZmU7XG4kc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuXG4vLyBDb2xvdXJzOiBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRwcmltYXJ5LWJ0bi1jb2xvcjogIzU5NzBmZTtcbiRzZWNvbmRhcnktYnRuLWNvbG9yOiAjZDlkOWQ5O1xuXG4vLyBDb2xvdXJzOiBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuJGhlYWRlci10ZXh0LWNvbG9yOiAjNDM0MzQzO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRmb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzM1MzUzNTtcblxuLy8gQ29sb3VyczogTmV1dHJhbFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kY29sb3ItbmV1dHJhbDogI2NkY2RjZDtcbiRjb2xvci1uZXV0cmFsLWxpZ2h0LTE6ICNlZWVlZWU7XG4kY29sb3ItbmV1dHJhbC1saWdodC0yOiAjZjNmM2YzO1xuJGNvbG9yLW5ldXRyYWwtbGlnaHQtMzogI2ZlZmVmZTtcbiRjb2xvci1uZXV0cmFsLWRhcmstMTogI2IyYjJiMjtcblxuLy8gQ29sb3VyczogVGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kdGV4dC1jb2xvcjogIzViNWI1YjtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmZmZmO1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyBDb2xvdXJzOiBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzdWNjZXNzLWdyZWVuOiAjNTRjNjcwO1xuJGFsZXJ0LXllbGxvdzogI2ZmZWQ4ZjtcblxuXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzY3JlZW4tc20tbWluOiA0ODBweDtcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcbiRzY3JlZW4tbGctbWluOiA5NjBweDtcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7XG4kc2NyZWVuLXh4bC1taW46IDE2MDBweDtcblxuJHNjcmVlbi14cy1tYXg6ICgkc2NyZWVuLXNtLW1pbiAtIDEpO1xuJHNjcmVlbi1zbS1tYXg6ICgkc2NyZWVuLW1kLW1pbiAtIDEpO1xuJHNjcmVlbi1tZC1tYXg6ICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLVxuJGJvcmRlci1yYWRpdXM6IDNweDtcbiRzZWN0aW9uLW1heC13aWR0aDogMTI1MHB4O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgaXMgYSBzaW1wbGUgbWl4aW4gZm9yIGNhcmQgc3R5bGVzLiBDYXJkIHN0eWxlcyBhcmUgdXNlZCBvbiBjb3Vyc2Vcbi8vIGNhcmRzLCBhbmQgcGFzc3dvcmQgcmVzZXQgYm94ZXMuIFRoaXMgaXMgbWVhbnQgdG8gd29yayBmb3IgZXZlcnl0aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2FyZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjoxcHggc29saWQgI2RkZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG5cbi8vIFRoaXMgbWFrZXMgdGV4dCBjb2xvdXIgY2hhbmdlIGlmIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBpcyB0b28gbGlnaHQgb3IgZGFya1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gZHluYW1pYy10ZXh0KCRjb2xvcikge1xuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gODUpIHtcbiAgICBAcmV0dXJuICR0ZXh0LWNvbG9yOyAvLyBMaWdodGVyIGJhY2tncm91bmQsIHJldHVybiBkYXJrIGNvbG9yXG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHRleHQtY29sb3ItbGlnaHQ7IC8vIERhcmtlciBiYWNrZ3JvdW5kLCByZXR1cm4gbGlnaHQgY29sb3JcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUYWJsZSBvZiBjb250ZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gMC4gQmFzaWNzXG4vLyAxLiBUeXBlXG4vLyAyLiBGb3Jtc1xuLy8gMy4gQnV0dG9uc1xuLy8gNC4gTGF5b3V0XG4vLyA1LiBDb3Vyc2UgQ2FyZHNcbi8vIDYuIEhlYWRlclxuLy8gNy4gRm9vdGVyXG4vLyA4LiBSZXZpZXcgU3RhcnNcbi8vIDkuIFBhZ2luYXRpb25cbi8vIDEwLiBTaXRlIExhbmRpbmcgUGFnZVxuLy8gMTEuIFNoYXJlZCBwcm9kdWN0IGxhbmRpbmcgcGFnZSBzdHlsZXNcbi8vIDEyLiBIaWdoIENvbnZlcnNpb24gbGFuZGluZyBwYWdlXG4vLyAxMy4gQ3VycmljdWx1bSBsYW5kaW5nIHBhZ2Vcbi8vIDE0LiBCdW5kbGUgbGFuZGluZyBwYWdlXG4vLyAxNS4gTXVsdGkgUHJvZHVjdHNcbi8vIDE2LiBTaWduIHVwIC8gU2lnbiBpblxuLy8gMTcuIE15IENvdXJzZXMvRGFzaGJvYXJkXG4vLyAxOC4gQWxsIENvdXJzZXMvU3R1ZGVudCBEYXNoYm9hcmRcbi8vIDE5LiBDaGVja291dFxuLy8gMjAuIENvdXJzZSBMYW5kaW5nIFBhZ2UgLSBWaWRlbyBDZW50cmljXG4vLyAyMS4gU3R1ZGVudC9BZmZpbGlhdGUgZWRpdCBhY2NvdW50XG4vLyAyMi4gRm9yZ290IFBhc3N3b3JkXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAwLiBCYXNpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmh0bWwsIGJvZHkge1xuICBiYWNrZ3JvdW5kOiAkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxLiBUeXBlIENvbnZlcnRlZCB0byBFTSB1c2luZyBodHRwOi8vcHh0b2VtLmNvbS9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuMTg4ZW07IC8vMzVweFxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuNDM4ZW07IC8vIDIzcHhcbn1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxufVxuXG5wIHtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxufVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCAxMiUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG51bCwgb2wge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vLyBSZW1vdmVzIGxpc3Qgc3R5bGVcbi51bnN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gZm9yIHNhbml0eVxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAyLiBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbmlucHV0OmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6dHJhbnNwYXJlbnQ7IH1cblxuLmZvcm0tY29udHJvbCB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEkgYW0gZm91bmQgb25seSBvbiB0aGUgY29sbGVjdGlvbnMgcGFnZS5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjFzIGVhc2UpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkdGV4dC1jb2xvciwwLjkpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cbn1cblxuLnJhZGlvLCAuY2hlY2tib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBVc2VkIG9uIHRoZSBTaWduIGluL1NpZ24gdXAvQ2hlY2tvdXQgZmxvdy4gU3R5bGVzIHRoZSBzZXBhcmF0b3IgYmV0d2VlbiB0aGVcbi8vIHNvY2lhbCBzaWduIGluIGJ1dHRvbnMgYW5kIHRoZSBzaWduIGluIHdpdGggZW1haWwgZm9ybS5cbi5mb3JtX19zZXBhcmF0b3Ige1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAzLiBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQnV0dG9uOiBNb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS1cbi5idG4tbGFyZ2Uge1xuICBwYWRkaW5nOiAxMnB4O1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxufVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBCdXR0b246IENvbG91cnNcbi8vIC0tLS0tLS0tLS0tLS1cbi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IzU5NzBmZjtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1idG4tY29sb3IsIDEwJSk7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1idG4tY29sb3IpO1xuICB9XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1idG4tY29sb3I7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHNlY29uZGFyeS1idG4tY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHNlY29uZGFyeS1idG4tY29sb3IsIDEwJSk7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkc2Vjb25kYXJ5LWJ0bi1jb2xvcik7XG4gIH1cbn1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtZGFyay0xO1xuICBjb2xvcjogI2ZmZmZmZjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1uZXV0cmFsLWRhcmstMSwgMTAlKTtcbiAgfVxufVxuXG4vLyBUaGlzIGlzIHVzZWQgYXMgdGhlIExpbmtlZGluIGJ1dHRvbiBvbiB0aGUgc2lnbiB1cC5cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLmxpbmtlZGluLXNpZ25pbiB7XG4gIGJhY2tncm91bmQ6ICM0ODc1YjQ7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCM0ODc1YjQsIDEwJSk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA0LiBMYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiN3cmFwIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC8vIEVxdWFsIHRvIGZvb3RlciBoZWlnaHRcbiAgbWFyZ2luLWJvdHRvbTogLTE1MXB4O1xuICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaXRlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbn1cblxuLy8gV3JhcDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHhsLW1pbikge1xuICAjd3JhcCB7XG4gICAgLy8gbWF4LXdpZHRoOiAkc2NyZWVuLXh4bC1taW47XG4gICAgLy8gbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2VuKCRzaXRlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xuICB9XG59XG5cblxuLy8gQ29udGFpbmVyIG9uIHRoZSBjaGVja291dC9wYXltZW50IGZsb3csIHNpZ24gaW4vc2lnbiB1cCBmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuI2NvbnRlbnQtcHVzaCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG4vLyBDb250ZW50LXB1c2g6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgI2NvbnRlbnQtcHVzaCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICNjb250ZW50LXB1c2gge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG59XG5cblxuLy8gQ29udGFpbmVycyBmb3IgaW50ZXJpb3IgY29udGVudCBzZWN0aW9ucy4gTW9zdGx5IHN1cnJvdW5kaW5nIHRoZSBjb3Vyc2UgY2FyZHNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdHMtd3JhcHBlcixcbi5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuLmNoZWNrb3V0LWZvcm0sXG4uc3R1ZGVudC1wcm9maWxlIHtcbiAgbWF4LXdpZHRoOiAkc2VjdGlvbi1tYXgtd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG59XG5cbi8vIENvbnRhaW5lcnM6IE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5zaXRlLWxhbmRpbmdfX2NvdXJzZXMsXG4gIC5wcm9kdWN0cy13cmFwcGVyLFxuICAuc3R1ZGVudC1kYXNoYm9hcmQtd3JhcHBlcixcbiAgLmNoZWNrb3V0LWZvcm0sXG4gIC5zdHVkZW50LXByb2ZpbGUge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbHVtbnM6IE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIC5jb2x1bW4ge1xuICAgIC8vIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgLy8gcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDUuIENvdXJzZSBDYXJkc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcmQge1xuICBAaW5jbHVkZSBjYXJkO1xufVxuXG4vLyBDYXJkOiBNb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTUge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTE1IHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcmQtLXBhZGRpbmctMjAge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5cbi8vIENhcmQ6IFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJvdHRvbS1tYXJnaW4tMTAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2FyZC0tYm90dG9tLW1hcmdpbi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8vIENvdXJzZSBjYXJkIGltYWdlXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uY291cnNlLWNhcmQge1xuICBoZWlnaHQ6IDQ2OHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb3Vyc2UtY2FyZF9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDNweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMjIwcHg7XG59XG5cblxuLy8gQ291cnNlIGNhcmQgYm9keVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuXG4uY291cnNlLWNhcmRfX2luc3RydWN0b3ItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG59XG5cbi5jb3Vyc2UtY2FyZF9fcHJpY2Uge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMThweDsgLy8xNXB4XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIC5mcmVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fdGl0bGUge1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE4cHhcbiAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICBhIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuLmNvdXJzZS1jYXJkX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBsaWdodGVuKCR0ZXh0LWNvbG9yLDI1JSk7XG4gIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG59XG5cblxuLy8gQ291cnNlIGNhcmQgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5jb3Vyc2UtY2FyZF9fY3RhLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLy8gUHJvZ3Jlc3MgQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ucHJvZ3Jlc3MtY2FyZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAuY291cnNlLWNhcmRfX2JvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLWNhcmQtcHJvZ3Jlc3Mge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLnByb2dyZXNzLWNvbXBsZXRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcm9ncmVzcy1saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1wZXJjZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1iYXIge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDYXJkczogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAuY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIwMnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbilcbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5jb3Vyc2UtY2FyZCB7XG4gICAgaGVpZ2h0OiA0ODFweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYzZW07IC8vMTdweFxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY291cnNlLWNhcmQge1xuICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19ib2R5IHtcbiAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDYuIEhlYWRlciBOYXZcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIGEge1xuICAgIGNvbG9yOiAjNDM0MzQzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGhlYWRlci10ZXh0LWNvbG9yLCAyMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXI6IExvZ29cbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyLWxvZ29fX2ltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDI1cHg7XG4gIG1heC13aWR0aDogaW5pdGlhbDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uaGVhZGVyLXNjaG9vbC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG59XG5cblxuLy8gTmF2YmFyOiBMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItbmF2X19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhlYWRlci1uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItdXNlci1hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogLTI1cHggNXB4IC0yMXB4O1xufVxuXG4uZHJvcGRvd24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBCb290c3RyYXAgc3R5bGVzXG4uZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMjJweDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMDtcblxuICAmID4gbGkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgJiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICM0MzQzNDM7XG4gIH1cblxuICAmID4gbGkgPiBhOmhvdmVyLFxuICAmID4gbGkgPiBhOmFjdGl2ZSxcbiAgJiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgYmFja2dyb3VuZDojZWVlO1xuICB9XG59XG5cbi8vIE5hdmJhcjogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1uYXZfX21vYmlsZS1idG4ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBjb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaGVhZGVyLXRleHQtY29sb3I7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhcjogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG5cbiAgaGVhZGVyIC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci1sb2dvX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGVmdCxcbiAgLmhlYWRlci1uYXZfX3JpZ2h0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9faXRlbSArIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5oZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxuXG4gIC5oZWFkZXItc2Nob29sLW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogODVweDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBNb2JpbGUgbWVudSBhZGRzIG9wZW4gY2xvc2UgY2xhc3Mgd2hlbiB0b2dnbGVkXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIub3BlbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cblxuICAuaGVhZGVyLWxvZ29fX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX21vYmlsZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cblxuICAuZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDcuIEZvb3RlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3Mvc3RpY2t5LWZvb3Rlci9cbmZvb3RlciwgI3dyYXA6YWZ0ZXIge1xuICBoZWlnaHQ6IDE1MXB4O1xufVxuXG5mb290ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8vICAgbWF4LXdpZHRoOiAkc2NyZWVuLXh4bC1taW47XG4gIGJhY2tncm91bmQ6ICMzNTM1MzU7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgY29sb3I6I2ZmZjtcblxuXG4gIGEge1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1uYXYge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbn1cblxuLmZvb3Rlci1uYXZfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG59XG5cbi5mb290ZXItbmF2X19pdGVtICsgLmZvb3Rlci1uYXZfX2l0ZW0ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmZvb3Rlci1jb3B5cmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5mb290ZXItcG93ZXJlZC1ieSB7XG4gIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG59XG5cbi8vIEZvb3RlcjogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHhsLW1pbikge1xuICBmb290ZXIge1xuICAgIC8vYXgtd2lkdGg6ICRzY3JlZW4teHhsLW1pbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLy8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcbiAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcbiAgfVxufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA4LiBSZXZpZXcgU3RhcnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zdGFyLXJhdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNakJ3ZUNJZ2FHVnBaMmgwUFNJeU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHOXNlV2R2YmlCbWFXeHNQU0lqUkVSRVJFUkVJaUJ3YjJsdWRITTlJakV3TERBZ01UTXVNRGtzTmk0MU9ETWdNakFzTnk0Mk16a2dNVFVzTVRJdU56WTBJREUyTGpFNExESXdJREV3TERFMkxqVTRNeUF6TGpneUxESXdJRFVzTVRJdU56WTBJREFzTnk0Mk16a2dOaTQ1TVN3MkxqVTRNeUFpTHo0OEwzTjJaejQ9XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qQndlQ0lnYUdWcFoyaDBQU0l5TUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0c5c2VXZHZiaUJtYVd4c1BTSWpSa1pFUmpnNElpQndiMmx1ZEhNOUlqRXdMREFnTVRNdU1Ea3NOaTQxT0RNZ01qQXNOeTQyTXprZ01UVXNNVEl1TnpZMElERTJMakU0TERJd0lERXdMREUyTGpVNE15QXpMamd5TERJd0lEVXNNVEl1TnpZMElEQXNOeTQyTXprZ05pNDVNU3cyTGpVNE15QWlMejQ4TDNOMlp6ND1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICBpIH4gaSB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB+IGkge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICBpIH4gaSB+IGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnN0YXItcmF0aW5nX19pbnB1dCB7XG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyICsgaSxcbiAgICAmOmNoZWNrZWQgKyBpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5zdGFyLXJhdGluZ19fZmlsbGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnN0YXJfcmF0aW5nX19zaW5nbGUge1xuICB3aWR0aDogMjVweDtcbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gOS4gUGFnaW5hdGlvblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3ItbmV1dHJhbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xufVxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYSxcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiBsaSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3BhbiB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTAuIFNpdGUgTGFuZGluZyBQYWdlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4vLyAgIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xufVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXItY29udGVudCB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICRzZWN0aW9uLW1heC13aWR0aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZHVjdC1jYXJkc19fY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIFxufVxuXG5cbi8vIFNpdGUgTGFuZGluZzogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXJ7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDExLiBTaGFyZWQgUHJvZHVjdCBMYW5kaW5nIFN0eWxlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3QtbGFuZGluZyB7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgbGluZS1oZWlnaHQ6IDEuODtcblxuICBzZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgcCBhIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHRpdGxlIHRleHQgb24gZXZlcnkgc2VjdGlvbi5cbiAgLy8gRXg6ICdDb3Vyc2UgT3ZlcnZpZXcnXG4gIC8vIC0tLS0tLS0tLS0tLS0tXG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDQycHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAyLjI1MGVtOyAvLzM2cHhcbiAgfVxufVxuXG4vLyBUaGlzIGlzIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGZvciB0aGUgY291cnNlLlxuLy8gSXQncyBub3QgZm91bmQgaW4gdGhlIGluc3RydWN0b3Igc2VjdGlvbi4gSXQncyBmb3VuZCBpbiB0aGVcbi8vIENvdXJzZSA+IERldGFpbHMgc2VjdGlvbiBhdCB0aGUgYm90dG9tLiBJdCBjYW4gY29udGFpbiB0ZXh0IGFuZCBIVE1MXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiAucHJvZHVjdF9fc3VidGl0bGUge1xuICAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IzY2NiAhaW1wb3J0YW50O1xufVxuLy8gUHJvZHVjdCBMYW5kaW5nOiBQcm9kdWN0IEJhbm5lciAodGhlIGdpYW50IGltYWdlIHRoYXQgc3BhbnMgYWNyb3NzIHRoZSB0b3Agb2YgdGhlIHBhZ2UpXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAudGl0bGUtYmxvY2sge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDIuNDM4ZW07IC8vMzlweFxuICB9XG5cbiBcblxuICAucHJvZHVjdF9fcHJpdmF0ZS10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3BzIG9wZW4gdGhlIHZlbm9ib3ggd2luZG93XG4vLyAtLS0tLS0tLS0tLS1cblxuLmJ0bi1pbnRyby12aWRlbyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5idG4taW50cm8tdmlkZW8ge1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4XG4gIH1cbn1cblxuLy8gQ2FsbCB0byBhY3Rpb24gYmxvY2tzLiBUaGV5IGxpc3QgaW4gdGhlIHBhZ2UgaGVhZGVyIGFuZCBpbiBhIHNlY3Rpb25cbi8vIGluc2lkZSB0aGUgcGFnZSBib2R5LlxuLy8gLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LW1haW4tY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gIH1cbn1cblxuLnByb2R1Y3QtYm9keS1idXR0b24tYmxvY2sge1xuICAuYnVuZGxlLWN0YS10YWdsaW5lIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBQcm9kdWN0IE92ZXJ2aWV3XG4vLyAtLS0tLS0tLS0tLS1cblxuLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VzIHBlb3BsZSBwdXQgaW4gdGhlIHJlZGFjdG9yIGJveFxuICAvLyBvbiB0aGUgY3VycmljdWx1bSBsYW5kaW5nIHBhZ2VcbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucmVhZG1vcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5yZWFkbW9yZS10b2dnbGUge1xuICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gIH1cbn1cblxuLy8gU2hvd3MgdXAgdW5kZXIgdGhlIGNvdXJzZSBkZXNjcmlwdGlvbiBhbmQgaXMgZWRpdGFibGUgYnkgdGhlIHVzZXJcbi5jb3Vyc2UtY29udGFjdC1pbmZvIHtcbiAgbWFyZ2luOiAwO1xuXG4gIHAge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogQ291cnNlIFJldmlld3Ncbi8vIC0tLS0tLS0tLS0tLVxuXG4uY291cnNlLXJldmlld19fY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY291cnNlLXJldmlld19fbmFtZSB7XG4gIG1hcmdpbjogMHB4O1xufVxuXG4uY291cnNlLXJldmlld19fc3RhcnMge1xuICBtYXJnaW46IDBweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3RpdGxlIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5yZXZpZXctYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogQ2hhcHRlci9DdXJyaWN1bHVtIHNlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4uY2hhcHRlci1pbmZvIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XG4gICAgcGFkZGluZzogMnB4IDEwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cblxuICBpIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuNjg4ZW07IC8vMTFweFxuICB9XG59XG5cbi50b2dnbGUtY29udGVudCB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICBjb2xvcjogZGFya2VuKCRjb2xvci1uZXV0cmFsLWxpZ2h0LTIsIDUwJSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44MTNlbTsgLy8xM3B4XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIExhYmVsIHVzZWQgdG8gc2hvdyBcIkZyZWVcIiBjb250ZW50IG9uIHRoZSBsYW5kaW5nIHBhZ2VzXG4vLyAtLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi5sYWJlbC1mcmVlIHtcbiAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtZ3JlZW47XG4gIGZsb2F0OiBub25lO1xufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IFByb21vdGlvbnNcbi8vIFRoaXMgc2hvd3MgdXAgd2hlbiB0aGUgdXNlciBpcyBnaXZlbiBhIGNvdXBvbiBsaW5rXG4vLyBjb3Vyc2UtdXJsLz9jb3Vwb249MTAwXG4vLyAtLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtbGFuZGluZyAuY291cnNlLXByb21vdGlvbiB7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmNvdXBvbiB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gIH1cblxuICAudmFsaWQtY291cG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1ncmVlbjtcbiAgICBjb2xvcjogbGlnaHRlbigkc3VjY2Vzcy1ncmVlbiwgNTAlKTtcbiAgfVxuXG4gIC5pbnZhbGlkLWNvdXBvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LXllbGxvdztcbiAgICBjb2xvcjogZGFya2VuKCRhbGVydC15ZWxsb3csIDUwJSk7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcblxuICAucHJvZHVjdC1sYW5kaW5nIHtcblxuICAgIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHAsXG4gICAgc2VjdGlvbiB1bCB7XG4gICAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICAgIH1cblxuXG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLnByb2R1Y3QtbGFuZGluZyB7XG4gICAgLnByb2R1Y3QtbWFpbi1jdGEgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTIuIERlZmF1bHQgLyBIaWdoIGNvbnZlcnNpb24gbGFuZGluZyBwYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaGlnaC1jb252ZXJ0LWxhbmRpbmcgLmJ0bi1pbnRyby12aWRlbyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5oaWdoLWNvbnZlcnQtbGFuZGluZyAucHJvZHVjdC1tYWluLWN0YSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5oaWdoLWNvbnZlcnQtbGFuZGluZyAuY291cnNlLWluc3RydWN0b3Ige1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIC8vIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIC8vIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VzIHBlb3BsZSBwdXQgaW4gdGhlIHJlZGFjdG9yIGJveFxuICAvLyBvbiB0aGUgY3VycmljdWx1bSBsYW5kaW5nIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjZmZmZmZmO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbn1cblxuLy8gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmc6IENvdXJzZSBDdXJyaWN1bHVtXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uaGlnaC1jb252ZXJ0LWxhbmRpbmcgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgY29sb3I6IGdyZXk7XG5cbiAgLy8gU3R5bGVzIGNoYXB0ZXIgYmxvY2sgaW4gdGhlIGN1cnJpY3VsdW0gbGlzdFxuXG5cbiAgLy8gQ29udGFpbmVyIGZvciB0aGUgY2hhcHRlciBoZWFkZXJcbiAgLmN1cnJpY3VsdW0tY2hhcHRlci1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGNvbG9yOiBncmV5O1xuXG4gICAgLmNoYXB0ZXItdGltZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgXG4gIC5jaGFwdGVyLWhlYWRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuXG4gICAgaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogZ3JleTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHRoZSBidXR0b24gdGhhdCBvcGVuIHVwIHRoZSBjaGFwdGVyIGNvbnRlbnRzIGxpc3RcbiAgLmNoYXB0ZXItdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLmNvdXJzZS1tYWluLWN0YSB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7XG4gIH1cbn1cbi5sYW5kaW5nLWhlYWRlciAuYnRuLXByaW1hcnksIC5sYW5kaW5nLWhlYWRlciAuYnRuLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG4ubGFuZGluZy1oZWFkZXIgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbn1cbi5pbnN0cnVjdG9yX19pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgLmJveC1zaGFkb3cge1xuICAgICAgICBwYWRkaW5nOjMwcHg7XG4gICAgICAgIC5pbnN0cnVjdG9yX19uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY291cnNlLWNvbnRhY3QtaW5mb3tcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEzLiBDdXJyaWN1bHVtIExhbmRpbmcgcGFnZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmN1cnJpY3VsdW0tbGFuZGluZyB7XG4gIC5jb3Vyc2UtYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMjVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICB9XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIC5idG4taW50cm8tdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAvLyBNYWtlcyB0aGUgdHdvIGNvbHVtbnMgbG9vayBsaWtlIHRoZXkgbWF0Y2hcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmNvdXJzZS1ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc2lkZWJhci1maWxsZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IENvdXJzZSBJbmNsdWRlcyBMaXN0XG4gIC8vIFNob3dzIHRoZSBsaXR0bGUgMSB2aWRlbywgMSB0ZXh0LCBhbmQgY291cnNlIHRpbWUgZWxlbWVudHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmNvdXJzZS1pbmNsdWRlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgcGFkZGluZzogNXB4IDZweCAzcHggNHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBmb250LXNpemU6IDAuODEzZW07IC8vMTNweFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IENvdXJzZSBDdXJyaWN1bHVtXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICB9XG5cbiAgLmNoYXB0ZXItdG9nZ2xlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHRoZSBjaGFwdGVyIGhlYWRlclxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5jaGFwdGVyLWhlYWRlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuY2hhcHRlci1saXN0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDVweCA0NXB4IDVweCAxNXB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuXG4gICAgaSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci10aW1lIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIERldGFpbHMgU2lkZWJhclxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4IDE4cHg7XG5cbiAgICAucHJvZHVjdC1vdmVydmlldyxcbiAgICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGdldHMgR29vZ2xlIHRvIGZhbGwgaW50byBwbGFjZVxuICAgIC5zb2NpYWwtaWNvbnMge1xuICAgICAgZm9udC1zaXplOiAxcHg7XG5cbiAgICAgIC8vIFRoaXMgZ2V0cyBGYWNlYm9vayB0byBmYWxsIGludG8gcGxhY2VcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IGFuIG9wdGlvbmFsIHdpZHRoIGZvciB5b3VyIGJ1dHRvbiB3cmFwcGVyc1xuICAgIC5zaGFyZS1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5sZXNzIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDI3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb3Vyc2UtZGV0YWlsc19fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogTXVsdGktcHJvZHVjdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICB9XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIC5jb3Vyc2UtYm9keSB7XG4gICAgICAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb3Vyc2UtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLWZpbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAuY291cnNlLWluY2x1ZGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE0LiBCdW5kbGUgTGFuZGluZyBQYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCdW5kbGUgY29udGVudCBpcyB0aGUgbGlzdCBvZiBQcm9kdWN0cyB0aGF0IG1ha2VzIHVwIHRoZSBidW5kbGUuXG4vLyBXZSBkaWRuJ3QgdXNlIG5vcm1hbCBjb3Vyc2UgY2FyZHMgYmVjYXVzZSBzb21lb25lIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDUwK1xuLy8gY291cnNlcyB3aGljaCBtYWtlcyBmb3IgYSB2ZXJ5IGxvbmcgcGFnZS5cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5idW5kbGUtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBhIHNpbmdsZSBsaW5lIHRoYXQgc2l0cyB1bmRlciB0aGUgYnV0dG9uLiBLaW5kIG9mIGEgbGl0dGxlIGV4dHJhIHVwc2VsbFxuLmJ1bmRsZS1jdGEtdGFnbGluZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0ge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgfVxufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0taW1nIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbSArIC5idW5kbGUtY29udGVudF9faXRlbSxcbi5idW5kbGUtY29udGVudF9faXRlbSArIC5idW5kbGUtY291cnNlLS1oaWRkZW4sXG4uYnVuZGxlLWNvdXJzZS0taGlkZGVuICsgLmJ1bmRsZS1jb3Vyc2UtLWhpZGRlbiB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5idW5kbGUtc2VlLW1vcmUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuXG5cbi8vIEJ1bmRsZSBMYW5kaW5nIFBhZ2U6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLmJ1bmRsZS1jb250ZW50X19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4O1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE1LiBNdWx0aSBQcm9kdWN0c1xuLy8gSWYgYW4gYWRtaW4gc2VsbHMgbXVsdGlwbGUgcHJvZHVjdHMgb24gYSBzaW5nbGUgbGFuZGluZyBwYWdlIHlvdSB3aWxsIGdldFxuLy8gdGhpcyBzZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi5tdWx0aS1wcm9kdWN0cyxcbi5jb3Vyc2UtbXVsdGktcHJvZHVjdHMge1xuXG4gIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIG1hcmdpbjogMCAwIDZweCAwO1xuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2J1eSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2N0YSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zIChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudCAoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG5cbiAgICAucHJpY2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG59XG5cbi8vIE11bHRpIFByb2R1Y3RzOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5tdWx0aS1wcm9kdWN0cyxcbiAgLmNvdXJzZS1tdWx0aS1wcm9kdWN0cyB7XG5cbiAgICAubXVsdGktcHJvZHVjdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLm11bHRpLXByb2R1Y3RfX2N0YSB7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE3LiBTaWduIHVwIC8gU2lnbiBpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnVzZXItc2lnbi11cCB7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLnNpZ25fdXBfX29yLFxuICAuc2lnbl9pbl9fb3Ige1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5oZWxwLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhhcy1lcnJvciAuaGVscC1ibG9jayB7XG4gICAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLnJlbWVtYmVyLW1lLWxpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG5cbiAgLmJ0bi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gICAgcGFkZGluZzogOHB4IDA7XG4gIH1cbn1cblxuLy8gTGlua2VkaW4gYnV0dG9uIGFuZCBhbnkgb3RoZXIgc29jaWFsL2xvZ2luIGJ1dHRvbnNcbi51c2VyLXNpZ24tdXBfX2FsdC1sb2dpbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi51c2VyLXNpZ24tdXBfX2JvdHRvbSB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBhIHtcbiAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2lnbiBpbi9TaWduIHVwOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC51c2VyLXNpZ24tdXAge1xuICAgIC5yZW1lbWJlci1tZS1saW5rLFxuICAgIC5mb3Jnb3QtcGFzc3dvcmQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICB9XG4gIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC51c2VyLXNpZ24tdXBfX2FsdC1sb2dpbnMge1xuICAgIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMTguIEFsbCBDb3Vyc2VzL1N0dWRlbnQgRGFzaGJvYXJkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucHJvZHVjdHNfX2ZpbHRlcnMge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShtZW51bGlzdCk7XG4gIH1cblxuICBbdHlwZT1cInNlYXJjaFwiXXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBTdHVkZW50IERhc2hib2FyZCAoZW5yb2xsbWVudHMpXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5zdHVkZW50LWRhc2hib2FyZF9faGVybyB7XG4gIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsLWxpZ2h0LTE7XG59XG5cbi5zdHVkZW50LWRhc2hib2FyZF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4vLyBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5wcm9kdWN0c19fZmlsdGVyLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5zdHVkZW50LWRhc2hib2FyZF9faGVybyB7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICB9XG5cbiAgLnN0dWRlbnQtZGFzaGJvYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMTkuIENoZWNrb3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2hlY2tvdXQtZm9ybS1jb250YWluZXJfX2lubmVyIHtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvZHkge1xuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvdHRvbSB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXgtd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZS1kZXNjcmlwdGlvbiB7XG4gIG1heC13aWR0aDogOTAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC1zaXplOiAxLjA2M2VtOyAvLzE3cHhcbn1cblxuLy8gVGhlIHNlY3VyZSBjaGVja291dCBpbWFnZXMgb24gdGhlIGJvdHRvbSBsZWZ0XG4ub3JkZXItc2VjdXJpdHkge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvdXBvbi1mb3JtX19jb3Vwb24tY29kZSB7XG4gIFt0eXBlPVwidGV4dFwiXXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBFbnN1cmUgdGhhbmt5b3UgcGFnZSB0cmFja2luZyBwaXhlbCBpcyBub3QgdmlzaWJsZVxuaW1nW3NyYyo9XCJnb29nbGVhZHNlcnZpY2VzLmNvbVwiXSB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG59XG5cbi8vIENoZWNrb3V0OiBQcm9ncmVzcyBiYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuI3Byb2dyZXNzYmFyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogMCBhdXRvIDI1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA3MCU7XG4gIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNwcm9ncmVzc2JhciBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEzZW07IC8vMTNweFxuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKCAtNTAlICsgMTBweCk7XG4gICAgdG9wOiA5cHg7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmU6YmVmb3JlLFxuICAmLmFjdGl2ZTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogQ29uZmlybSBPcmRlclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBMaXN0IG9mIHByb2R1dHMgYmVpbmcgYm91Z2h0IGFuZCB0aGVpciB0b3RhbCBwcmljZVxuLm9yZGVyLXByb2R1Y3RfX2xpc3Qge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ub3JkZXItcHJvZHVjdF9fdG90YWwtYW1vdW50LFxuLm9yZGVyLXByb2R1Y3RfX2NvdXBvbi1uYW1lIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5vcmRlci1wcm9kdWN0X19jb3Vwb24ge1xuXG4gIC5jb3Vwb24tY2hlY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLmNvdXBvbiB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gIH1cbn1cblxuLy8gQ2hlY2tvdXQ6IFBheW1lbnQgSW5mb1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuXG4gIC5jcmVkaXQtY2FyZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgLmV4cGlyYXRpb24tZGF0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICB9XG4gIH1cblxuICAucGF5cGFsLWJ1dHRvbi1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wYXlwYWwtYnV0dG9uLXJvd19fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbjogNXB4IDA7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogVGhhbmsgeW91XG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC10aGFua3lvdSAubXVsdGktcHJvZHVjdHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2Uge1xuICBwYWRkaW5nOiA1cHggMDtcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICB9XG59XG5cbi5jaGVja291dC10aGFua3lvdV9fY291cnNlLW5hbWUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4uY2hlY2tvdXQtYnVuZGxlX19tb3JlX2Vucm9sbG1lbnRzX2xpbWl0IHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBUaGFuayB5b3Vcbi8vIC0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2UtbmFtZSxcbiAgLmNoZWNrb3V0LXRoYW5reW91X19idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja291dC10aGFua3lvdV9fY291cnNlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ2hlY2tvdXQ6IEVycm9yc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuICAjbG9jYWwtcGF5bWVudC1lcnJvcnMsXG4gICNjb3Vwb24tZXJyb3JzLFxuICAucGF5bWVudC1lcnJvcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gIC8vIEVycm9ycyBmb3IgYmFkIGNyZWRpdCBjYXJkIG51bWJlciwgb3IgaW52YWxpZCBleHBpcmF0aW9uXG4gICNsb2NhbC1wYXltZW50LWVycm9ycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICNjb3Vwb24tZXJyb3JzIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICB9XG59XG5cbi5jaGVja291dC1mb3JtIHtcbiAgI2Vycm9ycyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIGJhY2tncm91bmQ6ICNmZmQ0Y2M7XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDUlO1xuICB9XG5cbiAgLmFsZXJ0LWVycm9yIHtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICAgIGNvbG9yOiAjZTc1NzI1O1xuICB9XG5cbiAgLmVycm9yLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cblxuICAuYWxlcnQtZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAuYWxlcnQtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTc1NzI1O1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtICNlcnJvcnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiAuYnRuIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIC5leHBpcmF0aW9uLWRhdGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyX19pbm5lciB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWNvZGUsXG4gIC5jb3Vwb24tZm9ybV9fYXBwbGllZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAjcHJvZ3Jlc3NiYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBsaTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gICAgfVxuXG4gICAgbGk6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYyggLTUwJSArIDVweCk7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5vcmRlci1wcm9kdWN0X19saXN0IHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICB9XG5cbiAgLm9yZGVyLXByb2R1Y3RfX2NvdXBvbiAuY291cG9uLWNoZWNrIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIwLiBDb3Vyc2UgTGFuZGluZyBQYWdlIC0gVmlkZW8gQ2VudHJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnZpZGVvLWxhbmRpbmcge1xuXG4gIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjQwcHg7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLnRpdGxlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4gIC5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuICAuZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNvdXJzZS1kZXNjcmlwdGlvbiB7XG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jb3Vyc2UtdmlkZW8ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luOiAtMjAwcHggYXV0byA2MHB4O1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4zOSk7XG4gIH1cblxuICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWctd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTE1NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICB9XG5cbiAgLmluc3RydWN0b3JfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIHdpZHRoOiAxNzBweDtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDI5cHggLTZweCByZ2JhKDAsMCwwLDAuMik7XG4gIH1cblxuICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxuXG4gIC5jaGFwdGVyLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmNoYXB0ZXItdGltZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3Qge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDRweCAzMHB4IDRweCAxNXB4O1xuXG4gICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuY291cnNlLXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTE7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9faXRlbSB7XG4gICAgQGluY2x1ZGUgY2FyZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cblxuLy8gVmlkZW8gTGFuZGluZyBQYWdlOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogNTBweCAwIDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDE1MHB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtdmlkZW8ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogLTE1MHB4IGF1dG8gNDBweDtcbiAgICB9XG5cbiAgICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkdGV4dC1jb2xvciwgNTUlKTtcbiAgICB9XG5cbiAgICAuY2hhcHRlci1uYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICB9XG5cbiAgICAuY2hhcHRlci1saXN0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cblxuICAgIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZy13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBib3gtc2hhZG93OiA1cHggNXB4IDI5cHggLTZweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLnZpZGVvLWxhbmRpbmcge1xuXG4gICAgLnByb2R1Y3QtYmFubmVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCA2MHB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtdmlkZW8ge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogLTU1cHggYXV0byAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAyMS4gU3R1ZGVudC9BZmZpbGlhdGUgZWRpdCBhY2NvdW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc3R1ZGVudC1wcm9maWxlIHtcblxuICAvLyBVcGxvYWQgc3R1ZGVudCBpbnN0cnVjdG9yIGltYWdlXG4gIC5idG4tdXBsb2FkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5hY2NvdW50LWNvbnRlbnQtcHJvZmlsZS1pbWcge1xuICAgIG1hcmdpbjogMjBweCAwIDQwcHg7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAjZmVlZGJhY2stYXJlYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgI2Vycm9yX2V4cGxhbmF0aW9uIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZkNGNjO1xuICAgIGNvbG9yOiAjZTc1NzI1O1xuICAgIHBhZGRpbmc6IDEycHggMzBweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBjb2xvcjogI2U3NTcyNTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdHVkZW50IGVkaXQgYWNjb3VudDogQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQtY29udGVudCxcbi5hZmZpbGlhdGUtY29udGVudCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC5hY2NvdW50LWNvbnRlbnQtZm9vdGVyLFxuICAuYWZmaWxpYXRlLWNvbnRlbnQtZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxufVxuXG4uYWNjb3VudC1jb250ZW50X19iYWNrLWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLy8gU3R1ZGVudCBlZGl0IGFjY291bnQ6IEFjY291bnQgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQtbWVudSxcbi5hZmZpbGlhdGUtbWVudSB7XG4gIEBpbmNsdWRlIGNhcmQ7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtOmhvdmVyLFxuICBhLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlcixcbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICBib3JkZXItY29sb3I6IG5vbmU7XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+IC5iYWRnZSxcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGluay1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyMi4gRm9yZ290IFBhc3N3b3JkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucmVzZXQtcGFzc3dvcmQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMjBweDtcblxuICAucmVzZXQtcGFzc3dvcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjMuIFNpbmdsZSBUYXNrIFZpZXdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zaW5nbGUtdGFzay12aWV3IHtcbiAgYmFja2dyb3VuZDogI2Y0ZjVmNyBpbWFnZS11cmwoXCJkZWZhdWx0cy9iZy1zaGFwZXMtZ3JleS5wbmdcIikgdG9wIGxlZnQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgLmNvbnRhaW5lciB7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAudGhpbmtpZmljLWxvZ28ge1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXRhc2stdmlld19fY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgLnNpbmdsZS10YXNrLXZpZXdfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTtcbiAgfVxuXG4gIC5zaW5nbGUtdGFzay12aWV3X19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAuc2luZ2xlLXRhc2stdmlldyAge1xuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItaG9tZSB7XG4gICAgaGVpZ2h0OmF1dG87XG4gICAgcGFkZGluZy10b3A6NzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwcHggMCA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuLmJveC10YWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5zZWFyY2gtY291cnNlIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggM3B4IDNweCAwcHg7XG4gICAgfVxufVxuLmJ0bi1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiM1OTcwZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG59XG4ucHJvZHVjdC1jYXJkc19fY29udGFpbmVyIHtcbiAgICAuY291cnNlLWNhcmQge1xuICAgICAgICBcbiAgICAgICAgaGVpZ2h0OmF1dG87XG5cbiAgICAgICAgLmNvdXJzZS1jYXJkLXBhbmVsIHtcbiAgICAgICAgICAgXG4gICAgICAgICAgICAuY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5jb3Vyc2UtY2FyZF9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvdXJzZS1jYXJkX19jdGEge1xuICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5jb3Vyc2UtY2FyZF9fcHJpY2Uge1xuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3Vyc2UtY2FyZF9fYm9keSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4jcGFnZS1jb250ZW50IHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDVweCByZ2JhKDAsMCwwLDAuMSk7XG59XG5cbi5mb290ZXIge1xuICAgIGhlaWdodDphdXRvO1xuICAgIC5sb2dve1xuICAgICAgICBcbiAgICB9XG4gICAgLmZvb3Rlci1tZW51IHtcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFx0ICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaSB7XG4gICAgXHQgICAgICAgIFxuICAgIFx0ICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFx0ICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgXHRmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBcdGNvbG9yOiAjZTdlN2U3O1xuICAgICAgICAgICAgXHRhIHtcbiAgICAgICAgICAgIFx0ICAgIGNvbG9yOiAjZTdlN2U3O1xuICAgICAgICAgICAgXHR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwudzMwe1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29weXJpZ2h0IHtcblx0ICAgIGNvbG9yOiAjNjY2O1xuXHQgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAuZm9vdGVyX3NvY2lhbF9saW5rcyBhIHtcbiAgICBcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbn1cblxuLmZvb3Rlcl9zb2NpYWx7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLmZvb3Rlcl9zb2NpYWxfbGlua3Mge1xuICAgIGEuc29jaWFsX2xpbmsgICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAwO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgbGluZWFyIDBzO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgLmZhe1xuICAgICAgICAgICAgY29sb3I6ICMzNjM2MzY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkuZmEtZmFjZWJvb2t7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG59XG4uY2JwLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOjBweCBhdXRvO1xufVxuLmNvbnRhaW5lcntcbiAgIHdpZHRoOiAkc2NyZWVuLWxnLW1pbjtcbiAgIHBhZGRpbmc6IDA7XG59IFxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgLmNicC1jb250YWluZXIsIC5jb250YWluZXIge1xuICAgICAgIHdpZHRoOmF1dG87XG4gICB9XG4gICAuZm9vdGVyIHtcbiAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICB9XG59XG4ubGFuZGluZy1oZWFkZXIge1xuICAgIGNvbG9yOiM2NjYgICFpbXBvcnRhbnQ7ICAgIFxufVxuLnNpZGViYXJjb3Vyc2VkZXRhaWxib3hjaGVja291dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogLTJweCAzcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cbi5jb3Vyc2UtZGV0YWlsLW1ldGEgdWwge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG4uY291cnNlLWRldGFpbC1tZXRhIHVsIGxpIHtcblx0cGFkZGluZzogNXB4IDAgNXB4IDA7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uY291cnNlLWRldGFpbC1tZXRhIHVsIGxpIGxhYmVsIHtcblx0d2lkdGg6IDUwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuLmNvbnRhaW5lci1kZXRhaWwtY291cnNlIC5jb2wtbWQtNHtcbiAgICB3aWR0aDogMjglO1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5jb250YWluZXItZGV0YWlsLWNvdXJzZSAuY29sLW1kLTh7XG5cdHdpZHRoOiA3MiU7XG5cdGZsb2F0OmxlZnQ7XG59XG4ubWVudWhveiB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogNXB4IDAgNXB4IDA7XG59XG4ubWVudWhveiB1bCB7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHR3aWR0aDogMTAwJTtcbn1cbi5tZW51aG96IHVsIGxpIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuXHRtYXJnaW4tbGVmdDogMTAwcHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAxJTtcbn1cbi5tZW51aG96IHVsIGxpIGEge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjojMzMzO1xufVxuLm1lbnVob3ogdWwgbGkgYS5hY3RpdmUge1xuXHRjb2xvcjogIzU3NmVmZjtcbn1cbi5ib3gtc2hhZG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IC0xcHggMXB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuaDIudGl0bGVjb250ZW50IHtcbiAgICBtYXJnaW46IDIwcHggMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgY29sb3I6IzMzMztcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cbi5pbnN0cnVjdGlvbi10b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206MTVweDtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNyZWF0ZS1ieSB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb2xvcjogI2FmYWZhZjtcbiAgICB9XG59XG4uaW5zdHJ1Y3Rvcl9fYmlvIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBmb250LXNpemU6MTdweDtcbn1cbi5zaWRlYmFyY291cnNlZGV0YWlsYm94Y2hlY2tvdXQgLmNvdXJzZS1jYXJkX19wcmljZSB7XG4gICAgZm9udC1zaXplOjI0cHg7XG59XG4uaGlkZS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5Om5vbmU7ICAgIFxuIH1cbiAuY291cnNlLWN1cnJpY3VsdW0ge1xuIFxuICAgICB1bCB7XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6MHB4O1xuICAgICAgICAgbGkge1xuICAgICAgICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzNweDtcbiAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgfVxuICAgICAgICAgICAgIC5pY29uLWNoYXB0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgfVxuIH1cbiAuY3VycmljdWx1bS1jaGFwdGVye1xuICAgICBwYWRkaW5nOjIwcHg7XG4gfVxuIC5idG4tcHJpbWFyeSB7XG4gICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gfVxuIC5jb3Vyc2UtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICBsaW5lLWhlaWdodDoyMHB4O1xuICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6MTJweDtcbiAgICBjb2xvcjojNWI1YjViO1xuIH1cbiAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgICBsaSB7XG4gICAgICAgICBhIHtcbiAgICAgICAgICAgICAmLmJ0biB7XG4gICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjMwcHg7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gfVxuI2h0LW1haW4tbWVudSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgLm1haW4tY291cnNlbGlzdGNhdGVnb3J5IHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICB1bCB7XG4gICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICAgZGlzcGxheTp0YWJsZTtcbiAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgICAgICAgICAgIGRpc3BsYXk6dGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojNWI1YjViO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgLndyYXAtc2VlLWFsbCB7XG4gICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgY29sb3I6IzU5NzBmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICB3aWR0aDoyMDBweDtcbiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkO1xuICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgcmlnaHQ6MHB4O1xuICAgICAgICAgICAgICAgICB0b3A6NDdweDtcbiAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICB6LWluZGV4OjEwMDA7XG4gICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojNTk3MGZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH1cbiB9XG5cbi5ib3gtc2VhcmNoLWhlYWRlciB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICAuc2VhcmNoLWNvdXJzZSB7XG4gICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgICBwYWRkaW5nOjZweCAxM3B4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTo3cHg7XG4gICAgfVxufVxuLmhvbWVwYWdlIHtcbiAgICAuYm94LXNlYXJjaC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuLmJ1bmRsZS1yb3cge1xuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5ob21lcGFnZSBoZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgXG59XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIEN1c3RvbV9jc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jYnVuZGxlLWNvbnRlbnRzIHtcbiAgICBtYXJnaW46MHB4IC01cHg7XG59XG4uZmVhdHVyZS1jYXJke1xuICAgIHdpZHRoOjIwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgLmNvdXJzZS1jYXJkX190aXRsZXtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICB9XG4gICAgXG4gICAgLmNvdXJzZS1jYXJkX19pbWctY29udGFpbmVye1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDEwcHg7XG4gICAgfVxuICAgIC5wcmljZS1yYXRpbmctZmVhe1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuY291cnNlLWNhcmRfX3ByaWNle1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuLmNvdXJzZS1zZWFyY2h7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgLmZyYW1ldG9wc2VhcmNocGFnZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNjY2M7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZyYW1lc2VhcmNodG90YWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICAuZnJhbWVzZWFyY2h0b3RhbCBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5hcnRpY2xlLmNvdXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxODVweDtcbiAgICBcbiAgICAuY291cnNlLWNhcmQtcGFuZWwge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzowcHggMjAwcHggMHB4IDE1NXB4O1xuICAgICAgICAucGFuZWwtbGVmdHtcbiAgICAgICAgICAgIHdpZHRoOjE1NXB4O1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MHB4O1xuICAgICAgICAgICAgbGVmdDowcHg7XG4gICAgICAgICAgICAuY291cnNlLWNhcmRfX2ltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OjE0NXB4O1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYW5lbC1taWR7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjE0NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgICAgICAucGFuZWwtcmlndGh7XG4gICAgICAgICAgICB3aWR0aDoxOTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjBweDtcbiAgICAgICAgICAgIHJpZ2h0OjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6MTQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvdXJzZS1jYXJkX19wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgye1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgICAgIC5zZW5zZWktY291cnNlLW1ldGEge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5zZW5zZWktY291cnNlLW1ldGEgLm1ldGEtaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgfVxuICAgICAgICAucGVyY2VudC1zYWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAwcHggMHB4IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZjQ0NmE7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNlbnNlaS1jb3Vyc2UtbWV0YSAubWV0YS1pdGVtLm1ldGEtaXRlbS1sYXN0IHtcbiAgICAgICAgICAgIGJvcmRlcjowcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNvdXJzZS1jYXJkX19pbnN0cnVjdG9yLW5hbWV7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMHB4IDE1cHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jb3Vyc2UtY2FyZF9fZGVzY3JpcHRpb257XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMHB4IDE1cHggMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmRvdWJsZS1wYWQtdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDNweCAycHggcmdiYSgyNDAsMjQwLDI0MCwxKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggM3B4IDJweCByZ2JhKDI0MCwyNDAsMjQwLDEpO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDJweCByZ2JhKDI0MCwyNDAsMjQwLDEpO1xufVxuLnBhZ2luYXRpb24gc3BhbiwgLnBhZ2luYXRpb24gYSB7XG4gICAgcGFkZGluZzogMTBweCAxN3B4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICM0NTQ1NDU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjZDBkMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG59XG4ucGFnaW5hdGlvbiBhLmRpc2FibGUsLnBhZ2luYXRpb24gYS5kaXNhYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjojZmJmYmZiO1xuXHRjb2xvcjojYWViNGI2O1xufVxuLnBhZ2luYXRpb24gYTpob3ZlciB7XG4gICAgY29sb3I6ICM1NzZlZmY7XG59XG4uc2Vuc2VpLWNvdXJzZS1tZXRhIC5jaGFydHBuZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSB1cmwoXCJodHRwczovL2RpaTQ5MGsxODZ5MnMuY2xvdWRmcm9udC5uZXQvNDMxNDQvODI2NDcvY2hhcnQtMTQ5OTQ0MjM4Ny5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG59XG4ubm8tcGFkZGluZy1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbi5mLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4jbGlzdF9jb3Vyc2VfaW5fZmVhdHVyZXtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbn1cbi5yZWxhdGVkLXRvcGljc3tcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLnNlY3Rpb24tdGl0bGUgLnNlZS1tb3Jle1xuICAgIGZvbnQtc2l6ZTowLjZlbTtcbn1cbiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgIC5ib3gtc2VhcmNoLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOjUwMHB4O1xuICAgICAgICAuc2VhcmNoLWNvdXJzZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgfVxuICAgICB9XG4gICAgIC5ob21lcGFnZSBoZWFkZXIge1xuICAgICAgICAgIGhlaWdodDo3MnB4O1xuICAgICB9XG4gICAgIFxuIH1cbiBAbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjcGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzowcHggMTVweDtcbiAgICB9XG4gICAgLmZlYXR1cmUtY2FyZHtcbiAgICAgICAgd2lkdGg6MzMuMzMlO1xuXG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiwgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwcHggMTZweCAwcHggMTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMykgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMDtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXY6YmVmb3JlLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpiZWZvcmVcbntcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlXG57XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2xpY2stc2xpZGVyIC5zbGlkZXItaXRlbSB7XG5cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OjBweDtcbn1cbi5iYWNrZ3JvdW5kLW1lbnUsIC5sb2dvLW1vYmlsZSB7XG4gICAgZGlzcGxheTpub25lO1xufVxuLnVzZXItbW9iaWxlLCAudG9nZ2xlLW1lbnUge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cbiNjb250ZW50LXB1c2gge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG59XG4udG9wLW1lbnUtbW9iaWxlIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZmVmZWY7XG59XG4udG9wLW1lbnUtbW9iaWxlIC5iYWNrLWNhdGVnb3J5IHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGNvbG9yOiMzMzM7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xufVxuLnRvcC1tZW51LW1vYmlsZSAuYmFjay1jYXRlZ29yeSBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6NXB4O1xuICAgIGZvbnQtc2l6ZToxOHB4O1xufVxuLnRvcC1tZW51LW1vYmlsZSAuY2xvc2UtbWVudSB7XG4gICAgZmxvYXQ6cmlnaHQ7XG59XG4uY2xvc2UtbWVudSB7XG4gICAgZm9udC1zaXplOiAyOHB4OyAgICAgXG59XG4ucHJpY2Vfc2VhcmNoIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBcbn1cblxuLmNvdXJzZS1zZWFyY2gtdGl0bGUge1xuICAgIGNvbG9yOiM1OTcwZmY7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cbiAuY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLmNoZWNrYm94Ky5jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5jaGVja2JveCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjE1cyBlYXNlLWluLW91dCwgY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG4uY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM1NTU1NTU7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4uY2hlY2tib3gtcHJpbWFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTcwZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTk3MGZmO1xufVxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgIGNvbG9yOiNmZmY7XG59XG4uaW5wdXQtcmFuZ2Uge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHBhZGRpbmc6MTBweCAwcHg7XG59XG4uaW5wdXQtcmFuZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OicgJztcbiAgICBoZWlnaHQ6NHB4O1xuICAgIGJhY2tncm91bmQ6I2RkZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjhweDtcbiAgICBsZWZ0OjBweDtcbiAgICB3aWR0aDoxMDAlO1xufVxuLnBlcmNlbnQtcmFuZ2Uge1xuICAgIGhlaWdodDo0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDo4cHg7XG4gICAgbGVmdDowcHg7XG4gICAgYmFja2dyb3VuZDojNTk3MGZmO1xuICAgIFxufVxuLmNpcmNsZS1yYW5nZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGJhY2tncm91bmQ6ICM1OTcwZmY7XG59XG5pbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9vc2hvd2NoYW5nZSB7XG4gICAgY29sb3I6IzU5NzBmZjtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOi0yNnB4O1xuICAgIGxlZnQ6MHB4O1xuICAgIHdpZHRoOjEwMCU7XG59XG4uY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuLmNvdXJzZS1zZWFyY2gtbGVmdCBoNCB7XG4gICAgZm9udC1zaXplOjE3cHg7XG4gICAgbWFyZ2luOjBweDtcbiAgICBmb250LXdlaWdodDpib2xkO1xufVxuLmNvdXJzZS1zZWFyY2gtbGVmdCBociB7XG4gICAgbWFyZ2luOjEwcHggMHB4O1xufVxuLnRpdGxlLXBhZ2Uge1xuICAgIGZvbnQtc2l6ZToyMnB4O1xuICAgIGNvbG9yOiNmZmY7XG4gICAgYmFja2dyb3VuZDojNTk3MGZmO1xuICAgIHBhZGRpbmc6MzBweCAwcHg7XG59XG4uZmlsdGVyLWEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgcGFkZGluZzogNnB4IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgIGJhY2tncm91bmQ6ICM1OTcwZmY7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDRweCAycHggcmdiYSgwLDAsMCwwLjIpO1xufVxuLmZpbHRlci1hIGltZ3tcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5maWx0ZXItYSBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG4uYnV0dG9uLWxlZnQtc2VhcmNoIHtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICBib3R0b206MHB4O1xuICAgIGxlZnQ6MHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIHBhZGRpbmc6MTVweDtcbn1cbi5idXR0b24tbGVmdC1zZWFyY2ggLmJ0biB7XG4gICAgcGFkZGluZzoxMHB4O1xufVxuLmJ1dHRvbi1sZWZ0LXNlYXJjaCAuYnRuLWRlZmF1bHQge1xuICAgIGJvcmRlcjoxcHggc29saWQgIzU5NzBmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6I2ZmZiAgIWltcG9ydGFudDtcbiAgICBjb2xvcjojNTk3MGZmICAhaW1wb3J0YW50O1xufVxuXG4uaGlkZGVuYm9keSB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuLmNvdXJzZS1hIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGNvbG9yOiM1YjViNWIgIWltcG9ydGFudDtcbn1cbi5jb3Vwb24tZGlzY291bnQtcHJpY2Utb2xke1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiByZWQ7XG4gICAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5zbGlkZXItcGFkZGluZyB7XG4gICAgcGFkZGluZzoxNXB4O1xufVxuLm1vZGFsLXZpZGVvIHtcbiAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgLyogU3RheSBpbiBwbGFjZSAqL1xuICAgIHotaW5kZXg6IDE7IC8qIFNpdCBvbiB0b3AgKi9cbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7IC8qIExvY2F0aW9uIG9mIHRoZSBib3ggKi9cbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xuICAgIGhlaWdodDogMTAwJTsgLyogRnVsbCBoZWlnaHQgKi9cbiAgICBvdmVyZmxvdzogYXV0bzsgLyogRW5hYmxlIHNjcm9sbCBpZiBuZWVkZWQgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApOyAvKiBGYWxsYmFjayBjb2xvciAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC40KTsgLyogQmxhY2sgdy8gb3BhY2l0eSAqL1xufVxuXG4vKiBNb2RhbCBDb250ZW50ICovXG4ubW9kYWwtY29udGVudC12aWRlbyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbn1cblxuLyogVGhlIENsb3NlIEJ1dHRvbiAqL1xuLmNsb3NlLW1vZGFsLXZpZGVvIHtcbiAgICBjb2xvcjogI2FhYWFhYTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1cHg7XG4gICAgcmlnaHQ6MjBweDtcbiAgICB6LWluZGV4OjEwMDtcbiAgICBjb2xvcjojZmZmO1xuICAgIFxufVxuXG4uY2xvc2UtbW9kYWwtdmlkZW86aG92ZXIsXG4uY2xvc2UtbW9kYWwtdmlkZW86Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYWxzby12aWV3ZWQge1xuICAgIHBhZGRpbmc6MTVweCAhaW1wb3J0YW50O1xuICAgIGgyLnRpdGxlY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICBtYXJnaW46MTBweCAwcHg7XG4gICAgfVxuICAgIC5zZWUtbW9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZToxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYge1xuICAgICAgICAvLyBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgIH1cbiAgICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgIH1cbiAgICAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0e1xuICAgICAgICBwYWRkaW5nOjBweCAyNnB4IDBweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnZpZGVvLWltZy1jb3Vyc2Uge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBzcGFuIHtcbiAgICAgICAgd2lkdGg6OTBweDtcbiAgICAgICAgaGVpZ2h0OjkwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjkwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOjUwcHg7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgbGVmdDo1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgICAuZmEge1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbn1cbi5zbGlkZXItcGFkZGluZy5zdGlja3tcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3gtc2hhZG93OiAtMnB4IDNweCAycHggMnB4IHJnYmEoMCwwLDAsMC4xNCksMCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwwLjIpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsMC4xMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB0b3A6MTBweDtcblxufVxuLnJlbW92ZS1maXh7XG4gICAgIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAubGFuZGluZy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgIC5wcm9kdWN0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICB9XG5cbn1cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5sYW5kaW5nLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuICAuYm94LXNlYXJjaC1oZWFkZXIgLmJ0biB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gIH1cbiAgLmJveC1zZWFyY2gtaGVhZGVyLm9wZW4ge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgfVxuICAuYm94LXNlYXJjaC1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICByaWdodDogMHB4O1xuICAgIHBhZGRpbmc6IDBweCA0OHB4O1xuICAgIHBhZGRpbmctbGVmdDo1NXB4O1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAuYm94LXNlYXJjaC1oZWFkZXIgLnNlYXJjaC1jb3Vyc2UgLmZvcm0tY29udHJvbCB7XG4gICAgICBoZWlnaHQ6MzRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7XG4gIH1cbiAgLnNlYXJjaC1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgfVxuICAuaG9tZXBhZ2UgLnNlYXJjaC1tb2JpbGUge1xuICAgICAgZGlzcGxheTpub25lO1xuICB9XG4gIC50b2dnbGUtbWVudSB7XG4gICAgei1pbmRleDoxMDtcbiAgfVxuICBcbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhlYWRlci1sb2dvX19jb250YWluZXIge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgLnRpdGxlLXBhZ2Uge1xuICAgICAgICBtYXJnaW46IDBweCAtMTVweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICAuY291cnNlLXNlYXJjaCA+IC5yb3cgPiAuY29sLXNtLTQge1xuICAgICAgICB3aWR0aDoyNSU7XG4gICAgfVxuICAgIC5jb3Vyc2Utc2VhcmNoID4gLnJvdyA+IC5jb2wtc20tOCB7XG4gICAgICAgIHdpZHRoOjc1JTtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzogMHB4IDE1MHB4IDBweCAxMzBweDtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIC5wYW5lbC1yaWd0aCB7XG4gICAgICAgIHdpZHRoOjE0NHB4O1xuICAgIH1cbiAgICBhcnRpY2xlLmNvdXJzZSAuY291cnNlLWNhcmQtcGFuZWwgLnBhbmVsLWxlZnQge1xuICAgICAgICB3aWR0aDoxMzZweDtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIC5zZW5zZWktY291cnNlLW1ldGEgLm1ldGEtaXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICB3aWR0aDozMy4zMyU7XG4gICAgfVxuICAgIGFydGljbGUuY291cnNlIC5jb3Vyc2UtY2FyZC1wYW5lbCAuc2Vuc2VpLWNvdXJzZS1tZXRhIC5tZXRhLWl0ZW0gaSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIG1hcmdpbjphdXRvO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuICAgIC5oaWRkZW4tc20ge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIGhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6MTVweDtcbiAgICB9XG4gICAgaGVhZGVyIC5jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nOjBweDtcbiAgICB9XG4gICAgLmhlYWRlci1uYXZfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIGhlYWRlciAuZHJvcGRvd24sIGhlYWRlciAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cblxuICAgIC5oZWFkZXItbG9nb19fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgaGVhZGVyIC5jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGhlYWRlciAuaGVhZGVyLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRpdGxlLXBhZ2Uge1xuICAgICAgICBtYXJnaW46MHB4IC0xNXB4O1xuICAgICAgICBwYWRkaW5nOjE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgIH1cbiAgICAuY291cnNlLXNlYXJjaC1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206NzJweDtcbiAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBlYXNlIGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogMzAwbXMgZWFzZSBhbGw7XG4gICAgICAgIHBhZGRpbmc6MHB4O1xuICAgIH1cbiAgICAuc2VhcmNoLWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB9XG4gICAgLmNvdXJzZS1zZWFyY2gtbGVmdC5vcGVuIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG4gICAgI2h0LW1haW4tbWVudSB7XG4gICAgICAgIG92ZXJmbG93OmF1dG87XG4gICAgfVxuICAgIFxuICAgIC5ib3VudHVuZGxlLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MzBweDtcbiAgICB9XG4gICAgLmhvbWVwYWdlICNwYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOjBweDtcbiAgICB9XG4gICAgLnNpdGUtbGFuZGluZ19fY291cnNlcyB7XG4gICAgICAgIHBhZGRpbmc6MTBweCAxNXB4O1xuICAgIH1cbiAgICAuYm94LXRhYiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MHB4O1xuICAgIH1cbiAgICAuc2Vuc2VpLWNvdXJzZS1tZXRhIC5jaGFydHBuZyB7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIG1hcmdpbjphdXRvO1xuICAgIH1cbiAgICBcbiAgICBhcnRpY2xlLmNvdXJzZSAuY291cnNlLWNhcmQtcGFuZWwgLnNlbnNlaS1jb3Vyc2UtbWV0YSA+IC5tZXRhLWl0ZW17XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U3ZTdlNyAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDozMy4zMyU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIC5zZW5zZWktY291cnNlLW1ldGEgPiAubGluZWJvcmRlcnJpZ2h0e1xuICAgICAgICBib3JkZXI6MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5sb2dvLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6MjBweDtcbiAgICB9XG4gICAjaHQtbWFpbi1tZW51IC5tYWluLWNvdXJzZWxpc3RjYXRlZ29yeSB1bCBsaSB7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICAgIC5oZWFkZXItbmF2X19pdGVtIGEsICNodC1tYWluLW1lbnUgLm1haW4tY291cnNlbGlzdGNhdGVnb3J5IHVsIGxpIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIH1cbiAgICAgI2h0LW1haW4tbWVudSAubWFpbi1jb3Vyc2VsaXN0Y2F0ZWdvcnkgdWwgbGkgYSB7XG4gICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWZlZmVmO1xuICAgICB9XG4gICAgIGFydGljbGUuY291cnNlIC5jb3Vyc2UtY2FyZC1wYW5lbCAuc2Vuc2VpLWNvdXJzZS1tZXRhIHtcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICBib3JkZXI6MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oZWFkZXItbmF2X19pdGVtIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgLmhlYWRlci1uYXZfX2NvbnRhaW5lciwgI2h0LW1haW4tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICAgIGxlZnQ6IC0zMDBweDtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgZWFzZSBhbGw7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zIGVhc2UgYWxsO1xuICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5iYWNrZ3JvdW5kLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICB0b3A6MHB4O1xuICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICB9XG4gICAgLmhlYWRlci1uYXZfX2NvbnRhaW5lci5vcGVuLCAjaHQtbWFpbi1tZW51Lm9wZW4ge1xuICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDBweCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwcHgsIDAsIDApO1xuICAgIH1cbiAgICAjYnVuZGxlLWNvbnRlbnRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6LTEycHg7XG4gICAgfVxuICAgICNsaXN0X2NvdXJzZV9pbl9mZWF0dXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICAgIH1cbiAgICAuc2xpZGVyLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIHBhZGRpbmc6MHB4O1xuICAgIH1cbiAgICAuZmVhdHVyZS1jYXJke1xuICAgICAgICB3aWR0aDoyMDBweDtcblxuICAgIH1cbiAgICAgLmNvdXJzZS1jdXJyaWN1bHVtIGxpIGEuYnRuIHtcbiAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgfVxuICAgIC5oaWRlLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OmJsb2NrOyAgICBcbiAgICAgfVxuICAgICAuaGlkZS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7ICAgIFxuICAgIH1cbiAgICAjcGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzowcHggMTVweDtcbiAgICB9XG4gICAgLm1vYmlsZS12aWRlby1sYW5kaW5nLCAuaW50cm8tdmlkZW8tbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOjBweCAtMTVweDtcbiAgICB9XG4gICAuZm9vdGVyIHtcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAubG9nb3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MzBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXJfc29jaWFse1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjMwcHg7XG4gICAgICAgICAgICByaWdodDowcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVyX3NvY2lhbF9saW5rcyB7XG4gICAgICAgICAgICBhLnNvY2lhbF9saW5rICAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29weXJpZ2h0IHsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICB9XG4gICAuY29udGFpbmVyLWRldGFpbC1jb3Vyc2UgLmNvbC1tZC00e1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC5jb250YWluZXItZGV0YWlsLWNvdXJzZSAuY29sLW1kLTh7XG4gICAgXHR3aWR0aDogYXV0bztcbiAgICBcdGZsb2F0OiBub25lO1xuICAgIH1cbiAgICBoZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgICB0b3A6IC0xM3B4O1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgcGFkZGluZzogMTZweCAxM3B4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIFxuICAgIC5ib3gtdGFiIHtcbiAgICAgICAgcGFkZGluZzoyNXB4IDE1cHg7XG4gICAgfVxuICAgIC5iYW5uZXItaG9tZSB7XG4gICAgICAgIHBhZGRpbmc6MzBweCAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIC5iYW5uZXItaG9tZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZToyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gICAgfVxuICAgIC5zZWFyY2gtY291cnNlIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgLnNlZS1tb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXItbmF2X19pdGVtICB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZmVmZWY7XG4gICAgfVxuICAgIC5oZWFkZXItbmF2X19pdGVtIGEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICB9XG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgfVxuICAgIC51c2VyLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZmVmZWY7XG4gICAgICAgIHBhZGRpbmc6MTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowcHg7XG4gICAgICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJveC1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OjBweCAycHggMnB4IDBweCByZ2JhKDAsMCwwLDAuMTQpO1xuICAgIH1cbiAgICBoMi50aXRsZWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6MjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgfVxuICAgIC5wcm9kdWN0LW92ZXJ2aWV3IGg0IHtcbiAgICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgfVxuICAgIC5jb3Vyc2UtaW5zdHJ1Y3RvciAuYm94LXNoYWRvdyB7XG4gICAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY291cnNlLWluc3RydWN0b3IgLmJveC1zaGFkb3cgLmluc3RydWN0b3JfX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDoyMHB4O1xuICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgbWFyZ2luOjBweDtcbiAgICB9XG4gICAgLmluc3RydWN0b3JfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgfVxuICAgIC5hY3Rpb24tbW9iaWxlLWNvdXJzZS5zdGljayB7XG4gICAgICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgICAgICB0b3A6MHB4O1xuICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgIHotaW5kZXg6MTAwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzowcHg7XG4gICAgfVxuICAgIGFydGljbGUuY291cnNlIC5jb3Vyc2UtY2FyZC1wYW5lbCAucGFuZWwtbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB0b3A6MHB4O1xuICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2Uge1xuICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZWVlO1xuICAgIH1cbiAgICBhcnRpY2xlLmNvdXJzZSAuY291cnNlLWNhcmQtcGFuZWwgLnBhbmVsLXJpZ3RoIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHRvcDowcHg7XG4gICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICBib3JkZXI6MHB4O1xuICAgICAgICBwYWRkaW5nOjEwcHg7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6MTBweDtcbiAgICB9XG4gICAgLmNhcnQtdG9wLWNvdXJzZXtcbiAgICAgICAgcGFkZGluZzoxMHB4O1xuICAgIH1cbiAgICBhcnRpY2xlLmNvdXJzZSAuY291cnNlLWNhcmQtcGFuZWwgLnBhbmVsLW1pZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6MTBweDtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIGgyIHtcbiAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgfVxuICAgIC5yZXZpZXctY291cnNlLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBoZWlnaHQ6MThweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTBweDtcbiAgICB9XG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIC5jb3Vyc2UtY2FyZF9faW5zdHJ1Y3Rvci1uYW1lIHtcbiAgICAgICAgbWFyZ2luOjBweDtcbiAgICB9XG4gICAgLm5hbWUtY2FyZC1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOjYwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIGFydGljbGUuY291cnNlIC5jb3Vyc2UtY2FyZC1wYW5lbCAucGFuZWwtcmlndGggLmNvdXJzZS1jYXJkX19wcmljZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgIH1cbiAgICAucHJpY2UtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDoxMDBweDtcbiAgICB9XG4gICAgLnByaWNlLWJ1dHRvbiAgLmNvdXJzZS1jYXJkX19wcmljZXtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHRvcDoxMHB4O1xuICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgd2lkdGg6MTAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgICBhcnRpY2xlLmNvdXJzZSAuY291cnNlLWNhcmQtcGFuZWwgLnNlbnNlaS1jb3Vyc2UtbWV0YSAge1xuICAgICAgICBtYXJnaW46MTVweCAwcHg7XG4gICAgfVxuXG4gICAgYXJ0aWNsZS5jb3Vyc2UgLmNvdXJzZS1jYXJkLXBhbmVsIC5zZW5zZWktY291cnNlLW1ldGEgLm1ldGEtaXRlbSBpIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xuICAgIH1cbn1cblxuICAgIFxuICAgIFxuXG5cblxuIiwKCQkiLy8gQm91cmJvbiA0LjIuNlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwKCQkiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsCgkJIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsCgkJIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsCgkJIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLAoJCSIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsCgkJIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XG4gICRvZmZzZXQ6IG51bGw7XG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xuICB9XG5cbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcbiAgfVxuXG4gIEBpZiAkb2Zmc2V0IHtcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwKCQkiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsCgkJIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsCgkJIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLAoJCSJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsCgkJIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsCgkJIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwKCQkiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLAoJCSIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLAoJCSJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsCgkJIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsCgkJIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsCgkJIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsCgkJIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsCgkJIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFBQSxPQUFPLENBQUMsK0VBQUksQ0FPWixJQUFJLEFBQUEsQ0FBQyxXQUFXLENBQUMsVUFBVyxDQUFDLG9CQUFvQixDQUFDLElBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFLLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFFLEFBQUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxBQUFBLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBRSxBQUFELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQUFBQSxDQUFDLE9BQU8sQ0FBQyxZQUFhLENBQUMsY0FBYyxDQUFDLFFBQVMsQ0FBRSxBQUFELEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBRSxDQUFELEFBQUEsTUFBQyxBQUFBLEVBQVEsUUFBUSxBQUFBLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBRSxBQUFELENBQUMsQUFBQSxDQUFDLGdCQUFnQixDQUFDLFdBQVksQ0FBRSxBQUFELENBQUMsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLE1BQU0sQUFBQSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUUsQUFBRCxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxDQUFDLGFBQWEsQ0FBQyxVQUFXLENBQUUsQUFBRCxDQUFDLENBQUMsTUFBTSxBQUFBLENBQUMsV0FBVyxDQUFDLEdBQUksQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUUsQUFBRCxFQUFFLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxVQUFVLENBQUMsSUFBSyxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQUUsQUFBRCxLQUFLLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFFLEFBQUQsR0FBRyxDQUFDLEdBQUcsQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUMsV0FBVyxDQUFDLENBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDLGNBQWMsQ0FBQyxRQUFTLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxHQUFHLENBQUMsS0FBTSxDQUFFLEFBQUQsR0FBRyxBQUFBLENBQUMsTUFBTSxDQUFDLE1BQU8sQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsSUFBSyxDQUFBLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFPLENBQUUsQUFBRCxNQUFNLEFBQUEsQ0FBQyxNQUFNLENBQUMsUUFBUyxDQUFFLEFBQUQsRUFBRSxBQUFBLENBQUMsZUFBZSxDQUFDLFdBQVksQ0FBQyxVQUFVLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSyxDQUFFLEFBQUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxBQUFBLENBQUMsV0FBVyxDQUFDLG1CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUUsQUFBRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxBQUFBLENBQUMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxNQUFNLEFBQUEsQ0FBQyxRQUFRLENBQUMsT0FBUSxDQUFFLEFBQUQsTUFBTSxDQUFDLE1BQU0sQUFBQSxDQUFDLGNBQWMs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 */