@import https://fonts.googleapis.com/css?family=Dosis:400,700;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{color:#5b5b5b;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:normal;font-size:15px;height:100%}hr{border:none;background:#cdcdcd;height:1px;margin:20px 0}small{font-size:80%}a{color:#2bd1c3}a:hover{color:#219e94;text-decoration:none}img{max-width:100%}.unstyle{list-style:none;padding:0}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:#dd1d4c;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#b0173c;color:#fff}.btn-secondary{background:#fafafa;color:#5b5b5b}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active{background:#e1e1e1;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}#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}}.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{max-width:1250px;margin:0 auto;padding:35px 0}.site-landing__courses{padding-top:60px}@media only screen and (max-width: 479px){.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{padding:20px 0}}.column{padding-left:75px;padding-right:75px}@media only screen and (min-width: 992px){.column{padding-left:100px;padding-right:100px}}@media only screen and (max-width: 991px){.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;box-shadow:1px 1px 0 #e2e2e2;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;margin-bottom:30px;cursor:pointer}.course-card__img{border-top-left-radius:3px;border-top-right-radius:3px;width:100%;height:auto}.course-card__img-container{border-top-left-radius:3px;border-top-right-radius:3px;position:relative;overflow:hidden;max-height:220px}.course-card__body{padding:20px 20px 10px}.course-card__instructor-name{font-size:0.875em}.course-card__price{color:#2bd1c3;font-weight:600;font-size:0.875em;text-align:right;line-height:1;word-wrap:break-word}.course-card__price .free{text-transform:uppercase}.course-card__title{color:#5b5b5b;font-size:1.125em}.course-card__title a{color:#5b5b5b}.course-card__description{margin-bottom:10px;color:#9b9b9b;font-size:0.938em}.course-card__cta{position:absolute;bottom:0;left:0;width:100%;margin-bottom:20px;padding:0 20px}.course-card__cta .btn{padding:8px}.course-card__cta a{margin-bottom:5px}.course-card__cta a:last-of-type{margin-bottom:0}.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:#2bd1c3}.progress-card .progress-line .progress-line-bar{height:3px;background:#cdcdcd}@media screen and (min-width: 992px){.course-card__img-container{max-height:202px}}@media screen and (min-width: 768px) and (max-width: 991px){.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{background:#fff}header a{color:#000}header a:hover,header a:active,header a:focus{color:#000}.header-logo__image{width:auto;max-height:35px;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-user-avatar{border-radius:50%;height:25px;width:25px;margin:-25px 5px -21px}.dropdown{margin-left:15px}.dropdown-toggle{margin-left:10px}.dropdown-menu{background:#fff}.dropdown-menu>li>a{color:#000}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus{color:#fff;background-color:#000}.header-nav__mobile-btn{display:none;margin-right:0;padding:6px 10px;color:#000;border:1px solid #000;background:none;border-radius:3px}.header-nav__mobile-btn:hover,.header-nav__mobile-btn:active,.header-nav__mobile-btn:focus{color:#fff;background-color:#000}.navbar-custom{background:#fff;border:none;border-radius:0;box-shadow:2px 2px 1px rgba(0,0,0,0.07);margin-bottom:0}.navbar-custom .navbar-brand img{max-width:200px}.navbar-default .navbar-nav>li>a{font-weight:bold}.navbar-default .navbar-nav>li>a#my-account{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;text-transform:none;letter-spacing:normal}.navbar-default .navbar-nav>li>a.my-account{border:1px solid #ddd;font-size:12px;border-radius:22px;padding:5px 25px;margin:10px 0}@media only screen and (min-width: 992px){header .column{display:table;width:100%}.header-logo__container{display:table-cell;width:1px;white-space:nowrap;padding:15px 0;text-align:center}.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: 991px){.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}}#wrap:after{height:166px}footer a{color:#666}footer a:hover{color:#000}.footer-nav{text-align:center;list-style:none;padding:0;margin:5px 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}.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:#2bd1c3}.pagination>li>a,.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span{color:#2bd1c3;border:1px solid #cdcdcd}.site-landing__banner{position:relative;height:400px;background-size:cover;background-position:center center;background-repeat:no-repeat;color:#fff}.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 (min-width: 992px){.product-cards__container{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-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-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.product-cards__container:before,.product-cards__container:after{content:normal}}@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{background:#ffffff;font-size:1em;line-height:1.4}.product-landing section{padding-top:60px;padding-bottom:60px}.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:#2bd1c3}.product-landing section p a:hover{text-decoration:underline}.product-landing .section-title{margin:0 0 42px;color:#2bd1c3;font-weight:200;font-size:2.250em}.course-contact-info{font-weight:bold}.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;color:#fff;font-weight:300;font-size:2.438em}.product-banner .product__subtitle{display:block;color:#fff;font-weight:400;font-size:1.4em}.product-banner .product__private-title{color:#fff;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:#2bd1c3}@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-bottom:18px}.course-review__stars{margin-bottom:12px}.course-review__title{margin-bottom:12px;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:#2bd1c3;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:#2bd1c3;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}.product-landing .product__title{font-size:1.750em !important}.product-landing .section-title{margin-bottom:24px;font-size:1.750em !important}.product-landing .title-block{width:90%}}@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{margin-top:48px;background:#f3f3f3;color:#5b5b5b}.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;height:162px;width:162px;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;text-align:center}.high-convert-landing .course-instructor .instructor__title{text-align:center}.high-convert-landing .course-curriculum{background:#e6e6e6}.high-convert-landing .course-curriculum .section-title{color:#5b5b5b}.high-convert-landing .course-curriculum .curriculum-chapter{margin:0 0 10px 0 !important}.high-convert-landing .course-curriculum .curriculum-chapter-header{padding:10px 15px !important;background:#2bd1c3 !important}.high-convert-landing .course-curriculum .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.high-convert-landing .course-curriculum .chapter-header{font-weight:bold;color:#fff}.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{position:relative;padding:5px 45px 5px 15px;color:#5b5b5b}.high-convert-landing .course-curriculum .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;font-size:1.250em;color:#5b5b5b}.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}@media only screen and (max-width: 479px){.high-convert-landing .course-instructor{margin-top:60px}.high-convert-landing .instructor__img-wrap{margin-top:-80px}.high-convert-landing .instructor__img{height:108px;width:108px}.high-convert-landing .curriculum-chapter-header{padding:5px 15px !important}.high-convert-landing .toggle-content{padding:0 !important}.high-convert-landing .course-curriculum .chapter-time{text-align:left}}.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:#2bd1c3;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:#2bd1c3;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:#2bd1c3;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: 991px){.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;box-shadow:1px 1px 0 #e2e2e2;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;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px;border:1px solid #ddd;box-shadow:-5px 5px 22px rgba(0,0,0,0.1)}.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:#2bd1c3}.checkout-form__purchase{padding:0 10px;margin-bottom:15px;text-align:center}.checkout-form__purchase-img{border-radius:2px;max-width:100%;height:auto;margin-bottom:15px}.checkout-form__purchase-description{max-width:90%;margin:0 auto;font-size:22px;font-weight:600;padding:15px 0}.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:#2bd1c3}.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:300;font-size:42px;margin-bottom:10px}.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;box-shadow:1px 1px 0 #e2e2e2;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: 991px){.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;box-shadow:1px 1px 0 #e2e2e2;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;box-shadow:1px 1px 0 #e2e2e2;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:#2bd1c3;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:#2bd1c3;background:#f3f3f3;border-color:none}.account-menu .badge,.affiliate-menu .badge{background:#2bd1c3;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:#2bd1c3;color:#fff}.reset-password-container{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;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;box-shadow:1px 1px 0 #e2e2e2;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}}.brand-blue{color:#2bd1c3}.text-spaced{letter-spacing:.1em}.upsize{font-size:120%}.m-b{margin-bottom:20px}.btn-outline{border:3px solid #2BD1C3;border-radius:22px;text-transform:uppercase;font-weight:bold;color:#000;padding:6px 25px;transition:all .2s ease}.btn-outline:hover{background:#2BD1C3;color:#fff}.btn-outline.pink{background:#dd1d4c;border-color:#dd1d4c;color:#fff}.checklist{list-style:none}.checklist li{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/RcYrxsPZQhaHRQd5wWNy_icon-checklist.png) 0 4px no-repeat;padding-left:22px}.page_content{padding:50px 0}#intro{background:#000;background-size:cover;color:#fff;display:table;width:100%;height:94vh}#intro-cell{display:table-cell;width:100%;height:100%;vertical-align:middle;position:relative}#launch-note{font-family:"Dosis",sans-serif;display:block;font-size:17px;text-transform:uppercase;font-weight:bold;letter-spacing:2px}#launch-note img{margin-bottom:10px}#intro-text{margin:20px auto;text-align:center}#intro-text .brand{width:145px}#intro-text h1{font-size:62px;font-weight:200;margin:10px 0}#intro-text p{font-size:20px;margin-bottom:25px;margin-top:0}#get-started{transition:all .2s ease;display:inline-block;padding:10px 35px;border-radius:30px;background:#c8074b;color:#fff;text-transform:uppercase;font-family:"Dosis",sans-serif;font-weight:bold;letter-spacing:1px;border:3px solid #c8074b;font-size:15px}#get-started:hover{text-decoration:none;background:none;border-color:#fff;color:#fff}.association small{font-size:12px;text-transform:uppercase;letter-spacing:2px}.modal.black .modal-content{background:#000;border:1px solid #2f2d2d;box-shadow:0 22px 32px 0 #000}.modal.black .modal-header{border:none;min-height:55px}.modal.black .modal-header .close{text-shadow:none;color:#fff;opacity:.6}.modal.black .modal-header .close:hover{opacity:1}#indicator{text-align:center;position:absolute;bottom:0;width:100%;left:0;font-size:40px;padding:0 0 20px 0;font-weight:100}#indicator a{color:#fff;opacity:.5;transition:all .2s ease}#indicator a:hover{opacity:1}#wr-features{padding:15px 0}#wr-features .container{width:auto;max-width:1440px}.cta{font-family:"Dosis",sans-serif;text-transform:uppercase;font-weight:bold;background:#666;border:1px solid #686d7a;padding:20px 50px;height:187px;max-width:883px;margin:15px auto}.cta p{max-width:510px;font-size:17px}.cta#launching-soon{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/PIhCYmQJ2hXa93CsiiZg_bg-launching-soon.jpg) center center no-repeat;color:#fff}.cta#launching-soon .text-graphic{margin-left:-20px}.cta#buddy-pass{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/sBztABp5Qpq0lfxB1EBk_bg-buddy-pass-lg.jpg) right center no-repeat;padding-right:30px}.sp-white{margin-left:50px}#simplified{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/UVfwRaIMTGOFhf3vaMFr_noise-bg.jpg) #f8f9f5;border-bottom:1px solid #ddd;border-top:1px solid #ddd;padding:60px 0;font-size:14px}#simplified h2{margin-top:0}#simplified h2 span{font-weight:200}#simplified ul{margin-bottom:30px}#simplified h4{font-family:"Dosis",sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:bold;font-size:15px}#simplified .icon{margin-bottom:20px;margin-top:30px}.circle-scroll{border:3px solid #2bd1c3;color:#2bd1c3;width:59px;height:59px;border-radius:50%;text-align:center;display:inline-block;font-size:36px;padding-top:5px;margin:20px 0 0 0;transition:all .2s ease}.circle-scroll:hover{color:#666;border-color:#666}.snowboard-list{list-style:none;padding:0}.snowboard-list li{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/8MwJYfcfQgm6Ty4EWN3E_snowflake.png) left 4px no-repeat;padding-left:20px}#focus-areas{padding:80px 0;border-bottom:1px solid #ddd}#focus-areas h2 span{font-weight:200}#focus-areas .lead{color:#5f615f}#focus-areas .checklist{font-size:14px}#focus-areas .checklist li{padding:3px 0 3px 20px}.focuses{overflow:hidden;text-align:center}.focus{width:20%;height:348px;display:block;float:left;vertical-align:top;padding:20px;margin:20px 0}.focus h4{font-weight:200}.focus img{margin-bottom:15px}.focus small{display:block}#content-combo{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/GHYryVjRXGybJv2f2jkc_noise-bg-alt.jpg) #fcfcf7;border-bottom:1px solid #ddd}#content-combo .background-graphic{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/h7jl2sTNTCaJUSrImj5z_snow-graphic.jpg) left bottom no-repeat;padding:50px 0}#instructors{background:#fff;padding:40px 30px;box-shadow:1px 4px 43px 0 rgba(0,0,0,0.1);margin:0 0 60px 0}#instructors h2{margin-top:0}#instructors small{display:block}#instructors .lead{margin-bottom:30px;color:#5f615f}#instructors img{margin:20px 0 10px 0}#videos{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/00vf41ZLQ0u9X8RLdR6C_video-bg.jpg) center center no-repeat #151313;background-size:cover;padding:70px 15px;text-align:center;color:#fff}#videos h2{margin-top:0}#drone{background:#fff;border-bottom:1px solid #ddd;padding:30px 0}#drone img{margin-right:15px;float:left}#drone p{padding:20px 0 0 0}#drone p strong{color:#a2741a;font-size:18px}.mobile-message{padding:120px 0 0 0;max-width:440px;margin:0 auto}.mobile-message h4{text-transform:uppercase;font-size:17px;color:#2bd1c3;letter-spacing:.1em;margin-bottom:0}.mobile-message h2{margin-top:10px}.mobile-message h2 span{font-weight:200}#testimonials{padding:40px 0}#testimonials strong{font-family:"Dosis",sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:13px}footer{background:#f4f4f4;background:-moz-linear-gradient(top, #f4f4f4 0%, #fff 100%);background:-webkit-linear-gradient(top, #f4f4f4 0%, #fff 100%);background:linear-gradient(to bottom, #f4f4f4 0%, #fff 100%);padding:50px 0;border-top:1px solid #ddd}footer .brand{margin-bottom:4px}#capture{text-align:center;padding:0 0 20px 0;border-bottom:1px solid #ddd;margin-bottom:30px}#capture h3{display:inline-block;font-weight:200;margin:0 10px 0 0;vertical-align:middle}#subscribe{background:#fff;border:2px solid #d2d2d2;display:inline-block;transition:all .2s ease}#subscribe .field-email{background:url(https://dii490k186y2s.cloudfront.net/21265/34157/cblIrqYQT9m9DaBcFY8C_icon-email.png) 10px 11px no-repeat #fff;padding:4px 10px 4px 35px;letter-spacing:.1em;font-size:12px;width:300px;border:none;height:34px;margin:0;outline:none}#subscribe.is_focused{border-color:#2BD1C3}#subscribe .btn-subscribe{padding:3px 6px 0 6px;display:inline-block;vertical-align:top;color:#2bd1c3;border:none;background:none;height:34px;overflow:hidden;font-size:17px;margin:0;transition:all .2s ease}#subscribe .btn-subscribe:hover{color:#e66227}footer .social{text-align:right;font-size:30px}footer .social a{color:#4e4e4e;transition:all .2s ease}footer .social a:hover{color:#2bd1c3}#associations{padding:15px 10px;text-align:center;border:2px solid #ddd;border-radius:6px;margin:0 0 25px 0}#associations h4{display:inline-block;margin:5px 10px;font-weight:300;font-size:24px;color:#666;vertical-align:middle}#associations img{max-height:50px;margin:5px 10px}#associations a:hover img{opacity:.8}@media (max-width: 992px){.focus{width:33%}.mobile-message{padding-top:60px}#capture h3{margin-bottom:20px}.cta#buddy-pass{height:auto;background-position:left top}}@media (max-width: 768px){.navbar-nav{margin:7.5px 0;text-align:center}.navbar-default .navbar-nav>li.rounded>a{text-align:center;padding:10px;margin-bottom:10px}#intro-text{padding:0 10px}#intro-text h1{font-size:34px;font-weight:200}#focus-areas{padding:30px 0}.focus{width:auto;float:none;height:auto;margin:0;padding:25px 0 0 0;border-top:1px solid #ddd}.mobile-message{text-align:center;padding-top:0}#mobile-ready img{margin:0 auto;display:block}#instructors{padding:20px;text-align:center}#testimonials img{float:none;margin:0 auto;display:block}#testimonials p{margin:0 auto;text-align:center}#drone{text-align:center}#drone img{float:none;margin:0 0 10px 0}#simplified .background-graphic{background:none;text-align:center;padding:30px 0}#subscribe .field-email{width:220px}footer{text-align:center}footer .social{text-align:center;padding:20px 0}#academy-signup .modal-dialog{width:auto}}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiMjAxNzA2MDgyMTI4MjgvKF9fVEVNUExBVEVfXykuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIyMDE3MDYwODIxMjgyOC8oX19URU1QTEFURV9fKSIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL191bnBhY2suc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZpbHRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgXCJib3VyYm9uXCI7XG5AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RG9zaXM6NDAwLDcwMCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOb3JtYWxpemUgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhyey1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0saW5wdXRbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym9yZGVyOjA7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfXRkLHRoe3BhZGRpbmc6MH1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNBU1MgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDb2xvdXJzOiBTaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRwcmltYXJ5LWNvbG9yOiAjMmJkMWMzO1xuJHNpdGUtYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcblxuLy8gQ29sb3VyczogQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG4kcHJpbWFyeS1idG4tY29sb3I6ICNkZDFkNGM7XG4kc2Vjb25kYXJ5LWJ0bi1jb2xvcjogI2ZhZmFmYTtcblxuLy8gQ29sb3VyczogSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiRoZWFkZXItdGV4dC1jb2xvcjogIzAwMDAwMDtcblxuLy8gQ29sb3VyczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRmb290ZXItYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcblxuLy8gQ29sb3VyczogTmV1dHJhbFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kY29sb3ItbmV1dHJhbDogI2NkY2RjZDtcbiRjb2xvci1uZXV0cmFsLWxpZ2h0LTE6ICNlZWVlZWU7XG4kY29sb3ItbmV1dHJhbC1saWdodC0yOiAjZjNmM2YzO1xuJGNvbG9yLW5ldXRyYWwtbGlnaHQtMzogI2ZlZmVmZTtcbiRjb2xvci1uZXV0cmFsLWRhcmstMTogI2IyYjJiMjtcblxuLy8gQ29sb3VyczogVGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kdGV4dC1jb2xvcjogIzViNWI1YjtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmZmZmO1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyBDb2xvdXJzOiBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzdWNjZXNzLWdyZWVuOiAjNTRjNjcwO1xuJGFsZXJ0LXllbGxvdzogI2ZmZWQ4ZjtcblxuXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzY3JlZW4tc20tbWluOiA0ODBweDtcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcbiRzY3JlZW4tbGctbWluOiA5OTJweDtcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7XG4kc2NyZWVuLXh4bC1taW46IDE2MDBweDtcblxuJHNjcmVlbi14cy1tYXg6ICgkc2NyZWVuLXNtLW1pbiAtIDEpO1xuJHNjcmVlbi1zbS1tYXg6ICgkc2NyZWVuLW1kLW1pbiAtIDEpO1xuJHNjcmVlbi1tZC1tYXg6ICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLVxuJGJvcmRlci1yYWRpdXM6IDNweDtcbiRzZWN0aW9uLW1heC13aWR0aDogMTI1MHB4O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgaXMgYSBzaW1wbGUgbWl4aW4gZm9yIGNhcmQgc3R5bGVzLiBDYXJkIHN0eWxlcyBhcmUgdXNlZCBvbiBjb3Vyc2Vcbi8vIGNhcmRzLCBhbmQgcGFzc3dvcmQgcmVzZXQgYm94ZXMuIFRoaXMgaXMgbWVhbnQgdG8gd29yayBmb3IgZXZlcnl0aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2FyZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAjZTJlMmUyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cblxuLy8gVGhpcyBtYWtlcyB0ZXh0IGNvbG91ciBjaGFuZ2UgaWYgdGhlIGJhY2tncm91bmQgY29sb3VyIGlzIHRvbyBsaWdodCBvciBkYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmdW5jdGlvbiBkeW5hbWljLXRleHQoJGNvbG9yKSB7XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiA4NSkge1xuICAgIEByZXR1cm4gJHRleHQtY29sb3I7IC8vIExpZ2h0ZXIgYmFja2dyb3VuZCwgcmV0dXJuIGRhcmsgY29sb3JcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkdGV4dC1jb2xvci1saWdodDsgLy8gRGFya2VyIGJhY2tncm91bmQsIHJldHVybiBsaWdodCBjb2xvclxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRhYmxlIG9mIGNvbnRlbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAwLiBCYXNpY3Ncbi8vIDEuIFR5cGVcbi8vIDIuIEZvcm1zXG4vLyAzLiBCdXR0b25zXG4vLyA0LiBMYXlvdXRcbi8vIDUuIENvdXJzZSBDYXJkc1xuLy8gNi4gSGVhZGVyXG4vLyA3LiBGb290ZXJcbi8vIDguIFJldmlldyBTdGFyc1xuLy8gOS4gUGFnaW5hdGlvblxuLy8gMTAuIFNpdGUgTGFuZGluZyBQYWdlXG4vLyAxMS4gU2hhcmVkIHByb2R1Y3QgbGFuZGluZyBwYWdlIHN0eWxlc1xuLy8gMTIuIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vIDEzLiBDdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuLy8gMTQuIEJ1bmRsZSBsYW5kaW5nIHBhZ2Vcbi8vIDE1LiBNdWx0aSBQcm9kdWN0c1xuLy8gMTYuIFNpZ24gdXAgLyBTaWduIGluXG4vLyAxNy4gTXkgQ291cnNlcy9EYXNoYm9hcmRcbi8vIDE4LiBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZFxuLy8gMTkuIENoZWNrb3V0XG4vLyAyMC4gQ291cnNlIExhbmRpbmcgUGFnZSAtIFZpZGVvIENlbnRyaWNcbi8vIDIxLiBTdHVkZW50L0FmZmlsaWF0ZSBlZGl0IGFjY291bnRcbi8vIDIyLiBGb3Jnb3QgUGFzc3dvcmRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDAuIEJhc2ljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbCwgYm9keSB7XG4gIC8vIGJhY2tncm91bmQ6ICRzaXRlLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMS4gVHlwZSBDb252ZXJ0ZWQgdG8gRU0gdXNpbmcgaHR0cDovL3B4dG9lbS5jb20vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWw7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCAxMiUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5pbWcgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLy8gUmVtb3ZlcyBsaXN0IHN0eWxlXG4udW5zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDIuIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbnB1dDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuaW5wdXQ6Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjp0cmFuc3BhcmVudDsgfVxuXG4uZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMztcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogNnB4IDE1cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gSSBhbSBmb3VuZCBvbmx5IG9uIHRoZSBjb2xsZWN0aW9ucyBwYWdlLlxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCR0ZXh0LWNvbG9yLDAuOSk7XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxufVxuXG4ucmFkaW8sIC5jaGVja2JveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFVzZWQgb24gdGhlIFNpZ24gaW4vU2lnbiB1cC9DaGVja291dCBmbG93LiBTdHlsZXMgdGhlIHNlcGFyYXRvciBiZXR3ZWVuIHRoZVxuLy8gc29jaWFsIHNpZ24gaW4gYnV0dG9ucyBhbmQgdGhlIHNpZ24gaW4gd2l0aCBlbWFpbCBmb3JtLlxuLmZvcm1fX3NlcGFyYXRvciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDMuIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vLyBCdXR0b246IE1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuLmJ0bi1sYXJnZSB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG59XG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEJ1dHRvbjogQ29sb3Vyc1xuLy8gLS0tLS0tLS0tLS0tLVxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktYnRuLWNvbG9yO1xuICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWJ0bi1jb2xvcik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1idG4tY29sb3IsIDEwJSk7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1idG4tY29sb3IpO1xuICB9XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1idG4tY29sb3I7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHNlY29uZGFyeS1idG4tY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHNlY29uZGFyeS1idG4tY29sb3IsIDEwJSk7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkc2Vjb25kYXJ5LWJ0bi1jb2xvcik7XG4gIH1cbn1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtZGFyay0xO1xuICBjb2xvcjogI2ZmZmZmZjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1uZXV0cmFsLWRhcmstMSwgMTAlKTtcbiAgfVxufVxuXG4vLyBUaGlzIGlzIHVzZWQgYXMgdGhlIExpbmtlZGluIGJ1dHRvbiBvbiB0aGUgc2lnbiB1cC5cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLmxpbmtlZGluLXNpZ25pbiB7XG4gIGJhY2tncm91bmQ6ICM0ODc1YjQ7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCM0ODc1YjQsIDEwJSk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA0LiBMYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIENvbnRhaW5lciBvbiB0aGUgY2hlY2tvdXQvcGF5bWVudCBmbG93LCBzaWduIGluL3NpZ24gdXAgZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiNjb250ZW50LXB1c2gge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLy8gQ29udGVudC1wdXNoOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICNjb250ZW50LXB1c2gge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICNjb250ZW50LXB1c2gge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG59XG5cblxuLy8gQ29udGFpbmVycyBmb3IgaW50ZXJpb3IgY29udGVudCBzZWN0aW9ucy4gTW9zdGx5IHN1cnJvdW5kaW5nIHRoZSBjb3Vyc2UgY2FyZHNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLnNpdGUtbGFuZGluZ19fY291cnNlcyxcbi5wcm9kdWN0cy13cmFwcGVyLFxuLnN0dWRlbnQtZGFzaGJvYXJkLXdyYXBwZXIsXG4uY2hlY2tvdXQtZm9ybSxcbi5zdHVkZW50LXByb2ZpbGUge1xuICBtYXgtd2lkdGg6ICRzZWN0aW9uLW1heC13aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDM1cHggMDtcbn1cblxuLnNpdGUtbGFuZGluZ19fY291cnNlcyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG4vLyBDb250YWluZXJzOiBNb2JpbGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAuc2l0ZS1sYW5kaW5nX19jb3Vyc2VzLFxuICAucHJvZHVjdHMtd3JhcHBlcixcbiAgLnN0dWRlbnQtZGFzaGJvYXJkLXdyYXBwZXIsXG4gIC5jaGVja291dC1mb3JtLFxuICAuc3R1ZGVudC1wcm9maWxlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogNzVweDtcbiAgcGFkZGluZy1yaWdodDogNzVweDtcbn1cblxuLy8gQ29sdW1uczogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4udmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNS4gQ291cnNlIENhcmRzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FyZCB7XG4gIEBpbmNsdWRlIGNhcmQ7XG59XG5cbi8vIENhcmQ6IE1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FyZC0tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcmQtLXBhZGRpbmctNSB7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmNhcmQtLXBhZGRpbmctMTUge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2FyZC0tcGFkZGluZy0yMCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cblxuLy8gQ2FyZDogU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FyZC0tYm90dG9tLW1hcmdpbi0xMCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jYXJkLS1ib3R0b20tbWFyZ2luLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuXG4vLyBDb3Vyc2UgY2FyZCBpbWFnZVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1jYXJkIHtcbiAgaGVpZ2h0OiA0NjhweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY291cnNlLWNhcmRfX2ltZyB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDNweCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDNweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMjIwcHg7XG59XG5cblxuLy8gQ291cnNlIGNhcmQgYm9keVxuLy8gLS0tLS0tLS0tLS0tLS1cbi5jb3Vyc2UtY2FyZF9fYm9keSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxMHB4O1xufVxuXG4uY291cnNlLWNhcmRfX2luc3RydWN0b3ItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG59XG5cbi5jb3Vyc2UtY2FyZF9fcHJpY2Uge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNXB4XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC5mcmVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fdGl0bGUge1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG5cbiAgYSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwyNSUpO1xuICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxufVxuXG5cbi8vIENvdXJzZSBjYXJkIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtY2FyZF9fY3RhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG5cbiAgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNvdXJzZS1jYXJkX19jdGEtc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuXG4vLyBQcm9ncmVzcyBDYXJkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5wcm9ncmVzcy1jYXJkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIC5jb3Vyc2UtY2FyZF9fYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJvZ3Jlc3MtY2FyZC1wcm9ncmVzcyB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICAucHJvZ3Jlc3MtY29tcGxldGlvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLWxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgIC5wcm9ncmVzcy1saW5lLXBlcmNlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC5wcm9ncmVzcy1saW5lLWJhciB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENhcmRzOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIC5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjAycHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKVxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbiAgLmNvdXJzZS1jYXJkIHtcbiAgICBoZWlnaHQ6IDQ4MXB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19pbWctY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4wNjNlbTsgLy8xN3B4XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5jb3Vyc2UtY2FyZCB7XG4gICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX2N0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX2JvZHkge1xuICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNi4gSGVhZGVyIE5hdlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRoZWFkZXItdGV4dC1jb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBMb2dvXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1sb2dvX19pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAzNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5oZWFkZXItc2Nob29sLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbn1cblxuXG4vLyBOYXZiYXI6IExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1uYXZfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGVhZGVyLW5hdl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gTmF2YmFyOiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItdXNlci1hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogLTI1cHggNXB4IC0yMXB4O1xufVxuXG4uZHJvcGRvd24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBCb290c3RyYXAgc3R5bGVzXG4uZHJvcGRvd24tbWVudSB7XG4gIGJhY2tncm91bmQ6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcblxuICAmID4gbGkge1xuICB9XG5cbiAgJiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgfVxuXG4gICYgPiBsaSA+IGE6aG92ZXIsXG4gICYgPiBsaSA+IGE6YWN0aXZlLFxuICAmID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBOYXZiYXI6IE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItbmF2X19tb2JpbGUtYnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGhlYWRlci10ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBXYXRjaCZSaWRlIE92ZXJyaWRlczogTmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyLWN1c3RvbSB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgYm94LXNoYWRvdzogMnB4IDJweCAxcHggcmdiYSgwLDAsMCwwLjA3KTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLm5hdmJhci1jdXN0b20gLm5hdmJhci1icmFuZCBpbWcgeyBtYXgtd2lkdGg6IDIwMHB4OyB9XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEgeyBmb250LXdlaWdodDogYm9sZDsgfVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhI215LWFjY291bnQgeyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEubXktYWNjb3VudCB7IGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IGZvbnQtc2l6ZTogMTJweDsgYm9yZGVyLXJhZGl1czogMjJweDsgcGFkZGluZzogNXB4IDI1cHg7IG1hcmdpbjogMTBweCAwOyB9XG5cbi8vIE5hdmJhcjogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG5cbiAgaGVhZGVyIC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci1sb2dvX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIEFkZGVkIGJ5IGRhdGEgbmVyZHM6ICovXG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5oZWFkZXItbmF2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19saXN0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xlZnQsXG4gIC5oZWFkZXItbmF2X19yaWdodCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0gKyAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcblxuICAuaGVhZGVyLW5hdiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gIH1cblxuICAuaGVhZGVyLXNjaG9vbC1uYW1lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDg1cHg7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gTW9iaWxlIG1lbnUgYWRkcyBvcGVuIGNsb3NlIGNsYXNzIHdoZW4gdG9nZ2xlZFxuICAuaGVhZGVyLW5hdl9fY29udGFpbmVyLm9wZW57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICB9XG5cbiAgLmhlYWRlci1sb2dvX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19tb2JpbGUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICB9XG5cbiAgLmRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA3LiBGb290ZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL3N0aWNreS1mb290ZXIvXG4jd3JhcDphZnRlciB7XG4gIGhlaWdodDogMTY2cHg7XG59XG5cbmZvb3RlciBhIHsgY29sb3I6ICM2NjY7IH1cbmZvb3RlciBhOmhvdmVyIHsgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci1uYXYge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi5mb290ZXItbmF2X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxufVxuXG4uZm9vdGVyLW5hdl9faXRlbSArIC5mb290ZXItbmF2X19pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5mb290ZXItY29weXJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uZm9vdGVyLXBvd2VyZWQtYnkge1xuICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA4LiBSZXZpZXcgU3RhcnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zdGFyLXJhdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNakJ3ZUNJZ2FHVnBaMmgwUFNJeU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHOXNlV2R2YmlCbWFXeHNQU0lqUkVSRVJFUkVJaUJ3YjJsdWRITTlJakV3TERBZ01UTXVNRGtzTmk0MU9ETWdNakFzTnk0Mk16a2dNVFVzTVRJdU56WTBJREUyTGpFNExESXdJREV3TERFMkxqVTRNeUF6TGpneUxESXdJRFVzTVRJdU56WTBJREFzTnk0Mk16a2dOaTQ1TVN3MkxqVTRNeUFpTHo0OEwzTjJaejQ9XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qQndlQ0lnYUdWcFoyaDBQU0l5TUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0c5c2VXZHZiaUJtYVd4c1BTSWpSa1pFUmpnNElpQndiMmx1ZEhNOUlqRXdMREFnTVRNdU1Ea3NOaTQxT0RNZ01qQXNOeTQyTXprZ01UVXNNVEl1TnpZMElERTJMakU0TERJd0lERXdMREUyTGpVNE15QXpMamd5TERJd0lEVXNNVEl1TnpZMElEQXNOeTQyTXprZ05pNDVNU3cyTGpVNE15QWlMejQ4TDNOMlp6ND1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICBpIH4gaSB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB+IGkge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICBpIH4gaSB+IGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnN0YXItcmF0aW5nX19pbnB1dCB7XG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyICsgaSxcbiAgICAmOmNoZWNrZWQgKyBpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5zdGFyLXJhdGluZ19fZmlsbGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnN0YXJfcmF0aW5nX19zaW5nbGUge1xuICB3aWR0aDogMjVweDtcbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gOS4gUGFnaW5hdGlvblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3ItbmV1dHJhbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xufVxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYSxcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiBsaSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3BhbiB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTAuIFNpdGUgTGFuZGluZyBQYWdlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xufVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXItY29udGVudCB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICRzZWN0aW9uLW1heC13aWR0aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZHVjdC1jYXJkc19fY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAvLyByZW1vdmVzIHRoZSBiZWZvcmUgYW5kIGFmdGVyIGNsZWFyIGZpeGVzIGZvciB0aGlzIHJvdywgdG8gZml4IHRoZSBmbGV4Ym94IGluIHNhZmFyaS5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTaXRlIExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lciB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVye1xuICAgIGhlaWdodDogMjUwcHg7XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgfVxufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMS4gU2hhcmVkIFByb2R1Y3QgTGFuZGluZyBTdHlsZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0LWxhbmRpbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHAgYSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB0aXRsZSB0ZXh0IG9uIGV2ZXJ5IHNlY3Rpb24uXG4gIC8vIEV4OiAnQ291cnNlIE92ZXJ2aWV3J1xuICAvLyAtLS0tLS0tLS0tLS0tLVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCA0MnB4O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc2l6ZTogMi4yNTBlbTsgLy8zNnB4XG4gIH1cbn1cblxuLy8gVGhpcyBpcyB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBmb3IgdGhlIGNvdXJzZS5cbi8vIEl0J3Mgbm90IGZvdW5kIGluIHRoZSBpbnN0cnVjdG9yIHNlY3Rpb24uIEl0J3MgZm91bmQgaW4gdGhlXG4vLyBDb3Vyc2UgPiBEZXRhaWxzIHNlY3Rpb24gYXQgdGhlIGJvdHRvbS4gSXQgY2FuIGNvbnRhaW4gdGV4dCBhbmQgSFRNTFxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtY29udGFjdC1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogUHJvZHVjdCBCYW5uZXIgKHRoZSBnaWFudCBpbWFnZSB0aGF0IHNwYW5zIGFjcm9zcyB0aGUgdG9wIG9mIHRoZSBwYWdlKVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnRpdGxlLWJsb2NrIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAyLjQzOGVtOyAvLzM5cHhcbiAgfVxuXG4gIC5wcm9kdWN0X19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuNGVtOyAvLzE2cHhcbiAgfVxuXG4gIC5wcm9kdWN0X19wcml2YXRlLXRpdGxlIHtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvcHMgb3BlbiB0aGUgdmVub2JveCB3aW5kb3dcbi8vIC0tLS0tLS0tLS0tLVxuXG4uYnRuLWludHJvLXZpZGVvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItbGlnaHQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHhcbiAgfVxufVxuXG4vLyBDYWxsIHRvIGFjdGlvbiBibG9ja3MuIFRoZXkgbGlzdCBpbiB0aGUgcGFnZSBoZWFkZXIgYW5kIGluIGEgc2VjdGlvblxuLy8gaW5zaWRlIHRoZSBwYWdlIGJvZHkuXG4vLyAtLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtbWFpbi1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgfVxufVxuXG4ucHJvZHVjdC1ib2R5LWJ1dHRvbi1ibG9jayB7XG4gIC5idW5kbGUtY3RhLXRhZ2xpbmUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IFByb2R1Y3QgT3ZlcnZpZXdcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1vdmVydmlldyB7XG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHdpZHRoIG9mIHRoZSBpbWFnZXMgcGVvcGxlIHB1dCBpbiB0aGUgcmVkYWN0b3IgYm94XG4gIC8vIG9uIHRoZSBjdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yZWFkbW9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnJlYWRtb3JlLXRvZ2dsZSB7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgfVxufVxuXG4vLyBTaG93cyB1cCB1bmRlciB0aGUgY291cnNlIGRlc2NyaXB0aW9uIGFuZCBpcyBlZGl0YWJsZSBieSB0aGUgdXNlclxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBtYXJnaW46IDA7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDb3Vyc2UgUmV2aWV3c1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3N0YXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnJldmlldy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDaGFwdGVyL0N1cnJpY3VsdW0gc2VjdGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbi5jaGFwdGVyLWluZm8ge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweCA1cHggMDtcbiAgICBwYWRkaW5nOiAycHggMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIGkge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIH1cbn1cblxuLnRvZ2dsZS1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtbGlnaHQtMiwgNTAlKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjgxM2VtOyAvLzEzcHhcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gTGFiZWwgdXNlZCB0byBzaG93IFwiRnJlZVwiIGNvbnRlbnQgb24gdGhlIGxhbmRpbmcgcGFnZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmxhYmVsLWZyZWUge1xuICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1ncmVlbjtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogUHJvbW90aW9uc1xuLy8gVGhpcyBzaG93cyB1cCB3aGVuIHRoZSB1c2VyIGlzIGdpdmVuIGEgY291cG9uIGxpbmtcbi8vIGNvdXJzZS11cmwvP2NvdXBvbj0xMDBcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1sYW5kaW5nIC5jb3Vyc2UtcHJvbW90aW9uIHtcbiAgcGFkZGluZzogMDtcblxuICAuY291cG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWdyZWVuO1xuICAgIGNvbG9yOiBsaWdodGVuKCRzdWNjZXNzLWdyZWVuLCA1MCUpO1xuICB9XG5cbiAgLmludmFsaWQtY291cG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQteWVsbG93O1xuICAgIGNvbG9yOiBkYXJrZW4oJGFsZXJ0LXllbGxvdywgNTAlKTtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5wcm9kdWN0LWxhbmRpbmcge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIHNlY3Rpb24gcCxcbiAgICBzZWN0aW9uIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NTBlbSAhaW1wb3J0YW50OyAvLzI4cHhcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjc1MGVtICFpbXBvcnRhbnQ7IC8vMjhweFxuICAgIH1cblxuICAgIC50aXRsZS1ibG9jayB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAucHJvZHVjdC1sYW5kaW5nIHtcbiAgICAucHJvZHVjdC1tYWluLWN0YSAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMi4gRGVmYXVsdCAvIEhpZ2ggY29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oaWdoLWNvbnZlcnQtbGFuZGluZyAuYnRuLWludHJvLXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5wcm9kdWN0LW1haW4tY3RhIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VzIHBlb3BsZSBwdXQgaW4gdGhlIHJlZGFjdG9yIGJveFxuICAvLyBvbiB0aGUgY3VycmljdWx1bSBsYW5kaW5nIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBoZWlnaHQ6IDE2MnB4O1xuICAgIHdpZHRoOiAxNjJweDtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjZmZmZmZmO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8vIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nOiBDb3Vyc2UgQ3VycmljdWx1bVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItbmV1dHJhbC1saWdodC0yLCA1JSk7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIC8vIFN0eWxlcyBjaGFwdGVyIGJsb2NrIGluIHRoZSBjdXJyaWN1bHVtIGxpc3RcbiAgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHRoZSBjaGFwdGVyIGhlYWRlclxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblxuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4IDQ1cHggNXB4IDE1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgaSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHRoZSBidXR0b24gdGhhdCBvcGVuIHVwIHRoZSBjaGFwdGVyIGNvbnRlbnRzIGxpc3RcbiAgLmNoYXB0ZXItdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLmNvdXJzZS1tYWluLWN0YSB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7XG4gIH1cbn1cblxuLy8gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC5oaWdoLWNvbnZlcnQtbGFuZGluZyB7XG5cbiAgICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgICBoZWlnaHQ6IDEwOHB4O1xuICAgICAgd2lkdGg6IDEwOHB4O1xuICAgIH1cblxuICAgIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY291cnNlLWN1cnJpY3VsdW0gIC5jaGFwdGVyLXRpbWUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTMuIEN1cnJpY3VsdW0gTGFuZGluZyBwYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY3VycmljdWx1bS1sYW5kaW5nIHtcbiAgLmNvdXJzZS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC8vIE1ha2VzIHRoZSB0d28gY29sdW1ucyBsb29rIGxpa2UgdGhleSBtYXRjaFxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zaWRlYmFyLWZpbGxlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIEluY2x1ZGVzIExpc3RcbiAgLy8gU2hvd3MgdGhlIGxpdHRsZSAxIHZpZGVvLCAxIHRleHQsIGFuZCBjb3Vyc2UgdGltZSBlbGVtZW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWluY2x1ZGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICBwYWRkaW5nOiA1cHggNnB4IDNweCA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTNlbTsgLy8xM3B4XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIEN1cnJpY3VsdW1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLmN1cnJpY3VsdW0tY2hhcHRlciArIC5jdXJyaWN1bHVtLWNoYXB0ZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cblxuICAuY2hhcHRlci10b2dnbGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgdGhlIGNoYXB0ZXIgaGVhZGVyXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcblxuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3Qge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4IDQ1cHggNXB4IDE1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG5cbiAgICBpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIH1cbiAgfVxuXG4gIC5jaGFwdGVyLXRpbWUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBDb3Vyc2UgRGV0YWlscyBTaWRlYmFyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5jb3Vyc2UtZGV0YWlscyB7XG4gICAgcGFkZGluZzogMCAwIDQwcHggMThweDtcblxuICAgIC5wcm9kdWN0LW92ZXJ2aWV3LFxuICAgIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIC8vIFRoaXMgZ2V0cyBHb29nbGUgdG8gZmFsbCBpbnRvIHBsYWNlXG4gICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICBmb250LXNpemU6IDFweDtcblxuICAgICAgLy8gVGhpcyBnZXRzIEZhY2Vib29rIHRvIGZhbGwgaW50byBwbGFjZVxuICAgICAgaWZyYW1lIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgYW4gb3B0aW9uYWwgd2lkdGggZm9yIHlvdXIgYnV0dG9uIHdyYXBwZXJzXG4gICAgLnNoYXJlLWJ0biB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmxlc3Mge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvdXJzZS1kZXRhaWxzX19zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWcge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBNdWx0aS1wcm9kdWN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAubXVsdGktcHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIH1cbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgLmNvdXJzZS1ib2R5IHtcbiAgICAgIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmNvdXJzZS1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNpZGViYXItZmlsbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIC5jb3Vyc2UtaW5jbHVkZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAuY291cnNlLWFjdGlvbnMge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTQuIEJ1bmRsZSBMYW5kaW5nIFBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJ1bmRsZSBjb250ZW50IGlzIHRoZSBsaXN0IG9mIFByb2R1Y3RzIHRoYXQgbWFrZXMgdXAgdGhlIGJ1bmRsZS5cbi8vIFdlIGRpZG4ndCB1c2Ugbm9ybWFsIGNvdXJzZSBjYXJkcyBiZWNhdXNlIHNvbWVvbmUgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gNTArXG4vLyBjb3Vyc2VzIHdoaWNoIG1ha2VzIGZvciBhIHZlcnkgbG9uZyBwYWdlLlxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmJ1bmRsZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cbi8vIGEgc2luZ2xlIGxpbmUgdGhhdCBzaXRzIHVuZGVyIHRoZSBidXR0b24uIEtpbmQgb2YgYSBsaXR0bGUgZXh0cmEgdXBzZWxsXG4uYnVuZGxlLWN0YS10YWdsaW5lIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbSB7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDEwcHg7XG5cbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICB9XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbS1pbWcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtICsgLmJ1bmRsZS1jb250ZW50X19pdGVtLFxuLmJ1bmRsZS1jb250ZW50X19pdGVtICsgLmJ1bmRsZS1jb3Vyc2UtLWhpZGRlbixcbi5idW5kbGUtY291cnNlLS1oaWRkZW4gKyAuYnVuZGxlLWNvdXJzZS0taGlkZGVuIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLmJ1bmRsZS1zZWUtbW9yZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG59XG5cblxuLy8gQnVuZGxlIExhbmRpbmcgUGFnZTogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAuYnVuZGxlLWNvbnRlbnRfX2l0ZW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHg7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTUuIE11bHRpIFByb2R1Y3RzXG4vLyBJZiBhbiBhZG1pbiBzZWxscyBtdWx0aXBsZSBwcm9kdWN0cyBvbiBhIHNpbmdsZSBsYW5kaW5nIHBhZ2UgeW91IHdpbGwgZ2V0XG4vLyB0aGlzIHNlY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLm11bHRpLXByb2R1Y3RzLFxuLmNvdXJzZS1tdWx0aS1wcm9kdWN0cyB7XG5cbiAgLm11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgbWFyZ2luOiAwIDAgNnB4IDA7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fYnV5IHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fY3RhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMgKGNlbnRlcik7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50IChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcblxuICAgIC5wcmljZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTXVsdGkgUHJvZHVjdHM6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLm11bHRpLXByb2R1Y3RzLFxuICAuY291cnNlLW11bHRpLXByb2R1Y3RzIHtcblxuICAgIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAubXVsdGktcHJvZHVjdF9fY3RhIHtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTcuIFNpZ24gdXAgLyBTaWduIGluXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udXNlci1zaWduLXVwIHtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuc2lnbl91cF9fb3IsXG4gIC5zaWduX2luX19vciB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmhlbHAtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaGFzLWVycm9yIC5oZWxwLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucmVtZW1iZXItbWUtbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cblxuICAuYnRuLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgfVxufVxuXG4vLyBMaW5rZWRpbiBidXR0b24gYW5kIGFueSBvdGhlciBzb2NpYWwvbG9naW4gYnV0dG9uc1xuLnVzZXItc2lnbi11cF9fYWx0LWxvZ2lucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLnVzZXItc2lnbi11cF9fYm90dG9tIHtcbiAgcGFkZGluZzogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaWduIGluL1NpZ24gdXA6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLnVzZXItc2lnbi11cCB7XG4gICAgLnJlbWVtYmVyLW1lLWxpbmssXG4gICAgLmZvcmdvdC1wYXNzd29yZCB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLnVzZXItc2lnbi11cF9fYWx0LWxvZ2lucyB7XG4gICAgLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAxOC4gQWxsIENvdXJzZXMvU3R1ZGVudCBEYXNoYm9hcmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0c19fZmlsdGVycyB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG1lbnVsaXN0KTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJde1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFN0dWRlbnQgRGFzaGJvYXJkIChlbnJvbGxtZW50cylcbi8vIC0tLS0tLS0tLS0tLS1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX19oZXJvIHtcbiAgcGFkZGluZzogNDBweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbn1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi8vIEFsbCBDb3Vyc2VzL1N0dWRlbnQgRGFzaGJvYXJkOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLnByb2R1Y3RzX19maWx0ZXItYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnN0dWRlbnQtZGFzaGJvYXJkX19oZXJvIHtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gIH1cblxuICAuc3R1ZGVudC1kYXNoYm9hcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAxOS4gQ2hlY2tvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jaGVja291dC1mb3JtLWNvbnRhaW5lcl9faW5uZXIge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3gtc2hhZG93OiAtNXB4IDVweCAyMnB4IHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvZHkge1xuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvdHRvbSB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWRlc2NyaXB0aW9uIHtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLy8gVGhlIHNlY3VyZSBjaGVja291dCBpbWFnZXMgb24gdGhlIGJvdHRvbSBsZWZ0XG4ub3JkZXItc2VjdXJpdHkge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvdXBvbi1mb3JtX19jb3Vwb24tY29kZSB7XG4gIFt0eXBlPVwidGV4dFwiXXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBFbnN1cmUgdGhhbmt5b3UgcGFnZSB0cmFja2luZyBwaXhlbCBpcyBub3QgdmlzaWJsZVxuaW1nW3NyYyo9XCJnb29nbGVhZHNlcnZpY2VzLmNvbVwiXSB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG59XG5cbi8vIENoZWNrb3V0OiBQcm9ncmVzcyBiYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuI3Byb2dyZXNzYmFyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogMCBhdXRvIDI1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA3MCU7XG4gIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNwcm9ncmVzc2JhciBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEzZW07IC8vMTNweFxuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKCAtNTAlICsgMTBweCk7XG4gICAgdG9wOiA5cHg7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmU6YmVmb3JlLFxuICAmLmFjdGl2ZTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogQ29uZmlybSBPcmRlclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBMaXN0IG9mIHByb2R1dHMgYmVpbmcgYm91Z2h0IGFuZCB0aGVpciB0b3RhbCBwcmljZVxuLm9yZGVyLXByb2R1Y3RfX2xpc3Qge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ub3JkZXItcHJvZHVjdF9fdG90YWwtYW1vdW50LFxuLm9yZGVyLXByb2R1Y3RfX2NvdXBvbi1uYW1lIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5vcmRlci1wcm9kdWN0X19jb3Vwb24ge1xuXG4gIC5jb3Vwb24tY2hlY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLmNvdXBvbiB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gIH1cbn1cblxuLy8gQ2hlY2tvdXQ6IFBheW1lbnQgSW5mb1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuXG4gIC5jcmVkaXQtY2FyZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgLmV4cGlyYXRpb24tZGF0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICB9XG4gIH1cblxuICAucGF5cGFsLWJ1dHRvbi1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wYXlwYWwtYnV0dG9uLXJvd19fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbjogNXB4IDA7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogVGhhbmsgeW91XG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC10aGFua3lvdSAubXVsdGktcHJvZHVjdHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2Uge1xuICBwYWRkaW5nOiA1cHggMDtcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICB9XG59XG5cbi5jaGVja291dC10aGFua3lvdV9fY291cnNlLW5hbWUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4uY2hlY2tvdXQtYnVuZGxlX19tb3JlX2Vucm9sbG1lbnRzX2xpbWl0IHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBUaGFuayB5b3Vcbi8vIC0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2UtbmFtZSxcbiAgLmNoZWNrb3V0LXRoYW5reW91X19idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja291dC10aGFua3lvdV9fY291cnNlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ2hlY2tvdXQ6IEVycm9yc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuICAjbG9jYWwtcGF5bWVudC1lcnJvcnMsXG4gICNjb3Vwb24tZXJyb3JzLFxuICAucGF5bWVudC1lcnJvcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gIC8vIEVycm9ycyBmb3IgYmFkIGNyZWRpdCBjYXJkIG51bWJlciwgb3IgaW52YWxpZCBleHBpcmF0aW9uXG4gICNsb2NhbC1wYXltZW50LWVycm9ycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICNjb3Vwb24tZXJyb3JzIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICB9XG59XG5cbi5jaGVja291dC1mb3JtIHtcbiAgI2Vycm9ycyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIGJhY2tncm91bmQ6ICNmZmQ0Y2M7XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDUlO1xuICB9XG5cbiAgLmFsZXJ0LWVycm9yIHtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICAgIGNvbG9yOiAjZTc1NzI1O1xuICB9XG5cbiAgLmVycm9yLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cblxuICAuYWxlcnQtZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAuYWxlcnQtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTc1NzI1O1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtICNlcnJvcnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiAuYnRuIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIC5leHBpcmF0aW9uLWRhdGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyX19pbm5lciB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWNvZGUsXG4gIC5jb3Vwb24tZm9ybV9fYXBwbGllZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAjcHJvZ3Jlc3NiYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBsaTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gICAgfVxuXG4gICAgbGk6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYyggLTUwJSArIDVweCk7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5vcmRlci1wcm9kdWN0X19saXN0IHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICB9XG5cbiAgLm9yZGVyLXByb2R1Y3RfX2NvdXBvbiAuY291cG9uLWNoZWNrIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIwLiBDb3Vyc2UgTGFuZGluZyBQYWdlIC0gVmlkZW8gQ2VudHJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnZpZGVvLWxhbmRpbmcge1xuXG4gIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjQwcHg7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAudGl0bGUtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbiAgLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4gIC5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY291cnNlLWRlc2NyaXB0aW9uIHtcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmNvdXJzZS12aWRlbyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IC0yMDBweCBhdXRvIDYwcHg7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCAyOXB4IC02cHggcmdiYSgwLDAsMCwwLjM5KTtcbiAgfVxuXG4gIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmluc3RydWN0b3JfX2ltZy13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAtMTU0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgfVxuXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG5cbiAgLmNoYXB0ZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuY2hhcHRlci10aW1lIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC1saWdodC0xO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNHB4IDMwcHggNHB4IDE1cHg7XG5cbiAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5jb3Vyc2UtcmVsYXRlZC1wcm9kdWN0cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBjYXJkO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyBWaWRlbyBMYW5kaW5nIFBhZ2U6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC52aWRlby1sYW5kaW5nIHtcblxuICAgIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMjAwcHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC52aWRlby1sYW5kaW5nIHtcblxuICAgIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMTUwcHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS12aWRlbyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAtMTUwcHggYXV0byA0MHB4O1xuICAgIH1cblxuICAgIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCR0ZXh0LWNvbG9yLCA1NSUpO1xuICAgIH1cblxuICAgIC5jaGFwdGVyLW5hbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIH1cblxuICAgIC5jaGFwdGVyLWxpc3Qge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIH1cblxuICAgIC5pbnN0cnVjdG9yX19pbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDYwcHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS12aWRlbyB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiAtNTVweCBhdXRvIDMwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDIxLiBTdHVkZW50L0FmZmlsaWF0ZSBlZGl0IGFjY291bnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zdHVkZW50LXByb2ZpbGUge1xuXG4gIC8vIFVwbG9hZCBzdHVkZW50IGluc3RydWN0b3IgaW1hZ2VcbiAgLmJ0bi11cGxvYWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFjY291bnQtY29udGVudC1wcm9maWxlLWltZyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gICNmZWVkYmFjay1hcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cblxuICAjZXJyb3JfZXhwbGFuYXRpb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmQ0Y2M7XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gICAgcGFkZGluZzogMTJweCAzMHB4O1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIGNvbG9yOiAjZTc1NzI1O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIFN0dWRlbnQgZWRpdCBhY2NvdW50OiBDb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3VudC1jb250ZW50LFxuLmFmZmlsaWF0ZS1jb250ZW50IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgLmFjY291bnQtY29udGVudC1mb290ZXIsXG4gIC5hZmZpbGlhdGUtY29udGVudC1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG5cbi5hY2NvdW50LWNvbnRlbnRfX2JhY2stbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4vLyBTdHVkZW50IGVkaXQgYWNjb3VudDogQWNjb3VudCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3VudC1tZW51LFxuLmFmZmlsaWF0ZS1tZW51IHtcbiAgQGluY2x1ZGUgY2FyZDtcblxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW06aG92ZXIsXG4gIGEubGlzdC1ncm91cC1pdGVtOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSxcbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyLFxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGxpbmstY29sb3I7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIyLiBGb3Jnb3QgUGFzc3dvcmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5yZXNldC1wYXNzd29yZC1jb250YWluZXIge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC5yZXNldC1wYXNzd29yZF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyMy4gU2luZ2xlIFRhc2sgVmlld1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpbmdsZS10YXNrLXZpZXcge1xuICBiYWNrZ3JvdW5kOiAjZjRmNWY3IGltYWdlLXVybChcImRlZmF1bHRzL2JnLXNoYXBlcy1ncmV5LnBuZ1wiKSB0b3AgbGVmdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAuY29udGFpbmVyIHtcbiAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC50aGlua2lmaWMtbG9nbyB7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtdGFzay12aWV3X19jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICAuc2luZ2xlLXRhc2stdmlld19fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICB9XG5cbiAgLnNpbmdsZS10YXNrLXZpZXdfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gIC5zaW5nbGUtdGFzay12aWV3ICB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyNC4gV2F0Y2ggJiBSaWRlIFNwZWNpZmljIFN0eWxlczpcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qIEhlbHBlciBDbGFzc2VzICovXG4uYnJhbmQtYmx1ZSB7IGNvbG9yOiAjMmJkMWMzOyB9XG4udGV4dC1zcGFjZWQgeyBsZXR0ZXItc3BhY2luZzogLjFlbTsgfVxuLnVwc2l6ZSB7IGZvbnQtc2l6ZTogMTIwJTsgfVxuLm0tYiB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmJ0bi1vdXRsaW5lIHsgYm9yZGVyOiAzcHggc29saWQgIzJCRDFDMzsgYm9yZGVyLXJhZGl1czogMjJweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjMDAwOyBwYWRkaW5nOiA2cHggMjVweDsgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOyB9XG4uYnRuLW91dGxpbmU6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMkJEMUMzOyBjb2xvcjogI2ZmZjsgfVxuLmJ0bi1vdXRsaW5lLnBpbmsgeyBiYWNrZ3JvdW5kOiAjZGQxZDRjOyBib3JkZXItY29sb3I6ICNkZDFkNGM7IGNvbG9yOiAjZmZmOyB9XG5cbi5jaGVja2xpc3QgeyBsaXN0LXN0eWxlOiBub25lOyB9XG4uY2hlY2tsaXN0IGxpIHsgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZGlpNDkwazE4Nnkycy5jbG91ZGZyb250Lm5ldC8yMTI2NS8zNDE1Ny9SY1lyeHNQWlFoYUhSUWQ1d1dOeV9pY29uLWNoZWNrbGlzdC5wbmcpIDAgNHB4IG5vLXJlcGVhdDsgcGFkZGluZy1sZWZ0OiAyMnB4OyB9XG5cbi8vIFBhZ2UgY29udGVudFxuLnBhZ2VfY29udGVudCB7IHBhZGRpbmc6IDUwcHggMDsgfVxuXG4vKiBJbnRybyAqL1xuI2ludHJvIHsgYmFja2dyb3VuZDogIzAwMDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgY29sb3I6ICNmZmY7IGRpc3BsYXk6IHRhYmxlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA5NHZoOyB9XG4jaW50cm8tY2VsbCB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuI2xhdW5jaC1ub3RlIHsgZm9udC1mYW1pbHk6IFwiRG9zaXNcIixzYW5zLXNlcmlmOyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxN3B4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuI2xhdW5jaC1ub3RlIGltZyB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyogQmFubmVyIFRleHQgKi9cbiNpbnRyby10ZXh0IHsgLyptYXgtd2lkdGg6IDY4MHB4OyovIG1hcmdpbjogMjBweCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiNpbnRyby10ZXh0IC5icmFuZCB7IHdpZHRoOiAxNDVweDsgfVxuI2ludHJvLXRleHQgaDEgeyBmb250LXNpemU6IDYycHg7IGZvbnQtd2VpZ2h0OiAyMDA7IG1hcmdpbjogMTBweCAwOyB9XG4jaW50cm8tdGV4dCBwIHsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyNXB4OyBtYXJnaW4tdG9wOiAwOyB9XG5cbiNnZXQtc3RhcnRlZCB7IHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAxMHB4IDM1cHg7IGJvcmRlci1yYWRpdXM6IDMwcHg7IGJhY2tncm91bmQ6ICNjODA3NGI7IGNvbG9yOiAjZmZmOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LWZhbWlseTogXCJEb3Npc1wiLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBib2xkOyBsZXR0ZXItc3BhY2luZzogMXB4OyBib3JkZXI6IDNweCBzb2xpZCAjYzgwNzRiOyBmb250LXNpemU6IDE1cHg7IH1cbiNnZXQtc3RhcnRlZDpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyLWNvbG9yOiAjZmZmOyBjb2xvcjogI2ZmZjsgfVxuXG4uYXNzb2NpYXRpb24gc21hbGwgeyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAycHg7IH1cblxuLyogYmxhY2sgbW9kYWwgKi9cbi5tb2RhbC5ibGFjayAubW9kYWwtY29udGVudCB7IGJhY2tncm91bmQ6ICMwMDA7IGJvcmRlcjogMXB4IHNvbGlkICMyZjJkMmQ7IGJveC1zaGFkb3c6IDAgMjJweCAzMnB4IDAgIzAwMDsgfVxuLm1vZGFsLmJsYWNrIC5tb2RhbC1oZWFkZXIgeyBib3JkZXI6IG5vbmU7IG1pbi1oZWlnaHQ6IDU1cHg7IH1cbi5tb2RhbC5ibGFjayAubW9kYWwtaGVhZGVyIC5jbG9zZSB7IHRleHQtc2hhZG93OiBub25lOyBjb2xvcjogI2ZmZjsgb3BhY2l0eTogLjY7IH1cbi5tb2RhbC5ibGFjayAubW9kYWwtaGVhZGVyIC5jbG9zZTpob3ZlciB7IG9wYWNpdHk6IDE7IH1cblxuI2luZGljYXRvciB7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IHdpZHRoOiAxMDAlOyBsZWZ0OiAwOyBmb250LXNpemU6IDQwcHg7IHBhZGRpbmc6IDAgMCAyMHB4IDA7IGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiNpbmRpY2F0b3IgYSB7IGNvbG9yOiAjZmZmOyBvcGFjaXR5OiAuNTsgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOyB9XG4jaW5kaWNhdG9yIGE6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qIExhdW5jaGluZyAmIEJ1ZGR5IHBhc3MgZ3JhcGhpY3MgKi9cbiN3ci1mZWF0dXJlcyB7IHBhZGRpbmc6IDE1cHggMDsgfVxuI3dyLWZlYXR1cmVzIC5jb250YWluZXIgeyB3aWR0aDogYXV0bzsgbWF4LXdpZHRoOiAxNDQwcHg7IH1cbi5jdGEgeyBmb250LWZhbWlseTogXCJEb3Npc1wiLHNhbnMtc2VyaWY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiBib2xkOyBiYWNrZ3JvdW5kOiAjNjY2OyBib3JkZXI6IDFweCBzb2xpZCAjNjg2ZDdhOyBwYWRkaW5nOiAyMHB4IDUwcHg7IGhlaWdodDogMTg3cHg7IG1heC13aWR0aDogODgzcHg7IG1hcmdpbjogMTVweCBhdXRvOyB9XG4uY3RhIHAgeyBtYXgtd2lkdGg6IDUxMHB4OyBmb250LXNpemU6IDE3cHg7IH1cbi5jdGEgLnRleHQtZ3JhcGhpYyB7ICB9XG5cbi5jdGEjbGF1bmNoaW5nLXNvb24geyBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9kaWk0OTBrMTg2eTJzLmNsb3VkZnJvbnQubmV0LzIxMjY1LzM0MTU3L1BJaENZbVFKMmhYYTkzQ3NpaVpnX2JnLWxhdW5jaGluZy1zb29uLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IGNvbG9yOiAjZmZmOyB9XG4uY3RhI2xhdW5jaGluZy1zb29uIC50ZXh0LWdyYXBoaWMgeyBtYXJnaW4tbGVmdDogLTIwcHg7IH1cblxuLmN0YSNidWRkeS1wYXNzIHsgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZGlpNDkwazE4Nnkycy5jbG91ZGZyb250Lm5ldC8yMTI2NS8zNDE1Ny9zQnp0QUJwNVFwcTBsZnhCMUVCa19iZy1idWRkeS1wYXNzLWxnLmpwZykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDsgcGFkZGluZy1yaWdodDogMzBweDsgfVxuLnNwLXdoaXRlIHsgbWFyZ2luLWxlZnQ6IDUwcHg7IH1cblxuLyogU25vd2JvYXJkaW5nIFNpbXBsaWZpZWQgKi9cbiNzaW1wbGlmaWVkIHsgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZGlpNDkwazE4Nnkycy5jbG91ZGZyb250Lm5ldC8yMTI2NS8zNDE1Ny9VVmZ3UmFJTVRHT0ZoZjN2YU1Gcl9ub2lzZS1iZy5qcGcpICNmOGY5ZjU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgcGFkZGluZzogNjBweCAwOyBmb250LXNpemU6IDE0cHg7IH1cbiNzaW1wbGlmaWVkIGgyIHsgbWFyZ2luLXRvcDogMDsgfVxuI3NpbXBsaWZpZWQgaDIgc3BhbiB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiNzaW1wbGlmaWVkIC5sZWFkIHsgfVxuI3NpbXBsaWZpZWQgdWwgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4jc2ltcGxpZmllZCBoNCB7IGZvbnQtZmFtaWx5OiBcIkRvc2lzXCIsc2Fucy1zZXJpZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMTVweDsgfVxuI3NpbXBsaWZpZWQgLmljb24geyBtYXJnaW4tYm90dG9tOiAyMHB4OyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5jaXJjbGUtc2Nyb2xsIHsgYm9yZGVyOiAzcHggc29saWQgIzJiZDFjMzsgY29sb3I6ICMyYmQxYzM7IHdpZHRoOiA1OXB4OyBoZWlnaHQ6IDU5cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMzZweDsgcGFkZGluZy10b3A6IDVweDsgbWFyZ2luOiAyMHB4IDAgMCAwOyB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IH1cbi5jaXJjbGUtc2Nyb2xsOmhvdmVyIHsgY29sb3I6ICM2NjY7IGJvcmRlci1jb2xvcjogIzY2NjsgfVxuXG4uc25vd2JvYXJkLWxpc3QgeyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyB9XG4uc25vd2JvYXJkLWxpc3QgbGkgeyBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9kaWk0OTBrMTg2eTJzLmNsb3VkZnJvbnQubmV0LzIxMjY1LzM0MTU3LzhNd0pZZmNmUWdtNlR5NEVXTjNFX3Nub3dmbGFrZS5wbmcpIGxlZnQgNHB4IG5vLXJlcGVhdDsgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbi8qIDUgQXJlYXMgb2YgRm9jdXMgKi9cbiNmb2N1cy1hcmVhcyB7IHBhZGRpbmc6IDgwcHggMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7IH1cbiNmb2N1cy1hcmVhcyBoMiBzcGFuIHsgZm9udC13ZWlnaHQ6IDIwMDsgfVxuI2ZvY3VzLWFyZWFzIC5sZWFkIHsgY29sb3I6ICM1ZjYxNWY7IH1cbiNmb2N1cy1hcmVhcyAuY2hlY2tsaXN0IHsgZm9udC1zaXplOiAxNHB4OyB9XG4jZm9jdXMtYXJlYXMgLmNoZWNrbGlzdCBsaSB7IHBhZGRpbmc6IDNweCAwIDNweCAyMHB4OyB9XG5cbi5mb2N1c2VzIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uZm9jdXMgeyB3aWR0aDogMjAlOyBoZWlnaHQ6IDM0OHB4OyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHBhZGRpbmc6IDIwcHg7IG1hcmdpbjogMjBweCAwOyB9XG4uZm9jdXMgaDQgeyBmb250LXdlaWdodDogMjAwOyB9XG4uZm9jdXMgaW1nIHsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuLmZvY3VzIHNtYWxsIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogZ3JheSBjb250ZW50IGNvbnRhaW5lciAqL1xuI2NvbnRlbnQtY29tYm8geyBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9kaWk0OTBrMTg2eTJzLmNsb3VkZnJvbnQubmV0LzIxMjY1LzM0MTU3L0dIWXJ5VmpSWEd5Ykp2MmYyamtjX25vaXNlLWJnLWFsdC5qcGcpICNmY2ZjZjc7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG4jY29udGVudC1jb21ibyAuYmFja2dyb3VuZC1ncmFwaGljIHsgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZGlpNDkwazE4Nnkycy5jbG91ZGZyb250Lm5ldC8yMTI2NS8zNDE1Ny9oN2psMnNUTlRDYUpVU3JJbWo1el9zbm93LWdyYXBoaWMuanBnKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7IHBhZGRpbmc6IDUwcHggMDsgfVxuXG4vKiBJbnN0cnVjdG9ycyAqL1xuI2luc3RydWN0b3JzIHsgYmFja2dyb3VuZDogI2ZmZjsgcGFkZGluZzogNDBweCAzMHB4OyBib3gtc2hhZG93OiAxcHggNHB4IDQzcHggMCByZ2JhKDAsMCwwLDAuMSk7IG1hcmdpbjogMCAwIDYwcHggMDsgfVxuI2luc3RydWN0b3JzIGgyIHsgbWFyZ2luLXRvcDogMDsgfVxuI2luc3RydWN0b3JzIHNtYWxsIHsgZGlzcGxheTogYmxvY2s7IH1cbiNpbnN0cnVjdG9ycyAubGVhZCB7IG1hcmdpbi1ib3R0b206IDMwcHg7IGNvbG9yOiAjNWY2MTVmOyB9XG4jaW5zdHJ1Y3RvcnMgaW1nIHsgbWFyZ2luOiAyMHB4IDAgMTBweCAwOyB9XG5cbi8qIEhEIFZpZGVvcyAqL1xuI3ZpZGVvcyB7IGJhY2tncm91bmQ6IHVybChodHRwczovL2RpaTQ5MGsxODZ5MnMuY2xvdWRmcm9udC5uZXQvMjEyNjUvMzQxNTcvMDB2ZjQxWkxRMHU5WDhSTGRSNkNfdmlkZW8tYmcuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCAjMTUxMzEzOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBwYWRkaW5nOiA3MHB4IDE1cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7IH1cbiN2aWRlb3MgaDIgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIE91ciBEcm9uZSAqL1xuI2Ryb25lIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6IDMwcHggMDsgfVxuI2Ryb25lIC5jb250YWluZXIgeyB9XG4jZHJvbmUgaW1nIHsgbWFyZ2luLXJpZ2h0OiAxNXB4OyBmbG9hdDogbGVmdDsgfVxuI2Ryb25lIHAgeyBwYWRkaW5nOiAyMHB4IDAgMCAwOyB9XG4jZHJvbmUgcCBzdHJvbmcgeyBjb2xvcjogI2EyNzQxYTsgZm9udC1zaXplOiAxOHB4OyB9XG5cbi8qIE1vYmlsZSBSZWFkeSAqL1xuLm1vYmlsZS1tZXNzYWdlIHsgcGFkZGluZzogMTIwcHggMCAwIDA7IG1heC13aWR0aDogNDQwcHg7IG1hcmdpbjogMCBhdXRvOyB9XG4ubW9iaWxlLW1lc3NhZ2UgaDQgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiAjMmJkMWMzOyBsZXR0ZXItc3BhY2luZzogLjFlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLm1vYmlsZS1tZXNzYWdlIGgyIHsgbWFyZ2luLXRvcDogMTBweDsgfVxuLm1vYmlsZS1tZXNzYWdlIGgyIHNwYW4geyBmb250LXdlaWdodDogMjAwOyB9XG5cbi8qIFRlc3RpbW9uaWFscyAqL1xuI3Rlc3RpbW9uaWFscyB7IHBhZGRpbmc6IDQwcHggMDsgfVxuI3Rlc3RpbW9uaWFscyBzdHJvbmcgeyBmb250LWZhbWlseTogXCJEb3Npc1wiLHNhbnMtc2VyaWY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7IGZvbnQtc2l6ZTogMTNweDsgfVxuXG4vKiBGb290ZXIgKi9cbmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjRmNGY0IDAlLCAjZmZmZmZmIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmNGY0ZjQgMCUsI2ZmZmZmZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2Y0ZjRmNCAwJSwjZmZmZmZmIDEwMCUpO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbmZvb3RlciAuYnJhbmQgeyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuI2NhcHR1cmUgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDAgMCAyMHB4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4jY2FwdHVyZSBoMyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC13ZWlnaHQ6IDIwMDsgbWFyZ2luOiAwIDEwcHggMCAwOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4jc3Vic2NyaWJlIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAycHggc29saWQgI2QyZDJkMjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IH1cbiNzdWJzY3JpYmUgLmZpZWxkLWVtYWlsIHsgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZGlpNDkwazE4Nnkycy5jbG91ZGZyb250Lm5ldC8yMTI2NS8zNDE1Ny9jYmxJcnFZUVQ5bTlEYUJjRlk4Q19pY29uLWVtYWlsLnBuZykgMTBweCAxMXB4IG5vLXJlcGVhdCAjZmZmOyBwYWRkaW5nOiA0cHggMTBweCA0cHggMzVweDsgbGV0dGVyLXNwYWNpbmc6IC4xZW07IGZvbnQtc2l6ZTogMTJweDsgd2lkdGg6IDMwMHB4OyBib3JkZXI6IG5vbmU7IGhlaWdodDogMzRweDsgbWFyZ2luOiAwOyBvdXRsaW5lOiBub25lOyB9XG4jc3Vic2NyaWJlLmlzX2ZvY3VzZWQgeyBib3JkZXItY29sb3I6ICMyQkQxQzM7IH1cbiNzdWJzY3JpYmUgLmJ0bi1zdWJzY3JpYmUgeyBwYWRkaW5nOiAzcHggNnB4IDAgNnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGNvbG9yOiAjMmJkMWMzOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQ6IG5vbmU7IGhlaWdodDogMzRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAxN3B4OyBtYXJnaW46IDA7IHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsgfVxuI3N1YnNjcmliZSAuYnRuLXN1YnNjcmliZTpob3ZlciB7IGNvbG9yOiAjZTY2MjI3OyB9XG5cbmZvb3RlciAuc29jaWFsIHsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtc2l6ZTogMzBweDsgfVxuZm9vdGVyIC5zb2NpYWwgYSB7IGNvbG9yOiAjNGU0ZTRlOyB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IH1cbmZvb3RlciAuc29jaWFsIGE6aG92ZXIgeyBjb2xvcjogIzJiZDFjMzsgfVxuXG4jYXNzb2NpYXRpb25zIHsgcGFkZGluZzogMTVweCAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7IGJvcmRlci1yYWRpdXM6IDZweDsgbWFyZ2luOiAwIDAgMjVweCAwOyB9XG4jYXNzb2NpYXRpb25zIGg0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDVweCAxMHB4OyBmb250LXdlaWdodDogMzAwOyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjNjY2OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4jYXNzb2NpYXRpb25zIGltZyB7ICBtYXgtaGVpZ2h0OiA1MHB4OyBtYXJnaW46IDVweCAxMHB4OyB9XG4jYXNzb2NpYXRpb25zIGE6aG92ZXIgaW1nIHsgb3BhY2l0eTogLjg7IH1cblxuLyogUmVzb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5mb2N1cyB7IHdpZHRoOiAzMyU7IH1cblx0Lm1vYmlsZS1tZXNzYWdlIHsgcGFkZGluZy10b3A6IDYwcHg7IH1cblx0I2NhcHR1cmUgaDMgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cdC5jdGEjYnVkZHktcGFzcyB7IGhlaWdodDogYXV0bzsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7IH1cblxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm5hdmJhci1uYXYgeyBtYXJnaW46IDcuNXB4IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXHQubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaS5yb3VuZGVkID4gYSB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXHQjaW50cm8tdGV4dCB7IHBhZGRpbmc6IDAgMTBweDsgfVxuXHQjaW50cm8tdGV4dCBoMSB7IGZvbnQtc2l6ZTogMzRweDsgZm9udC13ZWlnaHQ6IDIwMDsgfVxuXHQjZm9jdXMtYXJlYXMgeyBwYWRkaW5nOiAzMHB4IDA7IH1cblx0LmZvY3VzIHsgd2lkdGg6IGF1dG87IGZsb2F0OiBub25lOyBoZWlnaHQ6IGF1dG87IG1hcmdpbjogMDsgcGFkZGluZzogMjVweCAwIDAgMDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cblx0Lm1vYmlsZS1tZXNzYWdlIHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nLXRvcDogMDsgfVxuXHQjbW9iaWxlLXJlYWR5IGltZyB7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuXHQjaW5zdHJ1Y3RvcnMgeyBwYWRkaW5nOiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblx0I3Rlc3RpbW9uaWFscyBpbWcgeyBmbG9hdDogbm9uZTsgbWFyZ2luOiAwIGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG5cdCN0ZXN0aW1vbmlhbHMgcCB7IG1hcmdpbjogMCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblx0I2Ryb25lIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cdCNkcm9uZSBpbWcgeyBmbG9hdDogbm9uZTsgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG5cdCNzaW1wbGlmaWVkIC5iYWNrZ3JvdW5kLWdyYXBoaWMgeyBiYWNrZ3JvdW5kOiBub25lOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDMwcHggMDsgfVxuXHQjc3Vic2NyaWJlIC5maWVsZC1lbWFpbCB7IHdpZHRoOiAyMjBweDsgfVxuXHRmb290ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblx0Zm9vdGVyIC5zb2NpYWwgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDIwcHggMDsgfVxuXHQjYWNhZGVteS1zaWdudXAgLm1vZGFsLWRpYWxvZyB7IHdpZHRoOiBhdXRvOyB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLAoJCSIvLyBCb3VyYm9uIDQuMi42XG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLAoJCSIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwKCQkiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLAoJCSIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsCgkJIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwKCQkiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xuICAgICAgJG1pbnVzOiB0cnVlO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwKCQkiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwKCQkiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsCgkJIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwKCQkiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwKCQkiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsCgkJIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHVucXVvdGUoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcInJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwKCQkiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbiAgLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwKCQkiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xuLy8vICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTYwYjU1O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggY29ybmVycyBvbiB0aGUgc2lkZSBvZiBhIGJveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xuLy8vICAgICBib3JkZXItdG9wLXdpZHRoOiAxZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBidXR0b24sXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLy8vICAgYnV0dG9uOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxuXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xuJGFsbC1idXR0b25zLWFjdGl2ZTogYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xuJGFsbC1idXR0b25zLWZvY3VzOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBmb2N1cyk7XG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcblxuJGFsbC1idXR0b24taW5wdXRzOiAgICAgICAgJGFsbC1idXR0b25zO1xuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogICRhbGwtYnV0dG9ucy1mb2N1cztcbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogICRhbGwtYnV0dG9ucy1ob3ZlcjtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsxMDAlXVxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGVsbGlwc2lzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuLy8vICAgfVxuXG5AbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcblxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcblxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuIiwKCQkiLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxuXG5AbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IG51bGwpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmICRoZWlnaHQge1xuICAgIEB3YXJuIFwiVGhlIGBoaWRlLXRleHRgIG1peGluIGhhcyBjaGFuZ2VkIGFuZCBubyBsb25nZXIgcmVxdWlyZXMgYSBoZWlnaHQuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXB0ZWQgaW4gdjUuMC4wXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCAzZW0gMjB2aCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwdmg7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYG1hcmdpbmBcblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwKCQkiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4vLy8gICB0ZXh0YXJlYSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XG5cbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vL1xuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcbi8vL1xuLy8vIEB0eXBlIGN1YmljLWJlemllclxuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwKCQkiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgIH1cblxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9IEBlbHNlIHtcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcbiAgfVxufVxuIiwKCQkiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEB3YXJuIFwiVGhlIGlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkYmFzZS1jb2xvcjtcbiAgICAkdGV4dC1zaXplOiAkc3R5bGU7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICAvLyBDb2xvcmVkIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBCdXR0b25cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBGbGF0IEJ1dHRvblxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEZsZXhpYmxlIGdyaWRcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3JpZCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIEZsZXhpYmxlIGd1dHRlclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3V0dGVyIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG5cbiAgQHdhcm4gXCJUaGUgZ3JpZC13aWR0aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XG5cbiAgQHdhcm4gXCJUaGUgZ29sZGVuLXJhdGlvIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFBsZWFzZSB1c2UgdGhlIG1vZHVsYXItc2NhbGUgZnVuY3Rpb24sIGluc3RlYWQuXCI7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcblxuICBAd2FybiBcIlRoZSBib3gtc2l6aW5nIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFRoaXMgcHJvcGVydHkgY2FuIG5vdyBiZSB1c2VkIHVuLXByZWZpeGVkLlwiO1xufVxuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQUNBLE9BQU8sQ0FBUCxxREFBTyxDQU1QLElBQUksQUFBQSxDQUFDLFdBQVcsQ0FBQyxVQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSyxDQUFDLHdCQUF3QixDQUFDLElBQUssQ0FBRSxBQUFELElBQUksQUFBQSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEFBQUEsQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFFLEFBQUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxBQUFBLENBQUMsT0FBTyxDQUFDLFlBQWEsQ0FBQyxjQUFjLENBQUMsUUFBUyxDQUFFLEFBQUQsS0FBSyxBQUFBLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFFLENBQUQsQUFBQSxNQUFDLEFBQUEsRUFBUSxRQUFRLEFBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSyxDQUFFLEFBQUQsQ0FBQyxBQUFBLENBQUMsZ0JBQWdCLENBQUMsV0FBWSxDQUFFLEFBQUQsQ0FBQyxBQUFBLE9BQU8sQ0FBQyxDQUFDLEFBQUEsTUFBTSxBQUFBLENBQUMsT0FBTyxDQUFDLENBQUUsQ0FBRSxBQUFELElBQUksQ0FBQSxBQUFBLEtBQUMsQUFBQSxDQUFNLENBQUMsYUFBYSxDQUFDLFVBQVcsQ0FBRSxBQUFELENBQUMsQ0FBQyxNQUFNLEFBQUEsQ0FBQyxXQUFXLENBQUMsR0FBSSxDQUFFLEFBQUQsR0FBRyxBQUFBLENBQUMsVUFBVSxDQUFDLE1BQU8sQ0FBRSxBQUFELEVBQUUsQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBRSxBQUFELElBQUksQUFBQSxDQUFDLFVBQVUsQ0FBQyxJQUFLLENBQUMsS0FBSyxDQUFDLElBQUssQ0FBRSxBQUFELEtBQUssQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUUsQUFBRCxHQUFHLENBQUMsR0FBRyxBQUFBLENBQUMsU0FBUyxDQUFDLEdBQUksQ0FBQyxXQUFXLENBQUMsQ0FBRSxDQUFDLFFBQVEsQ0FBQyxRQUFTLENBQUMsY0FBYyxDQUFDLFFBQVMsQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFD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VyxBQUFDLENBQUUsT0FBTyxDQUFFLE1BQU8sQ0FBSSxBQUNsQyxXQUFXLENBQUMsRUFBRSxBQUFDLENBQUUsU0FBUyxDQUFFLElBQUssQ0FBRSxXQUFXLENBQUUsR0FBSSxDQUFJLEFBQ3hELFlBQVksQUFBQyxDQUFFLE9BQU8sQ0FBRSxNQUFPLENBQUksQUFDbkMsTUFBTSxBQUFDLENBQUUsS0FBSyxDQUFFLElBQUssQ0FBRSxLQUFLLENBQUUsSUFBSyxDQUFFLE1BQU0sQ0FBRSxJQUFLLENBQUUsTUFBTSxDQUFFLENBQUUsQ0FBRSxPQUFPLENBQUUsVUFBVyxDQUFFLFVBQVUsQ0FBRSxjQUFlLENBQUksQUFDckgsZUFBZSxBQUFDLENBQUUsVUFBVSxDQUFFLE1BQU8sQ0FBRSxXQUFXLENBQUUsQ0FBRSxDQUFJLEFBQzFELGFBQWEsQ0FBQyxHQUFHLEFBQUMsQ0FBRSxNQUFNLENBQUUsTUFBTyxDQUFFLE9BQU8sQ0FBRSxLQUFNLENBQUksQUFDeEQsWUFBWSxBQUFDLENBQUUsT0FBTyxDQUFFLElBQUssQ0FBRSxVQUFVLENBQUUsTUFBTyxDQUFJLEFBQ3RELGFBQWEsQ0FBQyxHQUFHLEFBQUMsQ0FBRSxLQUFLLENBQUUsSUFBSyxDQUFFLE1BQU0sQ0FBRSxNQUFPLENBQUUsT0FBTyxDQUFFLEtBQU0sQ0FBSSxBQUN0RSxhQUFhLENBQUMsQ0FBQyxBQUFDLENBQUUsTUFBTSxDQUFFLE1BQU8sQ0FBRSxVQUFVLENBQUUsTUFBTyxDQUFJLEFBQzFELE1BQU0sQUFBQyxDQUFFLFVBQVUsQ0FBRSxNQUFPLENBQUksQUFDaEMsTUFBTSxDQUFDLEdBQUcsQUFBQyxDQUFFLEtBQUssQ0FBRSxJQUFLLENBQUUsTUFBTSxDQUFFLFVBQVcsQ0FBSSxBQUNsRCxXQUFXLENBQUMsbUJBQW1CLEFBQUMsQ0FBRSxVQUFVLENBQUUsSUFBSyxDQUFFLFVBQVUsQ0FBRSxNQUFPLENBQUUsT0FBTyxDQUFFLE1BQU8sQ0FBSSxBQUM5RixVQUFVLENBQUMsWUFBWSxBQUFDLENBQUUsS0FBSyxDQUFFLEtBQU0sQ0FBSSxBQUMzQyxNQUFNLEFBQUMsQ0FBRSxVQUFVLENBQUUsTUFBTyxDQUFJLEFBQ2hDLE1BQU0sQ0FBQyxPQUFPLEFBQUMsQ0FBRSxVQUFVLENBQUUsTUFBTyxDQUFFLE9BQU8sQ0FBRSxNQUFPLENBQUksQUFDMUQsZUFBZSxDQUFDLGFBQWEsQUFBQyxDQUFFLEtBQUssQ0FBRSxJQUFLLENBQUkiLAoJIm5hbWVzIjogW10KfQ== */