@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-webkit-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-moz-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-webkit-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-moz-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-webkit-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-moz-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face{font-family:'FontAwesome';src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}html{margin:0;vertical-align:baseline}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form,html{padding:0;border:0}legend{margin:0}:focus{outline:0}.rating [class^=fa]::before,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:15px;font-weight:300;line-height:1.3;color:#333;letter-spacing:1px}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[aria-expanded=true] .icon--plus .vertical,[hidden]{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;display:block;width:100%;margin:0 auto}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}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}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box;font:62.5%/1.2 "Poppins",sans-serif}*,::after,::before{box-sizing:inherit}a,button{color:inherit}a{text-decoration:none}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}h1,h6{font-weight:400}h1,h2,h3{font-size:20px;color:#303679}h2,h3{font-size:27px;line-height:1.25}h1,h3{text-align:center}h6{font-size:17px;color:#4780c2}b{font-weight:700}em{font-style:italic}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.cta{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.cta [disabled],.cta.disabled,.icon{pointer-events:none}.icon{overflow:hidden;display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:#4780c2;color:#4780c2;box-sizing:content-box}.icon--collapse{position:absolute;top:60%;right:0;flex:0 0 auto;margin-left:5px;color:#4780c2;transform:translateY(-50%);transition:transform 200ms ease-in-out}[aria-expanded=true] .icon--collapse{transform:translateY(-50%) rotate(-180deg);transition:transform 200ms ease-in-out}.icon--collapse,.icon--plus{stroke:currentColor}.rating{overflow:hidden;display:block;height:1em;font-size:17px;text-align:left;line-height:1em;letter-spacing:7px;color:#ffc86d}.rating [class^=fa]{padding-top:1em}.fa-rating{position:relative;font-family:"FontAwesome";white-space:nowrap;vertical-align:middle}.fa-rating::before{font-weight:400;vertical-align:baseline}.fa-rating.s-5::before,.fa-rating::before{content:"\f005\f005\f005\f005\f005"}.fa-rating.s-4-5::before{content:"\f005\f005\f005\f005\f123"}.fa-rating.s-4::before{content:"\f005\f005\f005\f005\f006"}.fa-rating.s-3-5::before{content:"\f005\f005\f005\f123\f006"}.fa-rating.s-3::before{content:"\f005\f005\f005\f006\f006"}.fa-rating.s-2-5::before{content:"\f005\f005\f123\f006\f006"}.fa-rating.s-2::before{content:"\f005\f005\f006\f006\f006"}.fa-rating.s-1-5::before{content:"\f005\f123\f006\f006\f006"}.fa-rating.s-1:before{content:"\f005\f006\f006\f006\f006"}.fa-rating.s-0-5::before{content:"\f123\f006\f006\f006\f006"}.fa-rating.s-0::before{content:"\3000\3000\3000\3000\3000"}.fa-rating.blue{color:#2d81ea}.fa-rating.blue[data-rating],a,button{cursor:pointer}[class^=container]{max-width:540px;margin-right:auto;margin-left:auto}.container-lg{width:100%;padding-right:20px;padding-left:20px}.container-sm{width:88%;padding-right:15px;padding-left:15px}section{padding-top:20px;padding-bottom:20px}.video-js,video-js{background-color:#fff!important}.header{padding:10px 20px 20px}.header__logo{width:160px}.update-banner{margin-top:20px;margin-bottom:20px;font-size:14px;text-align:center;color:#000}.update-banner .container{width:initial}.update-banner__title{color:#d00}.update-banner b{font-weight:300;color:#38b549}.cart{overflow:hidden;margin-bottom:5px;padding-top:0;text-align:center;color:#000;box-shadow:0 5px 7px -2px #ccc}.cart__header{padding-top:15px;padding-bottom:15px;background-color:#303679}.cart__title{color:#fff}.cart__mode{position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 5px 15px;font-size:18px;line-height:1.2;background-color:#303679}.cart__mode::before{content:'';position:absolute;top:0;left:50%;width:100vw;height:100%;z-index:-1;transform:translateX(-50%);background-color:#303679}.cart__mode-cta{margin-right:5px;margin-left:5px;padding:10px 5px;letter-spacing:normal;color:#fff;background-color:#848fae;border-radius:4px}.cart__mode-cta:not(.active){flex:0 1 38%;margin-top:5px;margin-bottom:5px}.cart__mode-cta.active{flex:1 0 62%;color:#303679;background-color:#fff;border:5px solid orange}.cart__details{padding-top:10px;font-size:20px;border-radius:25px}.cart__details,.cart__summary{margin-bottom:10px}.cart__current{font-size:58px;font-weight:500;letter-spacing:normal;color:#303679;line-height:1.4}.cart__retail{margin-bottom:5px;font-size:13px;font-weight:300;letter-spacing:normal;color:#d00;text-decoration:line-through}.cart__shipping{font-size:12px;color:#4780c2}.cart__product,.cart__products{margin-bottom:10px}.cart__product{padding-top:10px;padding-bottom:10px;line-height:.9;border:1px solid;border-radius:6px}.cart__product:not(.active){background-color:#fff;border-color:#505050}.cart__product.active{font-weight:400;color:#fff;background-color:#4780c2;border-color:#4780c2}.cart__subscribe{margin-bottom:15px}.cart__subscribe.hide+.cta{margin-top:20px}.cart__label{display:flex;justify-content:center;margin-bottom:16px;font-size:0;font-weight:500;line-height:2rem;letter-spacing:.5px;color:#4a90e2}.cart__label span{display:inline-block;font-size:1.4rem}.cart__label span:not(.cart__checkbox){max-width:66%}.cart__checkbox{display:inline-block;width:2rem;height:2rem;margin-right:5px;line-height:2rem;border:3px solid #ecec13;vertical-align:top;border-radius:.2rem;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.cart__checkbox .icon{display:none}.cart__checkbox.checked .icon{display:block;color:#f69220;stroke:currentColor}.cart__disclaimer{font-size:8.5px;font-weight:400;line-height:1.4;letter-spacing:normal}.cart__disclaimer a{text-decoration:underline}.cta{font-weight:300;line-height:1;letter-spacing:normal;color:#fff}.cta[href]{background:#ffc073;background:linear-gradient(to bottom,#ffc073,#fb8143);padding:10px;font-size:25px;border-radius:3px;box-shadow:3px 3px 8px -4px #000}.cta:not([href]){width:50%;padding:5px;font-size:20px;border:1px solid #e47925;border-radius:2px;box-shadow:0 1px 3px #666;background:#f0a945;background:linear-gradient(to bottom,#f0a945 0%,#e29939 36%,#e29939 51%,#db9334 66%,#d1882e 82%,#d1882e 100%)}.cta [disabled],.cta.disabled{font-size:18px;color:#707070;background:#f1f1f1}.certified-banner{margin-bottom:5px;font-size:11px;text-align:center;box-shadow:0 5px 7px -2px #ccc}.certified-banner__list{display:flex;justify-content:space-evenly;align-items:center;max-width:540px;margin:0 auto}.certified-banner__item{flex:0 0 23%}.stamp-banner{margin-bottom:20px}.stamp-banner__img{width:155px;margin-top:10px;margin-bottom:15px}.stamp-banner__title{margin-top:10px;padding-right:10px;padding-left:10px}.about__title::after,.faq__title::after,.stamp-banner__title::after{content:'';display:block;width:42px;margin-top:15px;margin-bottom:15px;border-bottom:1px solid #000}.stamp-banner__text{padding-right:10px;padding-left:10px;font-size:13px;line-height:1.715}.about{padding-top:15px;padding-bottom:60px;background-color:#b9d537}.about img{width:275px;margin-bottom:15px}.about__text,.about__title{color:#fff}.about__title,.faq__title{margin-top:10px}.about__title::after,.faq__title::after{border-bottom:1px solid #fff}.faq__title::after{border-bottom:1px solid #000}.accordion__list{position:relative;padding-left:12px}.accordion__list+.accordion__list{margin-top:20px}.accordion__question{display:flex;align-items:baseline}.accordion__question::before{content:'';width:12px;height:12px;margin-left:-12px;border-width:6px;border-style:solid;border-color:transparent transparent transparent currentColor}.accordion__question[aria-expanded=true]::before{position:relative;top:10px;transform:rotate(90deg);transform-origin:center top}.accordion__answer{overflow:hidden;margin-top:10px}.accordion__answer img{width:calc(100% + 12px);margin-left:-6px}.reviews__title{margin-top:10px}.product__title::after,.reviews__title::after{content:'';display:block;width:42px;margin-top:15px;margin-bottom:15px;border-bottom:1px solid #000}.reviews__item{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #d8d8d8}.reviews__author,.reviews__comment,.reviews__note{margin-top:10px}.reviews__author{font-weight:500;color:#303679}.reviews__note{font-size:12px}.product{padding-bottom:40px}.product__img{width:150px}.product__title{margin-top:10px}.product .cta-wrap{margin-top:25px;margin-bottom:25px}.footer{padding-top:25px;padding-bottom:25px;font-size:10px;text-align:center;border-top:1px solid #62676b}.footer__item{position:relative;display:inline-block;margin-top:10px;margin-bottom:10px;padding-right:10px;padding-left:10px}.footer__item+.footer__item::before{content:'|';position:relative;left:-10px}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvX3RyYW5zaXRpb25zLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInZlbmRvcnMvZm9udC1hd2Vzb21lLTQuNy4wL3Njc3MvX3BhdGguc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJjb21wb25lbnRzL19yYXRpbmcuc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJzdHlsZS5jc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwiYmFzZS9faGVscGVyLWNsYXNzZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvdXBkYXRlQmFubmVyL3VwZGF0ZUJhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9jYXJ0L2NhcnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvQ1RBL0NUQS5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fc2NoZW1hLnNjc3MiLCIuLi9jb21wb25lbnRzL2NlcnRpZmllZEJhbm5lci9jZXJ0aWZpZWRCYW5uZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3RhbXBCYW5uZXIvc3RhbXBCYW5uZXIuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL2NvbXBvbmVudHMvYWJvdXQvYWJvdXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvRkFRL0ZBUS5zY3NzIiwiLi4vY29tcG9uZW50cy9yZXZpZXdzL3Jldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvcHJvZHVjdC9wcm9kdWN0LnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQSxBQUVBLGlCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gseUJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCxzQkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUtYLGtCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVgsdUJBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUlYLHlCQUNJLEUsQ0FHQSxFLENBSE8sUyxDQUNQLEcsQ0FDQSxHLENBRE8sVyxBQUlYLGlDQUNJLEUsQ0FHQSxFLENBSE8sUyxDQUNQLEcsQ0FDQSxHLENBRE8sVyxBQUlYLDhCQUNJLEUsQ0FHQSxFLENBSE8sUyxDQUNQLEcsQ0FDQSxHLENBRE8sVyxBQU1YLHdCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsZ0NBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCw2QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQy9EWCxnQkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBR1gsd0JBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUdYLHFCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFLWCxrQkFDSSxFLENBQU8sd0IsQ0FDUCxFLENBQU8seUIsQUFFWCwwQkFDSSxFLENBQU8sd0IsQ0FDUCxFLENBQU8seUIsQUFFWCx1QkFDSSxFLENBQU8sd0IsQ0FDUCxFLENBQU8seUIsQUFJWCxrQkFDSSxFLENBQU8sdUIsQ0FDUCxFLENBQU8sd0IsQUFFWCwwQkFDSSxFLENBQU8sdUIsQ0FDUCxFLENBQU8sd0IsQUFFWCx1QkFDSSxFLENBQU8sdUIsQ0FDUCxFLENBQU8sd0IsQUFJWCxpQkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBR1gseUJBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUdYLHNCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFLWCxnQkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUdYLHdCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBR1gscUJBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFLWCxpQkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBR1gseUJBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUdYLHNCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFLWCxxQkFDSSxFLENBQU8sa0IsQ0FDUCxFLENBQU8sb0IsQUFFWCw2QkFDSSxFLENBQU8sa0IsQ0FDUCxFLENBQU8sb0IsQUFFWCwwQkFDSSxFLENBQU8sa0IsQ0FDUCxFLENBQU8sb0IsQUFJWCx1QkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBR1gsK0JBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUdYLDRCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFLWCxrQkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBSVgsMEJBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQUlYLHVCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFNWCxrQ0FDSSxFLENBS0EsRyxDQUNBLEUsQ0FOTyxrQyxDQUNQLEcsQ0FFQSxHLENBRk8sdUMsQ0FDUCxHLENBQU8sMkMsQ0FFUCxHLENBQU8sd0MsQUFJWCwwQ0FDSSxFLENBS0EsRyxDQUNBLEUsQ0FOTyxrQyxDQUNQLEcsQ0FFQSxHLENBRk8sdUMsQ0FDUCxHLENBQU8sMkMsQ0FFUCxHLENBQU8sd0MsQUFJWCx1Q0FDSSxFLENBS0EsRyxDQUNBLEUsQ0FOTyxrQyxDQUNQLEcsQ0FFQSxHLENBRk8sdUMsQ0FDUCxHLENBQU8sMkMsQ0FFUCxHLENBQU8sd0MsQUM3TFgsMEJBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQUVYLGtDQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUFFWCwrQkFDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCOzs7Ozs7O0FDakJYLEssQ0NnQk0sOEIsQ0FJQSx1Q0RwQk4sSyxDQ3FCUSxpQixBRHJCUixVQUdRLE0sQ0FDSixTLENBSUosY0FDUSxNLENBQ0osWSxDQUlKLFcsQ0FDRSxpQixDQUNBLFEsQ0FDQSxlLENDREksMkIsQ0FJQSx1Q0ROTixXLENDT1EsaUI7Ozs7O0FDbEJSLFdBQ0UseUIsQ0FDQSwyRixDQUNBLG9qQixDQU1BLGUsQ0FDQSxrQkNSRixJLENBYUUsUSxDQUtELHVCLENBaEJELEMsQ0FBRyxJLENBQU0sTyxDQUFTLE8sQ0FGSyxNLENBU3ZCLE8sQ0FBUyxLLENBR0csSyxDQVBaLEMsQ0FIMkIsRyxDQURBLFUsQ0FEckIsSSxDQVNVLE0sQ0FEVCxPLENBSEUsTSxDQUh1QixJLENBQU0sSSxDQUk5QixFLENBSFIsRyxDQU13QixPLENBTm5CLEcsQ0FITyxHLENBTVosRSxDQUFJLEUsQ0FITSxFLENBTXVCLEssQ0FDekIsVSxDQUFZLE0sQ0FUcEIsRSxDQUFJLEUsQ0FBSSxFLENBQUksRSxDQUFJLEUsQ0FBSSxFLENBU1EsTSxDQUFRLE0sQ0FMOUIsQyxDQUxpQyxNLENBR3BCLEcsQ0FBSyxHLENBSVIsSyxDQURJLEUsQ0FNZCxJLENBRE4sSSxDQUFNLEcsQ0FYeUIsTSxDQU1uQixFLENBS0QsTSxDQVZhLEMsQ0FBZSxHLENBRVYsQyxDQVFWLEksQ0FSYSxDLENBQUcsSSxDQVFWLE8sQ0FQekIsSyxDQUppQixJLENBSVYsTSxDQUFRLE0sQ0FBUSxHLENBT1csTyxDQVBOLEcsQ0FJNUIsSyxDQUFnQixLLENBQTZCLEUsQ0FBdEIsSyxDQUFrQixFLENBQVgsSyxDQUk5QixJLENBSnFDLEUsQ0FKSixFLENBQzlCLEMsQ0FDYSxFLENBRnFCLEcsQ0FRbEIsSyxDQUNqQixRLENBQ0QsUyxDQUNBLFEsQ0FFQSxZLENBQ0EsdUIsQ0FmYSxHLENBV2IsUyxDQUdBLFksQ0FWRCxRLENBR0EsTSxDQUhVLEksQ0FBYSxNLENBVXRCLFksQ0FDQSx1QixDQVJELE0sQ0FIVSxJLENBUFYsSSxDQWNDLFMsQ0FDQSxRLENBUnNCLE0sQ0FNckIsUSxDQVNGLE0sQ0FDSSxTLENDM0JKLDJCLENEK0JBLE8sQ0FBUyxLLENBQU8sTyxDQUFTLFUsQ0FBWSxNLENBQ3JDLE0sQ0FBUSxNLENBQVEsTSxDQUFRLEksQ0FBTSxHLENBQUssTyxDQUNsQyxhLENBR0QsSSxDRXZCSSxnQixDQUNBLHNCLENBQXlCLGtDLENBQXFDLGlDLENBRTlELGlDLENDTEEsYyxDQUFpQixlLENBQWlDLGUsQ0FBa0IsVSxDQUFtQixrQixDSDZCM0YsRSxDQUFJLEUsQ0FDSCxlLENBR0QsVSxDQUFZLEMsQ0FDWCxXLENBR2tCLGdCLENBQW5CLGlCLENBQ1UsTyxDQUFWLFEsQ0FFQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQ0EsNkMsQ0FDQSxpRCxDQUNBLHFELENBQ0ksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUNBLE0sQ0FDQSxLLENBQ0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFVLFcsQ0FDTixZLENBQ0EsUSxDSTR4QkEsMEMsQ0FoV0osUSxDSm5iSSxZLENBVUosSSxDQUVJLDZCLENBQ0EseUIsQ0FPSixPLENBQ0ksbUIsQ0FPSixRLENBQ0EsTyxDQUNJLFMsQ0FRSixHLENBQ0ksUSxDQUNBLDhCLENBb01BLHFCLENLMVVBLGEsQ0FBZ0IsVSxDQUFhLGEsQ0w2SmpDLFEsQ0FZQSxNLENBQ0ksUSxDQUNBLFMsQ0FkSixRLENBaEJBLE0sQ0FRQSxJLENBMExJLFEsQ0F0S0osTSxDQUdJLGtCLENBQ0EsaUIsQ0FVSixNLENBQ0EsSyxDQUNBLE0sQ0FJSSx1QixDQU5KLE0sQ0FDQSxLLENBQ0EsTSxDQUNBLFEsQ0FDSSxjLENBQ0EsUSxDQUVBLHNCLENBUUosTSxDQUNBLEssQ0FDSSxrQixDQVVKLE0sQ0FDQSxNLENBQ0ksbUIsQ0FhSixNLENBSUkseUIsQ0FFQSxpQixDQUxKLHVCLENBQ0EsaUIsQ0FDQSxrQixDQUNJLHlCLENBQ0EsYyxDQUNBLGlCLENBT0osZ0IsQ0FDQSxvQixDQUNJLGMsQ0FVSixvQixDQUNBLGlCLENBQ0kscUIsQ0FDQSxTLENBQ0EsWSxDQUNBLFcsQ0FTSixrQixDQUNJLDRCLENBQ0EsMkIsQ0FDQSw4QixDQUNBLHNCLENBUUosZ0QsQ0FDQSw2QyxDQUNJLHVCLENBT0osd0IsQ0FDQSx1QixDQUNJLFEsQ0FDQSxTLENFblJzQixRLENGMlIxQixRLENBQ0ksYSxDQUNBLGtCLENBWUosSSxDQUVBLEssQ0FDQSxNLENBakJBLFEsQ0FtQkksVSxDQUlKLGdCLENBQ0ksa0IsQ0FDQSxnQixDQUdKLFcsQ0FDSSxrQixDQUNBLGdCLENBYUosUSxDQUNJLGUsQ0FHSixZLENBQ0ksYSxDQUNBLGUsQ0FDQSxVLENBQ0EsYyxDRXpXSixJLENBQ0kscUIsQ0NJQSxtQyxDREFKLEMsQ0FFQSxPLENBREEsUSxDQUNXLGtCLENBV1gsQyxDQUVBLE0sQ0FFbUMsYSxDQUpuQyxDLENBQUksb0IsQ0FFSixNLENBQ0ksUyxDQUNBLDRCLENBQStDLGMsQ0l6Qm5ELEssQ0FDSSxzQixDQUdKLEssQ0FDSSx1QixDSFVKLEUsQ0FZQSxFLENBQ3FCLGUsQ0FickIsRSxDQUlBLEUsQ0FJQSxFLENBUEssYyxDQUF1RSxhLENBRzVFLEUsQ0FJQSxFLENBSEksYyxDQUFpQixnQixDQUxyQixFLENBUUEsRSxDQUNxQixpQixDQUdyQixFLENBQ0ksYyxDQUFtRCxhLENBcUJ2RCxDLENBQ0ksZSxDQUdKLEUsQ0FDSSxpQixDSXFnQkEsd0NINFJGLGEsQ0luMUJNLGdCQUlSLEksQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FBcUIsZSxDQUFrQixhLENBRG5GLGUsQ0FBQSxhLENDQUEsSyxDRElRLG1CLENDSlIsSyxDQUNJLGUsQ0FBa0Isb0IsQ0FBdUIsUyxDQUFZLFUsQ0FBYSxRLENBQ2xFLGlCLENBQW9CLHFCLENBQXdCLGEsQ0FDNUMsWSxDQUNBLGEsQ0FDQSxzQixDQUVBLGUsQ0FDSSxpQixDQUFvQixPLENBQVUsTyxDQUFVLGEsQ0FBZ0IsZSxDQUN4RCxhLENBQStDLDBCLENBQTZCLHNDLENMNDJCaEYsb0MsQ0t6MkJRLDBDLENBQ0Esc0MsQ0FOUixlLENBVUEsVyxDQUNJLG1CLENSekJSLE8sQ0FDSSxlLENBQWtCLGEsQ0FBZ0IsVSxDQUNsQyxjLENBQWlCLGUsQ0FBa0IsZSxDQUFrQixrQixDQUFxQixhLENBRjlFLG1CLENBS1EsZSxDQU9SLFUsQ0FDSSxpQixDQUNBLHlCLENBQTRCLGtCLENBQXFCLHFCLENBRnJELGtCLENBTVEsZSxDQUFrQix1QixDQUcxQixzQixDQVRBLGtCLENBWVksbUMsQ0FIWix3QixDQVNZLG1DLENBVFosc0IsQ0FlWSxtQyxDQWZaLHdCLENBcUJZLG1DLENBckJaLHNCLENBMkJZLG1DLENBM0JaLHdCLENBaUNZLG1DLENBakNaLHNCLENBdUNZLG1DLENBdkNaLHdCLENBNkNZLG1DLENBN0NaLHFCLENBbURZLG1DLENBbkRaLHdCLENBeURZLG1DLENBekRaLHNCLENBK0RZLG1DLENBL0RaLGUsQ0FvRVEsYSxDQXBFUiw0QixDQ0RBLEMsQ0FFQSxNLENEdUVRLGMsQ0dzMkJSLGtCLENDbjhCRyxlLENBQStDLGlCLENBQW9CLGdCLENBR3RFLGEsQ0FDSSxVLENBQWEsa0IsQ0FBdUMsaUIsQ0FHeEQsYSxDQUNJLFMsQ0FBWSxrQixDQUF1RSxpQixDQUd2RixPLENBQ0ksZ0IsQ0FBNEMsbUIsQ0FPaEQsUyxDQUNBLFEsQ0FDSSwrQixDS3BCSixPLENBQ0ksc0IsQ0FFQSxhLENBQ0ksVyxDQ0pSLGMsQ0FDSSxlLENBQTBELGtCLENBQzFELGMsQ0FBcUQsaUIsQ0FBb0IsVSxDQUY3RSx5QixDQUtRLGEsQ0FHSixxQixDQUNJLFUsQ0FUUixnQixDQWFRLGUsQ0FBeUQsYSxDQ1pqRSxLLENBQ0ksZSxDQUFrQixpQixDQUE4QyxhLENBQ2hFLGlCLENBQW9CLFUsQ0FBOEIsOEIsQ0FFbEQsYSxDQUNJLGdCLENBQWdELG1CLENBQ2hELHdCLENBR0osWSxDQUNJLFUsQ0FHSixXLENBQ0ksaUIsQ0FBb0IsWSxDQUFlLDZCLENBQWdDLGtCLENBQXFCLGtCLENBQ3hGLGMsQ0FBZ0QsZSxDQUFvRCx3QixDQUZ2RyxtQixDQUtPLFUsQ0FDQSxpQixDQUFvQixLLENBQVEsUSxDQUFXLFcsQ0FBYyxXLENBQWMsVSxDQUFhLDBCLENBQ2hGLHdCLENBS1IsZSxDQUNJLGdCLENBQStDLGUsQ0FBOEMsZ0IsQ0FDN0YscUIsQ0FBd0QsVSxDQUEwQyx3QixDQUFrRCxpQixDQUZ2SixvQkFJUyxRLENBQ0YsWSxDQUFlLGMsQ0FBNkMsaUIsQ0FMbkUsc0IsQ0FTTyxZLENBQ0EsYSxDQUF5QyxxQixDQUFpRCx1QixDQUlsRyxjLENBQ2dELGdCLENBQzVDLGMsQ0FBc0Msa0IsQ0FGMUMsYyxDQUtBLGMsQ0FDSSxrQixDQUdKLGMsQ0FDSSxjLENBQXFELGUsQ0FBeUQscUIsQ0FBd0IsYSxDQUFrRCxlLENBRzVMLGEsQ0FDSSxpQixDQUNBLGMsQ0FBOEMsZSxDQUFrRCxxQixDQUF3QixVLENBQTJDLDRCLENBR3ZLLGUsQ0FDSSxjLENBQTBDLGEsQ0FPOUMsYyxDQUpBLGUsQ0FDSSxrQixDQUdKLGMsQ0FDdUQsZ0IsQ0FBaUQsbUIsQ0FDcEcsYyxDQUFpQixnQixDQUF1QyxpQixDQUYzRCxtQkFJUyxRLENBQ0YscUIsQ0FBcUQsb0IsQ0FMNUQscUIsQ0FTTyxlLENBQXVELFUsQ0FBNEMsd0IsQ0FBb0Qsb0IsQ0FJL0osZ0IsQ0FDSSxrQixDQURILDBCLENBS1csZSxDQUtaLFksQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FDeEMsVyxDQUFjLGUsQ0FBa0MsZ0IsQ0FBdUMsbUIsQ0FBc0IsYSxDQUZoSCxpQixDQUtPLG9CLENBQ0EsZ0IsQ0FOUCxzQkFRYSxnQixDQUNGLGEsQ0FLWixlLENBQ0ksb0IsQ0FBdUIsVSxDQUFpQyxXLENBQWtDLGdCLENBQzFGLGdCLENBQXVDLHdCLENBQXFFLGtCLENBQXFCLG1CLENBQTJDLGtFLENBRi9LLHFCLENBS08sWSxDQUxQLDZCLENBVVcsYSxDQUNBLGEsQ0FBdUMsbUIsQ0FLbkQsaUIsQ0FDSSxlLENBQWtCLGUsQ0FBa0IsZSxDQUFrQixxQixDQUR6RCxtQixDQUlPLHlCLENDM0haLEksQ0FDSyxlLENBQThELGEsQ0FBbUUscUIsQ0FBd0IsVSxDQUQ5SixVLENDR0ksa0IsQ0FFSSxxRCxDREFBLFksQ0FDQSxjLENBQTBELGlCLENBQWtELGdDLENBTnBILFNBU1UsTyxDQUNGLFMsQ0FBaUQsVyxDQUNqRCxjLENBQStELHdCLENBQThHLGlCLENBQXVELHlCLENBQ3BPLGtCLENBQ0EsNkcsQ0FiUixlLENBQUEsYSxDQWlCUSxjLENBQW1FLGEsQ0FBd0Qsa0IsQ0VqQm5JLGlCLENBQ0ksaUIsQ0FDQSxjLENBQXdELGlCLENBQW9CLDhCLENBRTVFLHVCLENBQ0ksWSxDQUFlLDRCLENBQStCLGtCLENBQXFCLGUsQ0FBa0QsYSxDQUd6SCx1QixDQUNJLFksQ0NSUixhLENBQ0ksa0IsQ0FFQSxrQixDQUNJLFcsQ0FBc0MsZSxDQUF1RCxrQixDQUdqRyxvQixDQ1RBLGUsQ0RlSSxrQixDQUFvRCxpQixDQ2J4RCxvQixDQUFBLGtCLENBQUEsMkIsQ0FDSSxVLENBQ0EsYSxDQUFnQixVLENBQWEsZSxDQUFrQixrQixDQUMvQyw0QixDRFNILG1CLENBQ0csa0IsQ0FBb0QsaUIsQ0FJcEQsYyxDQUE4QyxpQixDRWxCdEQsTSxDQUNJLGdCLENBQTJDLG1CLENBQzNDLHdCLENBRkosVSxDQUtRLFcsQ0FBeUMsa0IsQ0FJNUMsWSxDQURELGEsQ0FFSSxVLENBR0osYSxDQ1pBLFcsQ0ZGQSxlLENBRUEsb0IsQ0FBQSxrQixDQUdJLDRCLENBSEosa0IsQ0FHSSw0QixDRUdKLGdCLENBQ0ksaUIsQ0FBb0IsaUIsQ0FEdkIsaUMsQ0FJTyxlLENBSVIsb0IsQ0FDSSxZLENBQWUsb0IsQ0FEbEIsNEIsQ0FJTyxVLENBQWEsVSxDQUF1QyxXLENBQXdDLGlCLENBRXhGLGdCLENBQ0Esa0IsQ0FJQSw2RCxDQUdLLGdELENBRUQsaUIsQ0FBb0IsUSxDQUNwQix1QixDQUEwQiwyQixDQU0xQyxrQixDQUNJLGUsQ0FDQSxlLENBRkgsc0IsQ0FLTyx1QixDQUF1RCxnQixDQzFDL0QsZSxDSEZBLGUsQ0FFQSxzQixDQUFBLHNCLENBQ0ksVSxDQUNBLGEsQ0FBZ0IsVSxDQUFhLGUsQ0FBa0Isa0IsQ0FDL0MsNEIsQ0dLSixjLENBQ0ksa0IsQ0FBa0QsbUIsQ0FDbEQsK0IsQ0FJSCxnQixDQURELGlCLENBRUMsYyxDQUNHLGUsQ0FHSixnQixDQUNJLGUsQ0FBcUQsYSxDQUd6RCxjLENBQ0ksYyxDQ3pCUixRLENBQ0ksbUIsQ0FFQSxhLENBQ0ksVyxDQUdKLGUsQ0pSQSxlLENJQ0osa0IsQ0FnQlEsZSxDQUFpRCxrQixDQ2hCekQsTyxDQUNJLGdCLENBQTRDLG1CLENBQzVDLGMsQ0FBOEMsaUIsQ0FBb0IsNEIsQ0FNbEUsYSxDQUNJLGlCLENBQW9CLG9CLENBQXVCLGUsQ0FBMkMsa0IsQ0FBOEMsa0IsQ0FBOEMsaUIsQ0FEckwsbUMsQ0FLVyxXLENBQ0EsaUIsQ0FBb0IsVSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0gRmFkZXMgcmVsYXRlZCBhbmltYXRpb25zXHJcbi8vLSBCbGlua1xyXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBibGluayB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbi8vLSBBcHBlYXJcclxuQGtleWZyYW1lcyBhcHBlYXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG4vLy0gQXBwZWFyIEhhbW1lclxyXG5Aa2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbi8vLSBCbGluayBDdXJzb3JcclxuQGtleWZyYW1lcyBibGluay1jdXJzb3Ige1xyXG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBibGluay1jdXJzb3Ige1xyXG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBibGluay1jdXJzb3Ige1xyXG4gICAgMCUgICB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6MDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59IiwiLy8tIE1vdGlvbiByZWxhdGVkIGFuaW1hdGlvbnNcclxuLy8tIEp1bXBcclxuQGtleWZyYW1lcyBqdW1we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcblxyXG4vLy0gV2VpZ2h0XHJcbkBrZXlmcmFtZXMgd2VpZ2h0e1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2VpZ2h0e1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgd2VpZ2h0e1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH1cclxufVxyXG5cclxuLy8tIEhhbW1lclxyXG5Aa2V5ZnJhbWVzIGhhbW1lcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuXHJcbi8vLSBTY2FsZVxyXG5Aa2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc2NhbGV7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuXHJcbi8vLSBIb29wXHJcbkBrZXlmcmFtZXMgaG9vcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBob29we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5cclxuLy8tIERhbnNlXHJcbkBrZXlmcmFtZXMgZGFuc2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZGFuc2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZGFuc2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gICBcclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5cclxuLy8tIEhhbWJ1cmdlclxyXG5Aa2V5ZnJhbWVzIGhhbWJ1cmdlcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBoYW1idXJnZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuXHJcbi8vLSBCb3R0bGUgRGFuY2VcclxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxyXG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gQm91bmNlXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cclxuQGtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcclxuJHRhcC1jb2xvcjogcmVkO1xyXG5cclxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXHJcbkBrZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xyXG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XHJcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cclxufSIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wLW1vZGlmaWVkIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOSwgU2FmYXJpIDUsIGFuZCBPcGVyYSAxMS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaHRtbCxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAjMjIyO1xufVxuXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY2hyb21lZnJhbWUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG59XG4iLCIvLy0gUmF0aW5nXG4ucmF0aW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxZW07IFxuICAgIGZvbnQtc2l6ZTogMTdweDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDFlbTsgbGV0dGVyLXNwYWNpbmc6IDdweDsgY29sb3I6ICRyYXRpbmctY29sb3I7XG5cbiAgICBbY2xhc3NePVwiZmFcIl0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbi5mYS1yYXRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVwiO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxufVxuLmZhLXJhdGluZyB7XG4gICAgJi5zLTUge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy00LTUge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYxMjNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy00IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA2XCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnMtMy01IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMTIzXFxmMDA2XCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnMtMyB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNlxcZjAwNlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zLTItNSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjEyM1xcZjAwNlxcZjAwNlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zLTIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy0xLTUge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYxMjNcXGYwMDZcXGYwMDZcXGYwMDZcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy0xIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcXGYwMDZcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy0wLTUge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMjNcXGYwMDZcXGYwMDZcXGYwMDZcXGYwMDZcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucy0wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwzMDAwXFwzMDAwXFwzMDAwXFwzMDAwXFwzMDAwXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJsdWUge1xuICAgICAgICBjb2xvcjogIzJkODFlYTtcbiAgICB9XG5cbiAgICAmLmJsdWVbZGF0YS1yYXRpbmddIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cbiIsIi8vLSBSZXNldCBFeHRlbmRlZCAtIE9uIHRoaXMgcGFydGlhbCBJJ2xsIGV4dGVuZCB0aGUgRXJpYyBNZXllciByZXNldCBmaWxlIGJ5IGFkZGluZyBtb2Rlcm4gYW5kIHVzZWZ1bGwgc2VsZWN0b3JzXHJcblxyXG4vLy0gT3ZlcnJpZGUgZGVmYXVsdCBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgc28gd2lkdGggaXMgbm90IGFmZmVjdGVkIGJ5IHBhZGRpbmcgYW5kIGJvcmRlciBwcm9wZXJ0aWVzXHJcbmh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8tIEluaGVyaXQgcm9vdCBib3gtc2l6aW5nIHZhbHVlIHRvIGFsbCBET00gZWxlbWVudHNcclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cclxuXHJcbi8vLSBTZXQgYm9keSB0byBmaWxsIHZpZXdwb3J0LCBvcHRpbWl6ZSB0ZXh0LXJlbmRlcmluZyBhbmQgc21vb3RoIHNjcm9sbGluZ1xyXG5ib2R5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyBcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIC8vLSBOb3RlIHRleHQtcmVuZGVyaW5nIHNob3VsZCBiZSBjaG9zZW4gZGVwZW5kaW5nIG9uIHVzZWQgZm9udC1mYW1pbHkgYW5kIHBlcmZvcm1hbmNlIGdvYWxzXHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyAvLy0gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3RleHQtcmVuZGVyaW5nXHJcbn1cclxuXHJcbi8vLSBSZXNldCBhbmNob3IgbG9vayAmIGJlaGF2aW91clxyXG5hIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5idXR0b24geyBcclxuICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiBpbmhlcml0OyBib3JkZXItd2lkdGg6IDA7IGN1cnNvcjpwb2ludGVyOyBcclxufVxyXG5cclxuLy8tIEFkaXRpb25hbCB0byByZXNldC5zY3NzLCByZW1vdmUgbWFyZ2luIG9uIEZGMysgXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyBtYXJnaW46IDA7IH1cclxuIiwiLy8tIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXNcblxuLy8tIHZhcmlhYmxlcyBmcm9tIGJvb3RzdHJhcCBmb3IgcmVmZXJlbmNlXG4vLyAkZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4vLyAkZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4vLyAkZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG5cbmh0bWwgeyBcbiAgICBmb250OiBub3JtYWwgNjIuNSUgLyAxLjIgJG1haW5Gb250OyAvLy0gNjIuNSUgbWFrZXMgJ2VtJyBhbmQgJ3JlbScgdW5pdHMgdG8gYmUgY29tcHV0ZWQgdG8gMTBweCBzbyAxcmVtIHdpbGwgYmUgMTBweCBhbmQgMS40cmVtIHdpbGwgYmUgMTRweFxufSBcblxuYm9keSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0OyBsaW5lLWhlaWdodDogMS4zOyBjb2xvcjogJHRleHRDb2xvcjsgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuaDEge1xuICAgICBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAkdGl0bGVDb2xvcjtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMjdweDsgbGluZS1oZWlnaHQ6IDEuMjU7IGNvbG9yOiAkdGl0bGVDb2xvcjtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogMjdweDsgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMS4yNTsgY29sb3I6ICR0aXRsZUNvbG9yO1xufVxuXG5oNiB7XG4gICAgZm9udC1zaXplOiAxN3B4OyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDsgY29sb3I6ICRsYXBpcy1sYXp1bGk7XG59XG5cbi8vIHAgKyBwIHtcbi8vICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuLy8gfVxuXG4vLyBvbCB7XG4vLyAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyBwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cbi8vICAgICAmID4gbGkge1xuLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gICAgIH1cbi8vIH1cblxuLy8gYSB7XG4vLyAgICAgJiwgJjpob3ZlciwgJjp2aXNpdGVkIHtcbi8vICAgICAgICAgY29sb3I6ICRsaW5rQ29sb3I7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICAgICB9XG4vLyB9XG5cbmIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDsgLy8tIG92ZXJyaWRlcyByZXNldC5zY3NzIGZvbnQ6IGluaGVyaXRcbn1cblxuZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8tIG92ZXJyaWRlcyByZXNldC5zY3NzIGZvbnQ6IGluaGVyaXRcbn1cblxuLy8gLmNpdGF0aW9uIHtcbi8vICAgICBmb250LXNpemU6IDhweDtcblxuLy8gICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuLy8gICAgIH1cbi8vIH1cblxuLy8gLmFzdGVyaXNrIHtcbi8vICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbi8vICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuLy8gICAgIH1cbi8vIH1cbiIsIkBrZXlmcmFtZXMgYmxpbmsge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBibGluayB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFwcGVhciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBhcHBlYXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGp1bXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBqdW1wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyB3ZWlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2VpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGFtbWVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoYW1tZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBob29wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhvb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgaG9vcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZGFuc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBkYW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhhbWJ1cmdlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBoYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3R0bGVEYW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDk1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA5NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLCAwLjk3KSB0cmFuc2xhdGVZKDApOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3LCAxLjAzKSB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMywgMC45NykgdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLCAwLjk3KSB0cmFuc2xhdGVZKDApOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3LCAxLjAzKSB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMywgMC45NykgdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLCAwLjk3KSB0cmFuc2xhdGVZKDApOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3LCAxLjAzKSB0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMywgMC45NykgdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTsgfSB9XG5cbi8qIVxuICogQm9vdHN0cmFwIHY0LjUuMCAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjAgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cbi5mYWRlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgLmZhZGU6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4uY29sbGFwc2U6bm90KC5zaG93KSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY29sbGFwc2luZyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cblxuLyohXHJcbiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxyXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcclxuICovXG4vKiBGT05UIFBBVEhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjcuMFwiKTtcbiAgc3JjOiB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjcuMFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuNy4wXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjcuMFwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNy4wXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuNy4wI2ZvbnRhd2Vzb21lcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG4gICp6b29tOiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cbmZvcm0ge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAyICovXG4gICptYXJnaW4tbGVmdDogLTdweDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXG4gKiAgICBhbmQgQ2hyb21lLlxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMyAqL1xuICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xuICAqb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDQgKi8gfVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gY29udGVudC1ib3ggaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gICpoZWlnaHQ6IDEzcHg7XG4gIC8qIDMgKi9cbiAgKndpZHRoOiAxM3B4O1xuICAvKiAzICovIH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5odG1sLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLmNocm9tZWZyYW1lIHtcbiAgbWFyZ2luOiAwLjJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC4yZW0gMDsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIG1hcmdpbjogMDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuaHRtbCB7XG4gIGZvbnQ6IG5vcm1hbCA2Mi41JS8xLjIgXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6ICMzMzM7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMzMDM2Nzk7IH1cblxuaDIge1xuICBmb250LXNpemU6IDI3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogIzMwMzY3OTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMzMDM2Nzk7IH1cblxuaDYge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNDc4MGMyOyB9XG5cbmIge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgW3JvbGU9J2J1dHRvbiddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH0gfVxuXG4uY3RhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jdGEuZGlzYWJsZWQsIC5jdGEgW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmljb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIGRlZmF1bHQtc2l6ZSAqL1xuICBmaWxsOiAjNDc4MGMyO1xuICAvKiBkZWZhdWx0IGNvbG9yICovXG4gIGNvbG9yOiAjNDc4MGMyO1xuICAvKiBkZWZhdWx0IGNvbG9yIHdoZW4gY3VycmVudENvbG9yIGlzIHVzZWQgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5pY29uLS1jb2xsYXBzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgY29sb3I6ICM0NzgwYzI7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDsgfVxuICAgIFthcmlhLWV4cGFuZGVkPXRydWVdIC5pY29uLS1jb2xsYXBzZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xODBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5pY29uLS1wbHVzIHtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjsgfVxuICAgIFthcmlhLWV4cGFuZGVkPXRydWVdIC5pY29uLS1wbHVzIC52ZXJ0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5yYXRpbmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDdweDtcbiAgY29sb3I6ICNGRkM4NkQ7IH1cbiAgLnJhdGluZyBbY2xhc3NePVwiZmFcIl0ge1xuICAgIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgICAucmF0aW5nIFtjbGFzc149XCJmYVwiXTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYS1yYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZhLXJhdGluZzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi5mYS1yYXRpbmcucy01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVwiOyB9XG5cbi5mYS1yYXRpbmcucy00LTU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA1XFxmMTIzXCI7IH1cblxuLmZhLXJhdGluZy5zLTQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA2XCI7IH1cblxuLmZhLXJhdGluZy5zLTMtNTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYxMjNcXGYwMDZcIjsgfVxuXG4uZmEtcmF0aW5nLnMtMzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDZcXGYwMDZcIjsgfVxuXG4uZmEtcmF0aW5nLnMtMi01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjEyM1xcZjAwNlxcZjAwNlwiOyB9XG5cbi5mYS1yYXRpbmcucy0yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNlxcZjAwNlxcZjAwNlwiOyB9XG5cbi5mYS1yYXRpbmcucy0xLTU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMTIzXFxmMDA2XFxmMDA2XFxmMDA2XCI7IH1cblxuLmZhLXJhdGluZy5zLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcXGYwMDZcIjsgfVxuXG4uZmEtcmF0aW5nLnMtMC01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyM1xcZjAwNlxcZjAwNlxcZjAwNlxcZjAwNlwiOyB9XG5cbi5mYS1yYXRpbmcucy0wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzAwMFxcMzAwMFxcMzAwMFxcMzAwMFxcMzAwMFwiOyB9XG5cbi5mYS1yYXRpbmcuYmx1ZSB7XG4gIGNvbG9yOiAjMmQ4MWVhOyB9XG5cbi5mYS1yYXRpbmcuYmx1ZVtkYXRhLXJhdGluZ10ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gIG1heC13aWR0aDogNTQwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNvbnRhaW5lci1sZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmNvbnRhaW5lci1zbSB7XG4gIHdpZHRoOiA4OCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnZpZGVvLWpzLFxudmlkZW8tanMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRlciB7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4OyB9XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIHdpZHRoOiAxNjBweDsgfVxuXG4udXBkYXRlLWJhbm5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDsgfVxuICAudXBkYXRlLWJhbm5lciAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogaW5pdGlhbDsgfVxuICAudXBkYXRlLWJhbm5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAjZGQwMDAwOyB9XG4gIC51cGRhdGUtYmFubmVyIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICMzOGI1NDk7IH1cblxuLmNhcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDVweCA3cHggLTJweCAjY2NjOyB9XG4gIC5jYXJ0X19oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDM2Nzk7IH1cbiAgLmNhcnRfX3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuY2FydF9fbW9kZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCA1cHggMTVweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzNjc5OyB9XG4gICAgLmNhcnRfX21vZGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMzY3OTsgfVxuICAuY2FydF9fbW9kZS1jdGEge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODQ4ZmFlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgIC5jYXJ0X19tb2RlLWN0YTpub3QoLmFjdGl2ZSkge1xuICAgICAgZmxleDogMCAxIDM4JTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5jYXJ0X19tb2RlLWN0YS5hY3RpdmUge1xuICAgICAgZmxleDogMSAwIDYyJTtcbiAgICAgIGNvbG9yOiAjMzAzNjc5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmE1MDA7IH1cbiAgLmNhcnRfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgLmNhcnRfX3N1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNhcnRfX2N1cnJlbnQge1xuICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgY29sb3I6ICMzMDM2Nzk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAuY2FydF9fcmV0YWlsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBjb2xvcjogI2RkMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAuY2FydF9fc2hpcHBpbmcge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzQ3ODBjMjsgfVxuICAuY2FydF9fcHJvZHVjdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNhcnRfX3Byb2R1Y3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5jYXJ0X19wcm9kdWN0Om5vdCguYWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNTA1MDUwOyB9XG4gICAgLmNhcnRfX3Byb2R1Y3QuYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzgwYzI7XG4gICAgICBib3JkZXItY29sb3I6ICM0NzgwYzI7IH1cbiAgLmNhcnRfX3N1YnNjcmliZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jYXJ0X19zdWJzY3JpYmUuaGlkZSArIC5jdGEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY2FydF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICBjb2xvcjogIzRhOTBlMjsgfVxuICAgIC5jYXJ0X19sYWJlbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuY2FydF9fbGFiZWwgc3Bhbjpub3QoLmNhcnRfX2NoZWNrYm94KSB7XG4gICAgICAgIG1heC13aWR0aDogNjYlOyB9XG4gIC5jYXJ0X19jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZWNlYzEzO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSk7IH1cbiAgICAuY2FydF9fY2hlY2tib3ggLmljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jYXJ0X19jaGVja2JveC5jaGVja2VkIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNmNjkyMjA7XG4gICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjsgfVxuICAuY2FydF9fZGlzY2xhaW1lciB7XG4gICAgZm9udC1zaXplOiA4LjVweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jYXJ0X19kaXNjbGFpbWVyIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmN0YSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuY3RhW2hyZWZdIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZDMDczO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNGRkMwNzMsICNGQjgxNDMpO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDhweCAtNHB4ICMwMDA7IH1cbiAgLmN0YTpub3QoW2hyZWZdKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDc5MjU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4ICM2NjY2NjY7XG4gICAgYmFja2dyb3VuZDogI2YwYTk0NTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjBhOTQ1IDAlLCAjZTI5OTM5IDM2JSwgI2UyOTkzOSA1MSUsICNkYjkzMzQgNjYlLCAjZDE4ODJlIDgyJSwgI2QxODgyZSAxMDAlKTsgfVxuICAuY3RhLmRpc2FibGVkLCAuY3RhIFtkaXNhYmxlZF0ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzcwNzA3MDtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxOyB9XG5cbi5jZXJ0aWZpZWQtYmFubmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCA1cHggN3B4IC0ycHggI2NjYzsgfVxuICAuY2VydGlmaWVkLWJhbm5lcl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNlcnRpZmllZC1iYW5uZXJfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCAyMyU7IH1cblxuLnN0YW1wLWJhbm5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnN0YW1wLWJhbm5lcl9faW1nIHtcbiAgICB3aWR0aDogMTU1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5zdGFtcC1iYW5uZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnN0YW1wLWJhbm5lcl9fdGl0bGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnN0YW1wLWJhbm5lcl9fdGl0bGUsIC5zdGFtcC1iYW5uZXJfX3RleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5zdGFtcC1iYW5uZXJfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS43MTU7IH1cblxuLmFib3V0IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkNTM3OyB9XG4gIC5hYm91dCBpbWcge1xuICAgIHdpZHRoOiAyNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5hYm91dF9fdGl0bGUsIC5hYm91dF9fdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmFib3V0X190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5hYm91dF9fdGl0bGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7IH1cblxuLmZhcV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5mYXFfX3RpdGxlOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG5cbi5hY2NvcmRpb25fX2xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMTJweDsgfVxuICAuYWNjb3JkaW9uX19saXN0ICsgLmFjY29yZGlvbl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uYWNjb3JkaW9uX19xdWVzdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuYWNjb3JkaW9uX19xdWVzdGlvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLmFjY29yZGlvbl9fcXVlc3Rpb25bYXJpYS1leHBhbmRlZD10cnVlXTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IH1cblxuLmFjY29yZGlvbl9fYW5zd2VyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYWNjb3JkaW9uX19hbnN3ZXIgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTJweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7IH1cblxuLnJldmlld3NfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucmV2aWV3c19fdGl0bGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDJweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cblxuLnJldmlld3NfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEOEQ4RDg7IH1cblxuLnJldmlld3NfX2NvbW1lbnQsIC5yZXZpZXdzX19hdXRob3IsIC5yZXZpZXdzX19ub3RlIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ucmV2aWV3c19fYXV0aG9yIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMzMDM2Nzk7IH1cblxuLnJldmlld3NfX25vdGUge1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLnByb2R1Y3Qge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAucHJvZHVjdF9faW1nIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnByb2R1Y3RfX3RpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDQycHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gIC5wcm9kdWN0IC5jdGEtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzYyNjc2YjsgfVxuICAuZm9vdGVyX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5mb290ZXJfX2l0ZW0gKyAuZm9vdGVyX19pdGVtOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTEwcHg7IH1cbiIsIltjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgc20pOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyBcbn1cblxuLmNvbnRhaW5lci1sZyB7XG4gICAgd2lkdGg6IDEwMCU7IHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbn1cblxuLmNvbnRhaW5lci1zbSB7XG4gICAgd2lkdGg6IDg4JTsgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAtIG1hcC1nZXQoJG91dGVyLXNwYWNlLCBtb2JpbGUpOyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDIgLSBtYXAtZ2V0KCRvdXRlci1zcGFjZSwgbW9iaWxlKTtcbn1cblxuc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGlubmVyLXNwYWNlLCBtb2JpbGUpOyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkaW5uZXItc3BhY2UsIG1vYmlsZSk7XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgXG59XG5cbi52aWRlby1qcyxcbnZpZGVvLWpzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4iLCIuaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBtb2JpbGVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ21vYmlsZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gIC8vICdtb2JpbGUnOiAzMjBweCxcclxuICAvLyAndGFibGV0JzogNzY4cHgsXHJcbiAgLy8gJ2Rlc2t0b3AnOiAxMDI0cHhcclxuICAnbW9iaWxlLW1pZCc6IDUyMHB4LFxyXG4gICdtb2JpbGUtbWF4JzogNTc1cHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICd0YWJsZXQtbWlkJzogOTkycHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI1cHgsXHJcbiAgJ2Rlc2t0b3AtbWlkJzogMTIwMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy0gbW9iaWxlIG9ubHlcclxuLy8vLy0gKCc8dGFibGV0JykgLSBtYXgtd2lkdGg6IDc2N3B4XHJcbi8vLSB0YWJsZXQgb25seVxyXG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxyXG4vLy0gZGVza3RvcCBvbmx5XHJcbi8vLy8tICgnPj1kZXNrdG9wJykgLSBtaW4td2lkdGg6IDEwMjVweFxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxyXG4gICdmaW5lJzogJyhwb2ludGVyOiBmaW5lKScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy8tIEJ1dHRvbnMgcGFydGlhbFxuW3JvbGU9J2J1dHRvbiddIHtcbiAgICAvLyBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ2hvdmVyJywgJ2ZpbmUnKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5jdGEgeyBcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC1iYXNpczogYXV0bzsgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuIiwiJGNvbGxhcHNpYmxlLWljb246IChcclxuICAgIGZvbnQtc2l6ZTogKFxyXG4gICAgICAgIG1vYmlsZTogMTBweCwgLy8tIG1hcC1kZWVwLWdldCgkY29sbGFwc2libGUtaWNvbiwgaWNvbi1mb250LXNpemUsIG1vYmlsZSlcclxuICAgICAgICBkZXNrdG9wOiAyNnB4IC8vLSBtYXAtZGVlcC1nZXQoJGNvbGxhcHNpYmxlLWljb24sIGljb24tZm9udC1zaXplLCBkZXNrdG9wKVxyXG4gICAgKVxyXG4pO1xyXG5cclxuLy8tIFBhcnRpYWwgZm9yIFNWRyBzcHJpdGUgaWNvbnNcclxuLmljb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXHJcbiAgICBmaWxsOiAkaWNvbnMtbWFpbkNvbG9yOyAvKiBkZWZhdWx0IGNvbG9yICovIFxyXG4gICAgY29sb3I6ICRpY29ucy1tYWluQ29sb3I7IC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgXHJcbiAgICAmLS1jb2xsYXBzZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwJTsgcmlnaHQ6IDA7IGZsZXg6IDAgMCBhdXRvOyBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbnMtbWFpbkNvbG9yOyBzdHJva2U6IGN1cnJlbnRDb2xvcjsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgIFthcmlhLWV4cGFuZGVkPXRydWVdICYge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xODBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXBsdXMge1xyXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG5cclxuICAgICAgICAudmVydGljYWwge1xyXG4gICAgICAgICAgICBbYXJpYS1leHBhbmRlZD10cnVlXSAmIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5oZWFkZXIge1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLCBpbm5lci1zcGFjZSkgI3skZ3JpZC1ndXR0ZXItd2lkdGggLyAyfSBtYXAtZ2V0KCRoZWFkZXIsIGlubmVyLXNwYWNlKSAqIDI7XHJcbiAgICBcclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGhlYWRlciwgbG9nbywgd2lkdGgpOztcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLnVwZGF0ZS1iYW5uZXIge1xyXG4gICAgbWFyZ2luLXRvcDogbWFwLWRlZXAtZ2V0KCR1cGRhdGUtYmFubmVyLCBzcGFjaW5nLCBvdXRlcik7IG1hcmdpbi1ib3R0b206IG1hcC1kZWVwLWdldCgkdXBkYXRlLWJhbm5lciwgc3BhY2luZywgb3V0ZXIpO1xyXG4gICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHVwZGF0ZS1iYW5uZXIsIGZvbnQsIHNpemUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJHVwZGF0ZS1iYW5uZXIsIGNvbG9yLCB0ZXh0KTtcclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogaW5pdGlhbDsgXHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHVwZGF0ZS1iYW5uZXIsIGNvbG9yLCB0aXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkdXBkYXRlLWJhbm5lciwgZm9udCwgd2VpZ2h0KTsgY29sb3I6IG1hcC1kZWVwLWdldCgkdXBkYXRlLWJhbm5lciwgY29sb3IsIGhpZ2hsaWdodCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8tIENhcnQgY29tcG9uZW50XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4uY2FydCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkb3V0ZXItc3BhY2UsIG1vYmlsZSk7IHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IG1hcC1nZXQoJGNhcnQsIGNvbG9yKTsgYm94LXNoYWRvdzogJHNlY3Rpb24tc2hhZG93O1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGNhcnQsIGlubmVyLXNwYWNlKSAqIDEuNTsgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGNhcnQsIGlubmVyLXNwYWNlKSAqIDEuNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjYXJ0LCBoZWFkZXIsIGJnKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGNhcnQsIGhlYWRlciwgY29sb3IpO1xuICAgIH1cblxuICAgICZfX21vZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMCBtYXAtZ2V0KCRtb2RlLWN0YSwgb3V0ZXItc3BhY2UpICN7bWFwLWdldCgkbW9kZS1jdGEsIG91dGVyLXNwYWNlKSAqIDN9O1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkbW9kZS1jdGEsIGZvbnQsIHNpemUpOyBsaW5lLWhlaWdodDogbWFwLWRlZXAtZ2V0KCRtb2RlLWN0YSwgZm9udCwgaGVpZ2h0KTsgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjYXJ0LCBoZWFkZXIsIGJnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogNTAlOyB3aWR0aDogMTAwdnc7IGhlaWdodDogMTAwJTsgei1pbmRleDogLTE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkY2FydCwgaGVhZGVyLCBiZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8tIHN1c2JyaWJlLW1vZGUgQ1RBc1xuICAgICZfX21vZGUtY3RhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRtb2RlLWN0YSwgb3V0ZXItc3BhY2UpOyBtYXJnaW4tbGVmdDogbWFwLWdldCgkbW9kZS1jdGEsIG91dGVyLXNwYWNlKTsgcGFkZGluZzogbWFwLWdldCgkY2FydCwgaW5uZXItc3BhY2UpICN7bWFwLWdldCgkY2FydCwgaW5uZXItc3BhY2UpIC8gMn07IFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCRtb2RlLWN0YSwgZm9udCwgc3BhY2luZyk7IGNvbG9yOiBtYXAtZ2V0KCRtb2RlLWN0YSwgZGVmYXVsdC1jb2xvcik7IGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1vZGUtY3RhLCBkZWZhdWx0LWJnKTsgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkbW9kZS1jdGEsIHJhZGl1cyk7XG5cbiAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgZmxleDogMCAxIDM4JTsgbWFyZ2luLXRvcDogbWFwLWdldCgkbW9kZS1jdGEsIG91dGVyLXNwYWNlKTsgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkbW9kZS1jdGEsIG91dGVyLXNwYWNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCA2MiU7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbW9kZS1jdGEsIGFjdGl2ZS1jb2xvcik7IGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1vZGUtY3RhLCBhY3RpdmUtYmcpOyBib3JkZXI6IG1hcC1nZXQoJG1vZGUtY3RhLCBib3JkZXIpIG1hcC1nZXQoJG1vZGUtY3RhLCBhY3RpdmUtYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRjYXJ0LCBvdXRlci1zcGFjZSk7IHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkY2FydCwgZm9udC1zaXplKTsgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB9XG5cbiAgICAmX19zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkY2FydCwgb3V0ZXItc3BhY2UpO1xuICAgIH1cblxuICAgICZfX2N1cnJlbnQge1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkY3VycmVudC1wcmljZSwgZm9udCwgc2l6ZSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGN1cnJlbnQtcHJpY2UsIGZvbnQsIHdlaWdodCk7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJGN1cnJlbnQtcHJpY2UsIGZvbnQsIGNvbG9yKTsgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGN1cnJlbnQtcHJpY2UsIGxpbmUtaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAmX19yZXRhaWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRjYXJ0LCBvdXRlci1zcGFjZSkgLyAyO1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkcmV0YWlsLCBmb250LCBzaXplKTsgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkcmV0YWlsLCBmb250LCB3ZWlnaHQpOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBjb2xvcjogbWFwLWRlZXAtZ2V0KCRyZXRhaWwsIGZvbnQsIGNvbG9yKTsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgfVxuXG4gICAgJl9fc2hpcHBpbmcge1xuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHNoaXBwaW5nLCBmb250LXNpemUpOyBjb2xvcjogbWFwLWdldCgkc2hpcHBpbmcsIGNvbG9yKTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBvdXRlci1zcGFjZSk7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBvdXRlci1zcGFjZSk7IHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRwcm9kdWN0LWN0YSwgaW5uZXItc3BhY2UpOyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1jdGEsIGlubmVyLXNwYWNlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC45OyBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBib3JkZXIpOyBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRwcm9kdWN0LWN0YSwgcmFkaXVzKTtcblxuICAgICAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwcm9kdWN0LWN0YSwgZGVmYXVsdC1iZyk7IGJvcmRlci1jb2xvcjogbWFwLWdldCgkcHJvZHVjdC1jdGEsIGRlZmF1bHQtYm9yZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHByb2R1Y3QtY3RhLCBmb250LCB3ZWlnaHQpOyBjb2xvcjogbWFwLWdldCgkcHJvZHVjdC1jdGEsIGFjdGl2ZS1jb2xvcik7IGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBhY3RpdmUtYmcpOyBib3JkZXItY29sb3I6IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBhY3RpdmUtYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YnNjcmliZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGNhcnQsIG91dGVyLXNwYWNlKSAqIDEuNTtcblxuICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgJiArIC5jdGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGNhcnQsIG91dGVyLXNwYWNlKSAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDA7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtOyBsaW5lLWhlaWdodDogbWFwLWdldCgkY2hlY2tib3gsIHNpemUpOyBsZXR0ZXItc3BhY2luZzogLjVweDsgY29sb3I6ICRhZ3JlZW1lbnQtY29sb3I7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgXG5cbiAgICAgICAgICAgICY6bm90KC5jYXJ0X19jaGVja2JveCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiBtYXAtZ2V0KCRjaGVja2JveCwgc2l6ZSk7IGhlaWdodDogbWFwLWdldCgkY2hlY2tib3gsIHNpemUpOyBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGNhcnQsIG91dGVyLXNwYWNlKSAvIDI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRjaGVja2JveCwgc2l6ZSk7IGJvcmRlcjogbWFwLWdldCgkY2hlY2tib3gsIGJvcmRlcikgbWFwLWdldCgkY2hlY2tib3gsIGJvcmRlci1jb2xvcik7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGNoZWNrYm94LCByYWRpdXMpOyBib3gtc2hhZG93OiBtYXAtZ2V0KCRjaGVja2JveCwgc2hhZG93KTtcblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGVja2VkIHtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gsIHRpY2stY29sb3IpOyBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rpc2NsYWltZXIge1xuICAgICAgICBmb250LXNpemU6IDguNXB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS40OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmN0YSB7IFxyXG4gICAgIGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJG1haW4tY3RhLXN0cnVjdHVyZSwgZm9udCwgd2VpZ2h0KTsgbGluZS1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkbWFpbi1jdGEtc3RydWN0dXJlLCBmb250LCBsaW5lLWhlaWdodCk7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgY29sb3IsIGRlZmF1bHQpOyBcclxuXHJcbiAgICAmW2hyZWZdIHtcclxuICAgICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodmVydGljYWwsICN7bWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIGJnLCBzdGFydC1jb2xvcil9LCAje21hcC1kZWVwLWdldCgkbWFpbi1jdGEtc2NoZW1hLCBiZywgZW5kLWNvbG9yKX0pO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1haW4tY3RhLXN0cnVjdHVyZSwgYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJG1haW4tY3RhLXN0cnVjdHVyZSwgZm9udCwgc2l6ZSk7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgcmFkaXVzKTsgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIHNoYWRvdywgc2l6ZSkgbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIHNoYWRvdywgY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KFtocmVmXSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzZWNvbmRhcnktY3RhLXN0cnVjdHVyZSwgd2lkdGgpOyBwYWRkaW5nOiBtYXAtZ2V0KCRtYWluLWN0YS1zdHJ1Y3R1cmUsIGJsb2NrLXBhZGRpbmcpIC8gMjtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zdHJ1Y3R1cmUsIGZvbnQsIHNpemUpOyBib3JkZXI6IG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zY2hlbWEsIGJvcmRlciwgc2l6ZSkgbWFwLWRlZXAtZ2V0KCRzZWNvbmRhcnktY3RhLXNjaGVtYSwgYm9yZGVyLCBjb2xvcik7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHNlY29uZGFyeS1jdGEtc2NoZW1hLCByYWRpdXMpOyBib3gtc2hhZG93OiBtYXAtZGVlcC1nZXQoJHNlY29uZGFyeS1jdGEtc2NoZW1hLCBzaGFkb3csIHNpemUpIG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zY2hlbWEsIHNoYWRvdywgY29sb3IpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zY2hlbWEsIGJnLCBmYWxsYmFjayk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWRlZXAtZ2V0KCRzZWNvbmRhcnktY3RhLXNjaGVtYSwgYmcsIGdyYWRpZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkbWFpbi1jdGEtc3RydWN0dXJlLCBmb250LCBzaXplLWRpc2FibGVkKTsgY29sb3I6IG1hcC1kZWVwLWdldCgkbWFpbi1jdGEtc2NoZW1hLCBjb2xvciwgZGlzYWJsZWQpOyBiYWNrZ3JvdW5kOiBtYXAtZGVlcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgYmcsIGRpc2FibGVkKTtcclxuICAgIH1cclxufVxyXG4iLCIvLy0gU2NoZW1hIHJlbGF0ZWQgbWl4aW5zXHJcblxyXG4vLy0gMS4gTGluZWFyIEdyYWRpZW50IG1peGluXHJcbi8vLSBVc2FnZTogJGRpcmVjdGlvbjogdmVydGljYWwgfCBob3Jpem9uYWwgfCB2YWx1ZSdkZWcnXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjeyRkaXJlY3Rpb259LCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5jZXJ0aWZpZWQtYmFubmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJG91dGVyLXNwYWNlLCBtb2JpbGUpO1xyXG4gICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGNlcnRpZmllZC1iYW5uZXIsIGZvbnQsIHNpemUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJveC1zaGFkb3c6ICRzZWN0aW9uLXNoYWRvdztcclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWF4LXdpZHRoOiBtYXAtZ2V0KCRjZXJ0aWZpZWQtYmFubmVyLCBtYXgtd2lkdGgpOyBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBmbGV4OiAwIDAgMjMlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vLSBTdGFtcCBCYW5uZXIgY29tcG9uZW50XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcblxyXG4uc3RhbXAtYmFubmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJG91dGVyLXNwYWNlLCBtb2JpbGUpICogNDtcclxuXHJcbiAgICAmX19pbWcge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzdGFtcC1iYW5uZXIsIHdpZHRoKTsgbWFyZ2luLXRvcDogIG1hcC1nZXQoJHN0YW1wLWJhbm5lciwgb3V0dGVyLXNwYWNlKSAqIDI7IG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHN0YW1wLWJhbm5lciwgb3V0dGVyLXNwYWNlKSAqIDM7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tdGl0bGU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUsXHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRzdGFtcC1iYW5uZXIsIGlubmVyLXNwYWNlKTsgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRzdGFtcC1iYW5uZXIsIGlubmVyLXNwYWNlKTtcclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0YW1wLWJhbm5lciwgZm9udC1zaXplKTsgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHN0YW1wLWJhbm5lciwgbGluZS1oZWlnaHQpOyAgICBcclxuICAgIH1cclxufVxyXG4iLCJAbWl4aW4gc2VjdGlvbi10aXRsZSgkYm9yZGVyLWNvbG9yOiAkYmxhY2spIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNDJweDsgbWFyZ2luLXRvcDogMTVweDsgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmFib3V0IHtcclxuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRhYm91dCwgaW5uZXItc3BhY2UpOyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkYWJvdXQsIGlubmVyLXNwYWNlKSAqIDQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhYm91dCwgYmcpO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYWJvdXQsIGltZywgd2lkdGgpOyBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRhYm91dCwgb3V0ZXItc3BhY2UpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlLFxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkYWJvdXQsIGZvbnQsIGNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi10aXRsZSgkd2hpdGUpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG5cclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmZhcSB7IFxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tdGl0bGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24ge1xyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IG1hcC1kZWVwLWdldCgkZmFxLCBpY29uLCBzaXplKTtcclxuXHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRmYXEsIG91dGVyLXNwYWNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcXVlc3Rpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7IHdpZHRoOiBtYXAtZGVlcC1nZXQoJGZhcSwgaWNvbiwgc2l6ZSk7IGhlaWdodDogbWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpOyBtYXJnaW4tbGVmdDogLSN7bWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpfTtcclxuICAgICAgICAgICAgYm9yZGVyOiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpIC8gMjtcclxuICAgICAgICAgICAgICAgIHN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIHRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICAgICAgICAgcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAgICAgICAgIGJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICAgICAgICAgbGVmdC1jb2xvcjogY3VycmVudENvbG9yOyBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGF0LXJvb3QgLmFjY29yZGlvbl9fcXVlc3Rpb25bYXJpYS1leHBhbmRlZCA9IHRydWVdIHtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IG1hcC1kZWVwLWdldCgkZmFxLCBpY29uLCBzaXplKSAtIDJweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYW5zd2VyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGZhcSwgb3V0ZXItc3BhY2UpIC8gMjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7bWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpfSk7IG1hcmdpbi1sZWZ0OiAtI3ttYXAtZGVlcC1nZXQoJGZhcSwgaWNvbiwgc2l6ZSkgLyAyfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi5yZXZpZXdzIHtcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBzZWN0aW9uLXRpdGxlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3Qge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgaHIsIHNwYWNlKTsgcGFkZGluZy1ib3R0b206IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgaHIsIHNwYWNlKTsgXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBociwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGhyLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29tbWVudCxcclxuICAgICZfX2F1dGhvcixcclxuICAgICZfX25vdGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2F1dGhvciB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgYXV0aG9yLCB3ZWlnaHQpOyBjb2xvcjogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBhdXRob3IsIGNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ub3RlIHtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgbm90ZSwgc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5wcm9kdWN0IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRpbm5lci1zcGFjZSwgbW9iaWxlKSAqIDI7XHJcblxyXG4gICAgJl9faW1nIHtcclxuICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRwcm9kdWN0LCBpbWcsIHdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi10aXRsZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS13cmFwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBtYXAtZGVlcC1nZXQoJHByb2R1Y3QsIGN0YSwgc3BhY2UpOyAgbWFyZ2luLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCRwcm9kdWN0LCBjdGEsIHNwYWNlKTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmZvb3RlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZm9vdGVyLCBpbm5lci1zcGFjZSk7IHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRmb290ZXIsIGlubmVyLXNwYWNlKTtcclxuICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRmb290ZXIsIGZvbnQsIHNpemUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlci10b3A6IG1hcC1kZWVwLWdldCgkZm9vdGVyLCBib3JkZXIsIHNpemUpIG1hcC1kZWVwLWdldCgkZm9vdGVyLCBib3JkZXIsIGNvbG9yKTtcclxuXHJcbiAgICAmX19saXN0IHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IG1hcC1nZXQoJGZvb3Rlciwgb3V0ZXItc3BhY2UpOyBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRmb290ZXIsIG91dGVyLXNwYWNlKTsgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZm9vdGVyLCBvdXRlci1zcGFjZSk7IHBhZGRpbmctbGVmdDogbWFwLWdldCgkZm9vdGVyLCBvdXRlci1zcGFjZSk7XHJcblxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLSN7bWFwLWdldCgkZm9vdGVyLCBvdXRlci1zcGFjZSl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */
