@import url(css/bootstrap.min.css);@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 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 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 scale{0%,80%,to{transform:scale(1)}50%{transform:scale(1.8)}}@-webkit-keyframes scale{0%,80%,to{transform:scale(1)}50%{transform:scale(1.8)}}@-moz-keyframes scale{0%,80%,to{transform:scale(1)}50%{transform:scale(1.8)}}@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 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 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)}}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,h1,h2,h3,h4,h5,h6,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,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}figure,form,p{padding:0;border:0}img{padding:0;font:inherit}fieldset,figure,footer,form,header,legend,p{font:inherit;vertical-align:baseline}footer,header,legend{margin:0}footer,header{border:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;font-family:"Muli",sans-serif;font-size:15px;color:#000}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}[hidden]{display:none}html{font-size:100%;-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;width:100%;margin:0 auto;display:block}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,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}textarea{overflow:auto;vertical-align:top}button,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}.hide{display:none!important}.show{display:inline-block!important}h1,h1 .sub-title{font-size:20px;text-align:left}h1 .sub-title{font-size:50px}h1,h2,h3,small{font-family:"Muli",sans-serif}h1,h2,h3{color:#27377a}h2,h3{font-size:27px;line-height:34px;text-align:center}.sub-title,h2 .sub-title,h3 .sub-title{display:block}small{color:#030369}p{margin:16px 0}b,h2,h3{font-weight:700}.rating:before{letter-spacing:2.4px}.disclaimer{font-size:14px;line-height:1.4}.citation{font-size:10px;font-weight:400!important}@media (max-width:767.98px){.citation{font-size:8px}.asterisk{font-size:12px}}i{font-style:italic}.underline{text-decoration:underline}@media (max-width:767.98px){body{font-size:15px}}body.v01-03,body.v02{color:#2e2828}body.v01-03:not(.v02--splt-btn) main,body.v02:not(.v02--splt-btn) main{overflow:hidden}a{text-decoration:none}.video-js,video-js{background-color:#fff!important}.btn,.btn-wrap:before{cursor:pointer;border-radius:6px;background-image:linear-gradient(180deg,#ffc073 0,#fb8143 100%);padding:7px 0;width:77%;display:inline-block;color:#fff;font-size:26px;line-height:32px;margin:0 auto;border:0}.btn-wrap:not([href]):before,.btn-wrap:not([href]):hover:before,.btn:not([href]),.btn:not([href]):hover,.v01-03 .btn-wrap:not([href]):before,.v01-03 .btn-wrap:not([href]):hover:before,.v01-03 .btn:not([href]),.v01-03 .btn:not([href]):hover,.v02 .btn-wrap:not([href]):before,.v02 .btn-wrap:not([href]):hover:before,.v02 .btn:not([href]),.v02 .btn:not([href]):hover{color:#fff}.btn-wrap:hover:before,.btn:hover{color:#fff;text-decoration:none;background-image:linear-gradient(to bottom,#f9b959,#f9b959)}.btn-wrap[disabled]:before,.btn.disabled,.btn[disabled],.disabled.btn-wrap:before{color:#707070;background:#f1f1f1;pointer-events:none}.v01-03 .btn,.v01-03 .btn-wrap:before,.v02 .btn,.v02 .btn-wrap:before{display:inline-block;width:auto;padding:7px 20px;margin:0 auto;line-height:1.25;border-radius:20px;background-image:linear-gradient(to bottom,#ffb900,#eba727);border:0;color:#fff;font-size:14px;text-align:center}.v01-03 .btn-wrap:hover:before,.v01-03 .btn:hover,.v02 .btn-wrap:hover:before,.v02 .btn:hover{color:#fff;text-decoration:none;background:#ffa460}.v01-03 .btn-wrap[disabled]:before,.v01-03 .btn.disabled,.v01-03 .btn[disabled],.v01-03 .disabled.btn-wrap:before,.v02 .btn-wrap[disabled]:before,.v02 .btn.disabled,.v02 .btn[disabled],.v02 .disabled.btn-wrap:before{background:#bfc2ca;color:#fff;box-shadow:-1px -1px 0 #fff,0 0 0 #fff,1px 1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff;pointer-events:none}body.v02 .btn,body.v02 .btn-wrap:before{font-size:22px;font-weight:700}.btn-wrap:before{position:static;opacity:0;content:"BUY NOW"}.btn-wrap.show:before{position:absolute;z-index:-1}.icon{overflow:hidden;display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:#030369;color:#030369;box-sizing:content-box;pointer-events:none}.icon--collapse{position:absolute;top:60%;right:0;flex:0 0 auto;margin-left:5px;color:#030369;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}[aria-expanded=true] .icon--plus .vertical{display:none}.container{padding:0;width:80%;margin:0 auto;max-width:340px}.v01-03 .container,.v02 .container{max-width:430px;width:100%;padding:0 15px}.v01-03 section,.v02 section{margin:30px 0;z-index:0}.fa-rating{position:relative;white-space:nowrap;vertical-align:middle;font-family:'FontAwesome'}.fa-rating:before{content:"\f005\f005\f005\f005\f005";font-weight:400;vertical-align:baseline}.fa-rating:after{position:absolute;top:50%;left:0;transform:translate(0,-50%)}.rating .fa-rating.s-5:before{content:"\f005\f005\f005\f005\f005"}.rating .fa-rating.s-4-5:before{content:"\f005\f005\f005\f005\f123"}.rating .fa-rating.s-4:before{content:"\f005\f005\f005\f005\f006"}.rating .fa-rating.s-3-5:before{content:"\f005\f005\f005\f123\f006"}.rating .fa-rating.s-3:before{content:"\f005\f005\f005\f006\f006"}.rating .fa-rating.s-2-5:before{content:"\f005\f005\f123\f006\f006"}.rating .fa-rating.s-2:before{content:"\f005\f005\f006\f006\f006"}.rating .fa-rating.s-1-5:before{content:"\f005\f123\f006\f006\f006"}.rating .fa-rating.s-1:before{content:"\f005\f006\f006\f006\f006"}.rating .fa-rating.s-0-5:before{content:"\f123\f006\f006\f006\f006"}.rating .fa-rating.s-0:before{content:"\3000\3000\3000\3000\3000"}.rating .fa-rating.blue{color:#2d81ea}.rating .fa-rating.blue[data-rating]{cursor:pointer}header{padding:12px 0 17px 38px}header .logo{width:155px}.cart{text-align:center;padding:0 0 21px}.cart h2,.cart__mode{background-color:#27377a}.cart h2{font-size:23px;line-height:28px;color:#fff;padding:15px 0}.cart h2::after{content:none}.cart .container-lg{max-width:540px}.cart__mode{position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 5px 40px;font-size:18px;line-height:1.2}.cart__mode::before{content:'';position:absolute;top:0;left:50%;width:100vw;height:100%;z-index:-1;transform:translateX(-50%);background-color:#27377a}.cart__mode-cta{margin-right:5px;margin-left:5px;padding:10px 5px;letter-spacing:normal;color:#fff;background-color:#848fae}@media (hover:hover) and (pointer:fine){.cart__mode-cta{cursor:pointer}}.cart__mode-cta.subscribe{position:relative}.cart__mode-cta.subscribe::after{content:'Best Value';position:absolute;right:0;bottom:-22px;left:0;display:block;font-size:15px;font-weight:bolder;color:#10e648}.cart__mode-cta:not(.active){flex:0 1 38%;margin-top:5px;margin-bottom:5px}.cart__mode-cta.active{flex:1 0 62%;color:#030369;background-color:#fff;border:5px solid orange;border-radius:4px;pointer-events:none}.cart .summary,footer ul li{text-align:center}.cart .summary .price{font-size:60px;line-height:73px;font-weight:600;color:#29397b;margin-bottom:5px}.cart .summary .retailPrice{font-size:14px;line-height:17px;font-weight:300;text-decoration-line:line-through;color:red;margin-bottom:11px}.cart .summary .shipping{font-size:12px;line-height:15px;color:#4a90e2;margin-bottom:11px}.cart .summary .shipping span{margin-right:2px}.cart .products .product{font-size:20px;line-height:24px;text-align:center;padding:8px 0;margin-bottom:12px;border-radius:6px;border:solid 1px #707070;background-color:#fff;cursor:pointer}.cart .products .product.active,.cart .products .product:hover{background-color:#4990e2;border-color:#4990e2;color:#fff}.cart__subscribe{margin-bottom:5px}.cart__label{display:flex;justify-content:center;margin-bottom:16px;font-size:0;font-weight:500;line-height:20px;letter-spacing:.5px}@media (hover:hover) and (pointer:fine){.cart__label{cursor:pointer}}.cart__label span{display:inline-block;font-size:14px}.cart__label span:not(.cart__checkbox){font-weight:700;color:#4a90e2}.cart__checkbox{display:inline-block;width:20px;height:20px;margin-right:15px;line-height:20px;border:3px solid #4a90e2;vertical-align:top;border-radius:2px}.cart__checkbox .icon{display:none}.cart__checkbox.checked .icon{display:block;color:#d73731;stroke:currentColor}.cart__disclaimer{margin-bottom:0;font-size:10px;font-weight:400;line-height:1.4;letter-spacing:normal}.cart__disclaimer a{color:initial}.moneyBack{background-color:#334579;color:#fff;padding:8px 0 44px}.moneyBack img{width:155px;margin-bottom:10px}.moneyBack h2{color:#fff;margin-bottom:7px;text-transform:uppercase;text-align:left;font-weight:400}.about p,.moneyBack p{font-size:15px;font-weight:300;line-height:18px}.about{background-color:#e5e9ea;padding:14px 0 29px}.about .top{display:flex;align-items:center;margin-bottom:15px}.about .top img{width:91px;margin-right:12px;display:inline-block}.about .top h2{display:inline-block;font-weight:600}.about p{line-height:22px}.faq{padding:30px 0 18px}.faq h2{font-weight:600;text-align:left}.faq .faqList li:not(:last-child) .questionWrap{border-bottom:2px solid #80808026}.faq .faqList li .questionWrap .question{font-size:18px;line-height:1.1;font-weight:700;color:#27377a;position:relative;padding-right:15px;margin-bottom:18px;margin-top:21px;cursor:pointer}.faq .faqList li .questionWrap .question:before{content:"";background:url(https://dtjlhiahlv53j.cloudfront.net/assets/bc3/product/right-arrow-large.png) no-repeat;background-size:contain;width:11px;height:7px;display:block;position:absolute;right:0;top:11px;transform:rotate(180deg);transition:transform .5s ease}.faq .faqList li .questionWrap .question[aria-expanded=true]:before{transform:rotate(0deg)}body.v01-02 .faq .faqList li .questionWrap .question,body.v01-03 .faq .faqList li .questionWrap .question,body.v02 .faq .faqList li .questionWrap .question{font-size:20px;line-height:30px}.faq .faqList li .questionWrap .answer{width:100%}.faq .faqList li .questionWrap .answer p{padding-bottom:16px;margin:0}.faq .faqList li .questionWrap .answer img{width:auto}.v01-03 .faq,.v02 .faq{margin:0;background:url(https://dtjlhiahlv53j.cloudfront.net/assets/bc3/product/faq-back.jpg);background-color:#e0e3ea;background-repeat:no-repeat;background-position:top right}.v01-03 .faq h2,.v02 .faq h2{text-align:center;font-weight:700}.v01-03 .faq .faqList li .questionWrap .question,.v02 .faq .faqList li .questionWrap .question{margin-bottom:15px;margin-top:14px;font-size:17px;line-height:20px;color:#2e2828}.v01-03 .faq .faqList li .questionWrap .question:before,.v02 .faq .faqList li .questionWrap .question:before{transform:rotate(0deg);background-image:url(https://dtjlhiahlv53j.cloudfront.net/assets/bc3/product/download.svg)}.v01-03 .faq .faqList li .questionWrap .question[aria-expanded=true]:before,.v02 .faq .faqList li .questionWrap .question[aria-expanded=true]:before{transform:rotate(180deg)}.v01-03 .faq .faqList li .questionWrap .answer,.v02 .faq .faqList li .questionWrap .answer{border-top:2px solid #e3e4e5}.v01-03 .faq .faqList li .questionWrap .answer p:first-child,.v02 .faq .faqList li .questionWrap .answer p:first-child{padding-top:12px}@media (min-width:768px){.v01-03 .faq,.v02 .faq{background-image:url(https://dtjlhiahlv53j.cloudfront.net/assets/bc3/product/back_d.jpg);background-color:#d9dde6}}.rating{overflow:hidden;height:1em;font-size:17px;text-align:left;line-height:1em;letter-spacing:1px;color:#ffc86d}.rating [class^=fa]{padding-top:1em}.rating,.rating [class^=fa]::before{display:block}.reviews{padding-top:30px;padding-bottom:60px;letter-spacing:1.2px;line-height:1.42857}.reviews__title{text-align:left;font-weight:300}.aboutBC3 h2:after,.reviews__title:after{content:"";width:42px;border-top:1px solid;display:block;margin:15px 0}.reviews__item{margin-bottom:20px;border-bottom:1px solid #d8d8d8}.reviews__author,.reviews__comment,.reviews__item-title,.reviews__note{margin-top:10px}.reviews__item-title{font-size:22px;font-weight:300;color:#000}.reviews__comment{font-size:15px}.reviews__author{font-size:17px;font-weight:700;color:#303679}.reviews__note{font-size:14px;font-weight:lighter;font-style:italic}.aboutBC3{text-align:center;background-color:#e5e9ea;padding:20px 0;overflow:hidden}.aboutBC3 .imgWrap{margin-right:-45px}.aboutBC3 .imgWrap img{max-width:240px;margin:0 auto 20px}.aboutBC3 h2,footer ul,footer ul li a{font-weight:600}.aboutBC3 h2:after{margin:15px auto}.aboutBC3 p,footer .text p{font-size:16px;font-weight:300}.aboutBC3 p{line-height:18px;text-align:left;margin-bottom:16px}.aboutBC3 .btn,.aboutBC3 .btn-wrap:before{width:100%}footer{background-color:#334579;text-align:center;color:#fff;position:relative;font-size:16px;padding:17px 0}footer .container{max-width:inherit}footer .text p{line-height:20px;margin:0}footer .text p.fda{border:solid 2px #fff;padding:5px;margin:0 5% 4px}footer img{width:169px;margin-top:5px}footer .copyright{font-size:16px;margin-top:16px;line-height:20px;font-weight:600}footer ul{display:flex;align-items:center;flex-wrap:wrap;justify-content:center}footer ul li a{color:#b9d356;text-decoration:underline}footer ul li a:hover{color:#292929}footer ul li:not(:last-child):after{content:"|";margin:0 7px}.v01-03 footer,.v02 footer{padding-top:32px;background-color:#9da4bc}.v01-03 footer .text p,.v02 footer .text p{font-size:14px;line-height:17px}.v01-03 footer .text p.fda,.v02 footer .text p.fda{margin:10px 0 9px;padding:1px;border-width:1px}.v01-03 footer ul li a,.v02 footer ul li a{color:#fff;font-size:15px}.v01-03 footer .copyright,.v02 footer .copyright{width:80%;margin:15px auto 0;font-size:14px;line-height:17px}body.v02--splt-btn footer{margin-bottom:60px}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX2FuaW1hdGlvbnMuc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJsYXlvdXQvX2dlbmVyaWMuc2NzcyIsInN0eWxlLmNzcyIsImJhc2UvX2hlbHBlci1jbGFzc2VzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX3JhdGluZy5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2NhcnQtcmVjb2RlZC9jYXJ0LnNjc3MiLCJhYnN0cmFjdHMvZnVuY3Rpb25zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvbW9uZXlCYWNrL21vbmV5QmFjay5zY3NzIiwiLi4vY29tcG9uZW50cy9hYm91dC9hYm91dC5zY3NzIiwiLi4vY29tcG9uZW50cy9mYXEvZmFxLnNjc3MiLCIuLi9jb21wb25lbnRzL3Jldmlld3MvcmV2aWV3cy5zY3NzIiwiLi4vY29tcG9uZW50cy9hYm91dEJDMy9hYm91dEJDMy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLG1DLEFDWEEsaUJBQ0ksRSxDQUVBLEUsQ0FGSyxTLENBQ0wsRyxDQUFNLFcsQUFHVix5QkFDSSxFLENBRUEsRSxDQUZLLFMsQ0FDTCxHLENBQU0sVyxBQUdWLHNCQUNJLEUsQ0FFQSxFLENBRkssUyxDQUNMLEcsQ0FBTSxXLEFBSVYsa0JBQ0ksRSxDQUFLLFMsQ0FDTCxFLENBQU8sVyxBQUVYLDBCQUNJLEUsQ0FBSyxTLENBQ0wsRSxDQUFPLFcsQUFHWCx1QkFDSSxFLENBQUssUyxDQUNMLEUsQ0FBTyxXLEFBR1gsZ0JBQ0ksRSxDQUVBLEUsQ0FGSyx1QixDQUNMLEcsQ0FBTSw2QixBQUdWLHdCQUNJLEUsQ0FFQSxFLENBRkssdUIsQ0FDTCxHLENBQU0sNkIsQUFJVixxQkFDSSxFLENBRUEsRSxDQUZLLHVCLENBQ0wsRyxDQUFNLDZCLEFBS1Ysa0JBQ0ksRSxDQUFLLHdCLENBQ0wsRSxDQUFPLHlCLEFBRVgsMEJBQ0ksRSxDQUFLLHdCLENBQ0wsRSxDQUFPLHlCLEFBR1gsdUJBQ0ksRSxDQUFLLHdCLENBQ0wsRSxDQUFPLHlCLEFBR1gsa0JBQ0ksRSxDQUFLLHVCLENBQ0wsRSxDQUFPLHdCLEFBRVgsMEJBQ0ksRSxDQUFLLHVCLENBQ0wsRSxDQUFPLHdCLEFBR1gsdUJBQ0ksRSxDQUFLLHVCLENBQ0wsRSxDQUFPLHdCLEFBR1gseUJBQ0ksRSxDQUdBLEUsQ0FISyxTLENBQ0wsRyxDQUNBLEcsQ0FETSxXLEFBSVYsaUNBQ0ksRSxDQUdBLEUsQ0FISyxTLENBQ0wsRyxDQUNBLEcsQ0FETSxXLEFBS1YsOEJBQ0ksRSxDQUdBLEUsQ0FISyxTLENBQ0wsRyxDQUNBLEcsQ0FETSxXLEFBS1YsaUJBQ0ksRSxDQUVBLEcsQ0FDQSxFLENBSEssa0IsQ0FDTCxHLENBQUssc0IsQUFJVCx5QkFDSSxFLENBRUEsRyxDQUNBLEUsQ0FISyxrQixDQUNMLEcsQ0FBSyxzQixBQUtULHNCQUNJLEUsQ0FFQSxHLENBQ0EsRSxDQUhLLGtCLENBQ0wsRyxDQUFLLHNCLEFBS1QsZ0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSkssdUIsQ0FDTCxHLENBQUssMkIsQ0FFTCxHLENBQUssNEIsQUFHVCx3QkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKSyx1QixDQUNMLEcsQ0FBSywyQixDQUVMLEcsQ0FBSyw0QixBQUlULHFCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpLLHVCLENBQ0wsRyxDQUFLLDJCLENBRUwsRyxDQUFLLDRCLEFBSVQsaUJBQ0ksRSxDQUdBLEUsQ0FISyx1QixDQUNMLEcsQ0FBSywyQixDQUNMLEcsQ0FBSyw0QixBQUdULHlCQUNJLEUsQ0FHQSxFLENBSEssdUIsQ0FDTCxHLENBQUssMkIsQ0FDTCxHLENBQUssNEIsQUFJVCxzQkFDSSxFLENBR0EsRSxDQUhLLHVCLENBQ0wsRyxDQUFLLDJCLENBQ0wsRyxDQUFLLDRCLEFBS1QscUJBQ0ksRSxDQUFLLGtCLENBQ0wsRSxDQUFPLG9CLEFBR1gsNkJBQ0ksRSxDQUFLLGtCLENBQ0wsRSxDQUFPLG9CLEFBR1gsMEJBQ0ksRSxDQUFLLGtCLENBQ0wsRSxDQUFPLG9CLEFBT1gsd0JBQ0ksRSxDQUVBLEUsQ0FGSyxTLENBQ0wsRyxDQUFNLFcsQUFHVixnQ0FDSSxFLENBRUEsRSxDQUZLLFMsQ0FDTCxHLENBQU0sVyxBQUdWLDZCQUNJLEUsQ0FFQSxFLENBRkssUyxDQUNMLEcsQ0FBTSxXLEFBS1YsdUJBQ0ksRSxDQUdBLEUsQ0FISyxzQixDQUNMLEUsQ0FBSyxzQixDQUNMLEcsQ0FBTSx5QixBQUdWLCtCQUNJLEUsQ0FHQSxFLENBSEssc0IsQ0FDTCxFLENBQUssc0IsQ0FDTCxHLENBQU0seUIsQUFJViw0QkFDSSxFLENBR0EsRSxDQUhLLHNCLENBQ0wsRSxDQUFLLHNCLENBQ0wsRyxDQUFNLHlCQzdNVixDLENBQUcsSSxDQUFNLE8sQ0FBUyxPLENBRkssTSxDQVN2QixPLENBQVMsSyxDQUdHLEssQ0FQWixDLENBSDJCLEcsQ0FEQSxVLENBRHJCLEksQ0FTVSxNLENBRFQsTyxDQUhFLE0sQ0FIdUIsSSxDQUFNLEksQ0FJOUIsRSxDQUhSLEcsQ0FNd0IsTyxDQU5uQixHLENBSE8sRyxDQU1aLEUsQ0FBSSxFLENBSE0sRSxDQU11QixLLENBQ3pCLFUsQ0FUUixFLENBQUksRSxDQUFJLEUsQ0FBSSxFLENBQUksRSxDQUFJLEUsQ0FTZ0IsTSxDQVZwQyxJLENBS00sQyxDQUxpQyxNLENBR3BCLEcsQ0FBSyxHLENBSVIsSyxDQURJLEUsQ0FNZCxJLENBRE4sSSxDQUFNLEcsQ0FYeUIsTSxDQU1uQixFLENBS0QsTSxDQVY0QixHLENBRVYsQyxDQVFWLEksQ0FSYSxDLENBQUcsSSxDQVFWLE8sQ0FQekIsSyxDQUppQixJLENBSVYsTSxDQUFRLE0sQ0FBUSxHLENBT1csTyxDQVBOLEcsQ0FJNUIsSyxDQUFnQixLLENBQTZCLEUsQ0FBdEIsSyxDQUFrQixFLENBQVgsSyxDQUk5QixJLENBSnFDLEUsQ0FKSixFLENBQzlCLEMsQ0FDYSxFLENBRnFCLEcsQ0FRbEIsSyxDQUNqQixRLENBQ0QsUyxDQUNBLFEsQ0FFQSxZLENBQ0EsdUIsQ0FSRCxNLENBSFUsSSxDQU5jLEMsQ0FhdkIsUyxDQUNBLFEsQ0FaYSxHLENBV2IsUyxDQUdBLFksQ0FWRCxRLENBR0EsTSxDQUFvQixNLENBSFYsSSxDQUdrQixNLENBSEwsTSxDQU5DLEMsQ0FnQnZCLFksQ0FDQSx1QixDQVJtQixNLENBQVEsTSxDQUhMLE0sQ0FNckIsUSxDQUhrQixNLENBQVEsTSxDQUszQixRLENBT0QsTSxDQUNJLFMsQ0FJSixPLENBQVMsSyxDQUFPLE8sQ0FBUyxVLENBQVksTSxDQUNyQyxNLENBQVEsTSxDQUFRLE0sQ0FBUSxJLENBQU0sRyxDQUFLLE8sQ0FDbEMsYSxDQUdELEksQ0FDQyxhLENDckNJLDZCLENBQXlCLGMsQ0FBaUIsVSxDRHdDL0MsRSxDQUFJLEUsQ0FDSCxlLENBR0QsVSxDQUFZLEMsQ0FDWCxXLENBR2tCLGdCLENBQW5CLGlCLENBQ1UsTyxDQUFWLFEsQ0FFQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQ0EsNkMsQ0FDQSxpRCxDQUNBLHFELENBQ0ksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUNBLE0sQ0FDQSxLLENBQ0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFVLFcsQ0FDTixZLENBQ0EsUSxDRXFTSixRLENGNVJJLFksQ0FVSixJLENBQ0ksYyxDQUNBLDZCLENBQ0EseUIsQ0FPSixPLENBQ0ksbUIsQ0FPSixRLENBQ0EsTyxDQUNJLFMsQ0FRSixHLENBQ0ksUSxDQUNBLDhCLENBb01BLHFCLENDM1VBLFUsQ0FBYSxhLENBQWUsYSxDRDhKaEMsUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FDQSxLLENBQ0EsTSxDQUlJLHVCLENBTkosTSxDQUNBLEssQ0FDQSxNLENBQ0EsUSxDQUNJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQ0EsSyxDQUNJLGtCLENBVUosTSxDQUNBLE0sQ0FDSSxtQixDQWFKLE0sQ0FDQSx1QixDQUNBLGlCLENBQ0Esa0IsQ0FDSSx5QixDQUNBLGMsQ0FDQSxpQixDQU9KLGdCLENBQ0Esb0IsQ0FDSSxjLENBVUosb0IsQ0FDQSxpQixDQUNJLHFCLENBQ0EsUyxDQUNBLFksQ0FDQSxXLENBNU1KLGtCLENBc05JLDRCLENBQ0EsMkIsQ0FDQSw4QixDQUNBLHNCLENBUUosZ0QsQ0FDQSw2QyxDQUNJLHVCLENBT0osd0IsQ0FDQSx1QixDQUNJLFEsQ0FDQSxTLENBck9KLFEsQ0E4T0ksYSxDQUNBLGtCLENBYUosTSxDQURBLEksQ0FFQSxLLENBQ0EsTSxDQTlQQSxRLENBZ1FJLFUsQ0FJSixnQixDQUNJLGtCLENBQ0EsZ0IsQ0FHSixXLENBQ0ksa0IsQ0FDQSxnQixDQTNRSixRLENBeVJJLGUsQ0FHSixZLENBQ0ksYSxDQUNBLGUsQ0FDQSxVLENBQ0EsYyxDRzVXSixLLENBQ0ksc0IsQ0FHSixLLENBQ0ksOEIsQ0NKSixFLENBQUEsYSxDQUEyQixjLENBQXFDLGUsQ0FBaEUsYSxDQUNpQyxjLENBRGpDLEUsQ0FJQSxFLENBQUksRSxDQVlKLEssQ0FDSSw2QixDQWpCSixFLENBSUEsRSxDQUFJLEUsQ0FBbUYsYSxDQUF2RixFLENBQUksRSxDQUEyQixjLENBQXFDLGdCLENBQXVDLGlCLENBNkIzRyxVLENBN0JBLGEsQ0FBSSxhLENBQ1csYSxDQVdmLEssQ0FDNEIsYSxDQUc1QixDLENBQUksYSxDQVNKLEMsQ0F6QkEsRSxDQUFJLEUsQ0EwQkEsZSxDQVNKLGMsQ0FDYSxvQixDQUdiLFcsQ0FDSSxjLENBQWlCLGUsQ0FFckIsUyxDQUNJLGMsQ0FBaUIseUIsQ0FFakIsNEJBSEosUyxDQUlRLGEsQ0FJUixTLENBRVEsZ0JBSVIsQyxDQUNJLGlCLENBR0osVSxDQUNJLHlCLENIaEVBLDRCRG1DSixJLENDbENRLGdCQUZSLFcsQ0FBQSxRLENBTVksYSxDQU5aLGdCQVFrQixvQixDQVJsQixhQVFrQixvQixDQUNHLGUsQ0FLckIsQyxDQUFFLG9CLENBSUYsUyxDQUFXLFEsQ0FBVSwrQixDSWxCckIsSSxDQXFDQSxnQixDQXJDSyxjLENBQWlCLGlCLENBQW9CLCtELENBQXFFLGEsQ0FBZ0IsUyxDQUFZLG9CLENBQXVCLFUsQ0FBZSxjLENBQWlCLGdCLENBQW1CLGEsQ0FBZ0IsUSxDQXFDck8sY0FwQ1UsYyxDQW9DVixjQXBDMEIsb0IsQ0FEMUIsU0FDVSxPLENBRFYsU0FDMEIsYSxDQWdCdkIsc0JBaEJPLGMsQ0FnQlAsc0JBaEJ1QixvQixDQWdCdkIsaUJBS1csTyxDQUxYLGlCQUsyQixhLENBSjNCLG1CQWpCTyxjLENBaUJQLG1CQWpCdUIsb0IsQ0FpQnZCLGNBSVcsTyxDQUpYLGNBSTJCLGEsQ0FyQlUsVSxDQW9DeEMsc0IsQ0FyQ0EsVSxDQUVZLFUsQ0FBZSxvQixDQUF1QiwyRCxDQW1DbEQsMEIsQ0FyQ0EsYSxDQUFBLGMsQ0FJSyx5QixDQUNHLGEsQ0FBZ0Isa0IsQ0FDaEIsbUIsQ0FXTCxZLENBQUEsd0IsQ0FDQSxTLENBQUEscUIsQ0FDSyxvQixDQUF3QixVLENBQWMsZ0IsQ0FBbUIsYSxDQUFnQixnQixDQUFtQixrQixDQUM1RiwyRCxDQUFpRSxRLENBQ2pFLFUsQ0FBZSxjLENBQWlCLGlCLENBSnJDLDhCLENBQUEsa0IsQ0FDQSwyQixDQUFBLGUsQ0FLYSxVLENBQWUsb0IsQ0FBdUIsa0IsQ0FObkQsa0MsQ0FBQSxxQixDQUFBLHNCLENBQUEsaUMsQ0FDQSwrQixDQUFBLGtCLENBQUEsbUIsQ0FBQSw4QixDQVFTLGtCLENBQXFCLFUsQ0FDckIscUYsQ0FDQSxtQixDQUlSLGEsQ0FBQSx5QixDQUNJLGMsQ0FBaUIsZSxDQUl6QixnQixDQUNjLGUsQ0FBbUIsUyxDQUFZLGlCLENBRDdDLHFCLENBR2lCLGlCLENBQW9CLFUsQ0MvQnJDLEssQ0FDSSxlLENBQWtCLG9CLENBQXVCLFMsQ0FBWSxVLENBQWEsUSxDQUNsRSxpQixDQUFvQixxQixDQUF3QixhLENBQzVDLFksQ0FDQSxhLENBQ0Esc0IsQ0FBeUIsbUIsQ0FFekIsZSxDQUNJLGlCLENBQW9CLE8sQ0FBVSxPLENBQVUsYSxDQUFnQixlLENBQ3hELGEsQ0FBK0MsMEIsQ0FBNkIsc0MsQ0pzeEJoRixvQyxDSW54QlEsMEMsQ0FDQSxzQyxDQU5SLGUsQ0FVQSxXLENBQ0ksbUIsQ0preEJKLDBDLENJOXdCWSxZLENDL0JoQixVLENBQVcsUyxDQUFZLFMsQ0FBWSxhLENBQWdCLGUsQ0FDOUMsa0IsQ0FDQSxlLENBQ0csZSxDQUFrQixVLENBQWEsYyxDQUlwQyxlLENBQ0EsWSxDQUNLLGEsQ0FBZ0IsUyxDQ1R4QixVLENBQWEsaUIsQ0FBb0Isa0IsQ0FBcUIscUIsQ0FBdUIseUIsQ0FBN0UsaUIsQ0FDZSxtQyxDQUFzQyxlLENBQWtCLHVCLENBRHZFLGdCLENBRWUsaUIsQ0FBb0IsTyxDQUFVLE0sQ0FBUywyQixDQUd0RCw2QixDQUErQixtQyxDQUMvQiwrQixDQUFpQyxtQyxDQUNqQyw2QixDQUErQixtQyxDQUMvQiwrQixDQUFpQyxtQyxDQUNqQyw2QixDQUErQixtQyxDQUMvQiwrQixDQUFpQyxtQyxDQUNqQyw2QixDQUErQixtQyxDQUMvQiwrQixDQUFpQyxtQyxDQUNqQyw2QixDQUErQixtQyxDQUMvQiwrQixDQUFpQyxtQyxDQUNqQyw2QixDQUErQixtQyxDQUMvQix1QixDQUF5QixhLENBQ3pCLG9DLENBQXFDLGMsQ0NsQnJDLE0sQ0FBTyx3QixDQUFQLFksQ0FDVSxXLENDQ1YsSyxDQUFPLGlCLENBQW9CLGdCLENBQTNCLFEsQ0FZSSxXLENBRXdHLHdCLENBZDVHLFEsQ0FDUSxjLENBQWlCLGdCLENBQW1CLFUsQ0FBOEYsYyxDQUQxSSxlLENBSVksWSxDQUpaLG1CLENBU1EsZSxDQUdKLFcsQ0FDSSxpQixDQUFvQixZLENBQWUsNkIsQ0FBZ0Msa0IsQ0FBcUIsa0IsQ0FDeEYsYyxDQUFnRCxlLENBRm5ELG1CLENBS08sVSxDQUNBLGlCLENBQW9CLEssQ0FBUSxRLENBQVcsVyxDQUFjLFcsQ0FBYyxVLENBQWEsMEIsQ0FDaEYsd0IsQ0FLUixlLENBQ0ksZ0IsQ0FBK0MsZSxDQUE4QyxnQixDQUM3RixxQixDQUF3RCxVLENBQTBDLHdCLENDNmhCdEcsd0NEL2hCQSxlLENBS1EsZ0JBTFAseUIsQ0FTTyxpQixDQVRQLGdDLENBWVcsb0IsQ0FDQSxpQixDQUFvQixPLENBQVUsWSxDQUFlLE0sQ0FBUyxhLENBQ3RELGMsQ0FBaUIsa0IsQ0FBcUIsYSxDQWRqRCxvQkFrQlMsUSxDQUNGLFksQ0FBZSxjLENBQTZDLGlCLENBbkJuRSxzQixDQXVCTyxZLENBQ0EsYSxDQUF5QyxxQixDQUFpRCx1QixDQUFzRSxpQixDQUNoSyxtQixDQWpEWixjLENFRkEsWSxDRnVEYyxpQixDQXJEZCxxQixDQXNEZSxjLENBQWlCLGdCLENBQW1CLGUsQ0FBb0IsYSxDQUFnQixpQixDQXREdkYsMkIsQ0F1RHNCLGMsQ0FBaUIsZ0IsQ0FBbUIsZSxDQUFrQixpQyxDQUFvQyxTLENBQVksa0IsQ0F2RDVILHdCLENBd0RrQixjLENBQWdCLGdCLENBQW9CLGEsQ0FBb0Isa0IsQ0F4RDFFLDZCLENBeURpQixnQixDQXpEakIsd0IsQ0E2RGtCLGMsQ0FBaUIsZ0IsQ0FBbUIsaUIsQ0FBb0IsYSxDQUFnQixrQixDQUFxQixpQixDQUFvQix3QixDQUEyQixxQixDQUEyQixjLENBN0R6TCwrQixDQUFBLDhCLENBOEQrQix3QixDQUEyQixvQixDQUF1QixVLENBSTdFLGdCLENBQ0ksaUIsQ0FHSixZLENBQ0ksWSxDQUFlLHNCLENBQXlCLGtCLENBQ3hDLFcsQ0FBYyxlLENBQWtCLGdCLENBQXVDLG1CLENDK2UzRSx3Q0RqZkEsWSxDQUtRLGdCQUxQLGlCLENBU08sb0IsQ0FDQSxjLENBVlAsc0JBWWEsZ0IsQ0FDRixlLENBQWtCLGEsQ0FEckIsZSxDQU9MLG9CLENBQXVCLFUsQ0FBaUMsVyxDQUFrQyxpQixDQUMxRixnQixDQUF1Qyx3QixDQUFxRSxrQixDQUFxQixpQixDQUZwSSxxQixDQUtPLFksQ0FMUCw2QixDQVVXLGEsQ0FDQSxhLENBQXVDLG1CLENBS25ELGlCLENBQ0ksZSxDQUNBLGMsQ0FBaUIsZSxDQUFrQixlLENBQWtCLHFCLENBRnhELG1CLENBS08sYSxDRy9HWixVLENBQWEsd0IsQ0FBMEIsVSxDQUFhLGtCLENBQXBELGMsQ0FDUyxXLENBQWMsa0IsQ0FEdkIsYSxDQUVPLFUsQ0FBYSxpQixDQUFvQix3QixDQUEyQixlLENBQWtCLGUsQ0NGckYsUSxDREFBLFksQ0FHTyxjLENBQWlCLGUsQ0FBa0IsZ0IsQ0NIMUMsTSxDQUFTLHdCLENBQTBCLG1CLENBQW5DLFcsQ0FDUyxZLENBQWUsa0IsQ0FBcUIsa0IsQ0FEN0MsZSxDQUVZLFUsQ0FBYSxpQixDQUFvQixvQixDQUY3QyxjLENBR1csb0IsQ0FBdUIsZSxDQUhsQyxRLENBSzBDLGdCLENDSjFDLEksQ0FDSSxtQixDQURKLE8sQ0FFUyxlLENBQWtCLGUsQ0FGM0IscUJBS2tCLDBCLENBQ2MsaUMsQ0FOaEMsd0MsQ0FTMEIsYyxDQUFpQixlLENBQW1CLGUsQ0FBa0IsYSxDQUFvQixpQixDQUFvQixrQixDQUFxQixrQixDQUFxQixlLENBQWtCLGMsQ0FUcEwsK0MsQ0FVNkIsVSxDQUFhLHVHLENBQTRHLHVCLENBQTBCLFUsQ0FBYSxVLENBQWMsYSxDQUFnQixpQixDQUFvQixPLENBQVUsUSxDQUFVLHdCLENBQTJCLDZCLENBVjlSLG1FLENBYzRCLHNCLENBR1Isb0QsQ0FDQSxvRCxDQUNBLGlELENBQ0ksYyxDQUFpQixnQixDQXBCekMsc0MsQ0F3Qm9CLFUsQ0F4QnBCLHdDLENBMEJzQixtQixDQUFzQixRLENBMUI1QywwQyxDQTZCd0IsVSxDQU9wQixZLENBQ0EsUyxDQUNRLFEsQ0FDQSxvRixDQUF3Qyx3QixDQUFtQywyQixDQUE4Qiw2QixDQUhqSCxlLENBQ0EsWSxDQUdXLGlCLENBQW9CLGUsQ0FKL0IsZ0QsQ0FDQSw2QyxDQVF3QixrQixDQUFxQixlLENBQ3JCLGMsQ0FBaUIsZ0IsQ0FDakIsYSxDQVh4Qix1RCxDQUNBLG9ELENBV2lDLHNCLENBQXlCLDBGLENBWjFELDJFLENBQ0Esd0UsQ0FjZ0Msd0IsQ0FmaEMsOEMsQ0FDQSwyQyxDQW1Cd0IsNEIsQ0FwQnhCLDRELENBQ0EseUQsQ0FzQmdDLGdCLENBUXhCLHlCQS9CUixZLENBQ0EsUyxDQStCUyx3RixDQUE0QywwQlBoRXpELE8sQ1FBSSxlLENBQWtDLFUsQ0FDbEMsYyxDQUFpQixlLENBQWtCLGUsQ0FBa0Isa0IsQ0FBcUIsYSxDQUY5RSxtQixDQUtRLGUsQ1JKUixPLENRREEsMkIsQ0FRWSxhLENBS1osUSxDQUNJLGdCLENBQW1CLG1CLENBQ25CLG9CLENBQXdELG1CLENBRXhELGUsQ0FDSSxlLENBQWtCLGUsQ0N0QjFCLGtCLENEcUJLLHFCLENBRVcsVSxDQUFhLFUsQ0FBYSxvQixDQUF1QixhLENBQWdCLGEsQ0FPN0UsYyxDQUNJLGtCLENBQ0EsK0IsQ0FLSCxnQixDQURBLGlCLENBREQsb0IsQ0FHQyxjLENBQ0csZSxDQUdKLG9CLENBQ0ksYyxDQUFnRCxlLENBQ2hELFUsQ0FHSixpQixDQUNJLGMsQ0FHSixnQixDQUNJLGMsQ0FBaUQsZSxDQUFxRCxhLENBRzFHLGMsQ0FDSSxjLENBQStDLG1CLENBQW1ELGlCLENDeEQxRyxTLENBQVUsaUIsQ0FBcUIsd0IsQ0FBMEIsYyxDQUFpQixlLENBQTFFLGtCLENBQ2Msa0IsQ0FEZCxzQixDQUVZLGUsQ0FBa0Isa0IsQ0FGOUIsWSxDTEFBLFMsQ0FBQSxjLENLSVMsZSxDQUpULGtCLENBS2lGLGdCLENBTGpGLFcsQ0xBQSxjLENBR1UsYyxDQUFrRCxlLENLSDVELFcsQ0FPMEMsZ0IsQ0FBbUIsZSxDQUFrQixrQixDQVAvRSxjLENBQUEsMEIsQ0FRUyxVLENMUlQsTSxDQUFRLHdCLENBQTJCLGlCLENBQW9CLFUsQ0FBYSxpQixDQUFxQixjLENBQWlCLGMsQ0FBMUcsaUIsQ0FDZSxpQixDQURmLGMsQ0FHMkIsZ0IsQ0FBbUIsUSxDQUg5QyxrQixDQU1vQixxQixDQUF3QixXLENBQWMsZSxDQU4xRCxVLENBU1EsVyxDQUFpQixjLENBVHpCLGlCLENBVWUsYyxDQUFnQixlLENBQW1CLGdCLENBQXFCLGUsQ0FWdkUsUyxDQVd5QixZLENBQWUsa0IsQ0FBcUIsYyxDQUFpQixzQixDQVg5RSxjLENBYWMsYSxDQUFnQix5QixDQWI5QixvQixDQWN3QixhLENBZHhCLGlCR01rQixrQixDSFlFLFcsQ0FBYyxZLENBTS9CLGMsQ0FDQSxXLENBQ1MsZ0IsQ0FDQSx3QixDQUhULHNCLENBQ0EsbUIsQ0FLaUIsYyxDQUFpQixnQixDQU5sQywwQixDQUNBLHVCLENBT3FCLGlCLENBQW9CLFcsQ0FDcEIsZ0IsQ0FUckIsc0IsQ0FDQSxtQixDQWNtQixVLENBQWUsYyxDQWZsQyx5QixDQUNBLHNCLENBa0JhLFMsQ0FBWSxrQixDQUNaLGMsQ0FBaUIsZ0IsQ0FJN0IseUIsQ0FDSSxrQiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0gMS4gQWJzdHJhY3RzOiB2YXJpYWJsZXMsIGZ1bmN0aW9ucywgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnNcbkBpbXBvcnQgXCJhYnN0cmFjdHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYWJzdHJhY3RzL21peGluc1wiOyBcbkBpbXBvcnQgXCJhYnN0cmFjdHMvZnVuY3Rpb25zXCI7IFxuQGltcG9ydCBcImFic3RyYWN0cy9hbmltYXRpb25zXCI7IFxuXG4vLy0gMi4gVmVuZG9yczogV2UgY291bGQgaW1wb3J0IGhlcmUgYWxsIHZlbmRvcnMgY3NzL3Njc3MgZmlsZXMgdG8gYXZvaWQgc2VydmVyIHJlcXVlc3Qgb24gbG9hZGluZyB0aGUgcGFnZVxuLy8tIGVnOiAvYm9vdHN0cmFwLm1pbi5jc3MgfCBzbGljay5jc3MgfCBzbGljay10aGVtZS5jc3Ncbi8vLSBGb3IgdGhvc2UgY3NzIGZpbGVzIHRoYXQgd2UgbG9hZCBpbiB0aGUgYm9keSwgdGhleSBjYW4gYWxzbyBiZSBsb2FkZWQgb24gdGhlIGhlYWQsIHVzaW5nIHNhbWUgcHJvY2Vzczpcbi8vLSBlZzogNy42LjVfdmlkZW8tanMubWluLmNzcyB8IGZvbnQtYXdlc29tZS5taW4uY3NzXG5cbkBpbXBvcnQgXCJjc3MvYm9vdHN0cmFwLm1pbi5jc3NcIjtcblxuLy8gQGltcG9ydCBcImNzcy9zbGljay5jc3NcIjtcbi8vIEBpbXBvcnQgXCJjc3MvNy42LjVfdmlkZW8tanMubWluLmNzc1wiOyBcblxuLy8tIDMuIEJhc2UgU3R5bGVzOiByZXNldCwgZ2VuZXJpYyBzdHlsZXMsIHR5cG9ncmFwaHksIGJ1dHRvbnMsIC4uLlxuQGltcG9ydCBcImJhc2UvcmVzZXRcIixcbiAgICAgICAgXCJiYXNlL2hlbHBlci1jbGFzc2VzXCIsXG4gICAgICAgIFwiYmFzZS90eXBvZ3JhcGh5XCI7ICBcblxuLy8tIExheW91dDogZ2VuZXJpYyBhbmQgbGF5b3V0XG5AaW1wb3J0IFwibGF5b3V0L2dlbmVyaWNcIiwgXG4gICAgICAgIFwiY29tcG9uZW50cy9idXR0b25zXCIsXG4gICAgICAgIFwiY29tcG9uZW50cy9pY29uc1wiLFxuICAgICAgICBcImxheW91dC9sYXlvdXRcIjtcblxuLy8tIFJhdGluZ1xuQGltcG9ydCBcImNvbXBvbmVudHMvcmF0aW5nXCI7XG5cblxuLy8tIENvbXBvbmVudHNcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuc2Nzc1wiLFxuICAgICAgICBcIi4uL2NvbXBvbmVudHMvY2FydC1yZWNvZGVkL2NhcnQuc2Nzc1wiLFxuICAgICAgICBcIi4uL2NvbXBvbmVudHMvbW9uZXlCYWNrL21vbmV5QmFjay5zY3NzXCIsXG4gICAgICAgIFwiLi4vY29tcG9uZW50cy9hYm91dC9hYm91dC5zY3NzXCIsXG4gICAgICAgIFwiLi4vY29tcG9uZW50cy9mYXEvZmFxLnNjc3NcIixcbiAgICAgICAgXCIuLi9jb21wb25lbnRzL3Jldmlld3MvcmV2aWV3cy5zY3NzXCIsXG4gICAgICAgIFwiLi4vY29tcG9uZW50cy9hYm91dEJDMy9hYm91dEJDMy5zY3NzXCIsXG4gICAgICAgIFwiLi4vY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLnNjc3NcIjsgXG4iLCJAa2V5ZnJhbWVzIGJsaW5re1xuICAgIDAlIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5re1xuICAgIDAlIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJsaW5re1xuICAgIDAlIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGFwcGVhcntcbiAgICAwJSB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXJ7XG4gICAgMCUgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBhcHBlYXJ7XG4gICAgMCUgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5cbkBrZXlmcmFtZXMganVtcHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBqdW1we1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHdlaWdodHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyB3ZWlnaHR7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpIH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC00OGRlZykgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZykgfVxufVxuXG5Aa2V5ZnJhbWVzIGhhbW1lcntcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKSB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpIH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKSB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgYXBwZWFyLWhhbW1lcntcbiAgICAwJSB7IG9wYWNpdHk6MDsgfVxuICAgIDUwJSB7IG9wYWNpdHk6MTsgfVxuICAgIDYwJSB7IG9wYWNpdHk6MTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjA7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXItaGFtbWVye1xuICAgIDAlIHsgb3BhY2l0eTowOyB9XG4gICAgNTAlIHsgb3BhY2l0eToxOyB9XG4gICAgNjAlIHsgb3BhY2l0eToxOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MDsgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lcntcbiAgICAwJSB7IG9wYWNpdHk6MDsgfVxuICAgIDUwJSB7IG9wYWNpdHk6MTsgfVxuICAgIDYwJSB7IG9wYWNpdHk6MTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjA7IH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7ICB9XG4gICAgNTAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuOCk7fVxuICAgIDgwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxle1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgIH1cbiAgICA1MCUge3RyYW5zZm9ybTogc2NhbGUoMS44KTt9XG4gICAgODAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBzY2FsZXtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7ICB9XG4gICAgNTAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuOCk7fVxuICAgIDgwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGhvb3B7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XG4gICAgMzAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO31cbiAgICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbiAgICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhvb3B7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XG4gICAgMzAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO31cbiAgICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbiAgICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbiAgICAzMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7fVxuICAgIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fVxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XG59XG5cbkBrZXlmcmFtZXMgZGFuc2V7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9ICAgXG4gICAgNTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO31cbiAgICA3MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fSAgIFxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XG4gICAgNzAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fVxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fSAgIFxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XG4gICAgNzAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fVxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cbn1cblxuXG5Aa2V5ZnJhbWVzIGhhbWJ1cmdlcntcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoYW1idXJnZXJ7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuXG5cblxuXG5Aa2V5ZnJhbWVzIGJsaW5rLWN1cnNvcntcbiAgICAwJSB7IG9wYWNpdHk6MTsgfVxuICAgIDUwJSB7IG9wYWNpdHk6MDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBibGluay1jdXJzb3J7XG4gICAgMCUgeyBvcGFjaXR5OjE7IH1cbiAgICA1MCUgeyBvcGFjaXR5OjA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29ye1xuICAgIDAlIHsgb3BhY2l0eToxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxufVxuXG5cbkBrZXlmcmFtZXMgYm90dGxlRGFuY2V7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICA5NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICA5NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3R0bGVEYW5jZXtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgIDk1JSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIH1cbn0iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAyICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXG4gKiAgICBhbmQgQ2hyb21lLlxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmNocm9tZWZyYW1lIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuIiwiLy8tIEdlbmVyaWMgZGVjbGFyYXRpb25zXG5ib2R5e2ZvbnQtZmFtaWx5OiAkbWFpbkZvbnQ7ICBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAkdGV4dENvbG9yO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkgeyBcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICAmLnYwMS0wMyxcbiAgICAmLnYwMiB7XG4gICAgICAgICAgICBjb2xvcjogJHYwMS0wMy10ZXh0Q29sb3I7ICAgICAgICBcblxuICAgICAgICAgICAgJjpub3QoLnYwMi0tc3BsdC1idG4pIHtcbiAgICAgICAgICAgICAgICBtYWlue292ZXJmbG93OiBoaWRkZW47fVxuICAgICAgICAgICAgfVxuICAgIH1cbn1cblxuYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxuaW1ne3dpZHRoOiAxMDAlOyBtYXJnaW46MCBhdXRvOyBkaXNwbGF5OiBibG9jazt9XG5cblxuLnZpZGVvLWpzLCB2aWRlby1qcyB7YmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O31cblxuIiwiLyogbWl4aW5zICovXG5AaW1wb3J0IHVybChjc3MvYm9vdHN0cmFwLm1pbi5jc3MpO1xuQGtleWZyYW1lcyBibGluayB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYXBwZWFyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGp1bXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBqdW1wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyB3ZWlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0OGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2VpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00OGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGFtbWVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoYW1tZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2NhbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgaG9vcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBob29wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGhvb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRhbnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkYW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgZGFuc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBoYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhhbWJ1cmdlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgaGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdHRsZURhbmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA5NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3R0bGVEYW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYm90dGxlRGFuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDk1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9IH1cblxuLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAtbW9kaWZpZWQgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qIG1ha2Ugc3VyZSB0byBzZXQgc29tZSBmb2N1cyBzdHlsZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IG5vbmU7IH1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5mb3JtIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMiAqL1xuICAqbWFyZ2luLWxlZnQ6IC03cHg7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDMgKi9cbiAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbiAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICAqaGVpZ2h0OiAxM3B4O1xuICAvKiAzICovXG4gICp3aWR0aDogMTNweDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5odG1sLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLmNocm9tZWZyYW1lIHtcbiAgbWFyZ2luOiAwLjJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC4yZW0gMDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2hvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiTXVsaVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjMjczNzdhO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGgxIC5zdWItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiA1MHB4OyB9XG5cbmgyLCBoMyB7XG4gIGZvbnQtZmFtaWx5OiBcIk11bGlcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyN3B4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgY29sb3I6ICMyNzM3N2E7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBoMiAuc3ViLXRpdGxlLCBoMyAuc3ViLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk11bGlcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwMzAzNjk7IH1cblxucCB7XG4gIG1hcmdpbjogMTZweCAwOyB9XG5cbmIge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3ViLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJhdGluZzpiZWZvcmUge1xuICBsZXR0ZXItc3BhY2luZzogMi40cHg7IH1cblxuLmRpc2NsYWltZXIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLmNpdGF0aW9uIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmNpdGF0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogOHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5hc3RlcmlzayB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIk11bGlcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIGJvZHkudjAxLTAzLCBib2R5LnYwMiB7XG4gICAgY29sb3I6ICMyZTI4Mjg7IH1cbiAgICBib2R5LnYwMS0wMzpub3QoLnYwMi0tc3BsdC1idG4pIG1haW4sIGJvZHkudjAyOm5vdCgudjAyLS1zcGx0LWJ0bikgbWFpbiB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udmlkZW8tanMsIHZpZGVvLWpzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5idG4sIC5idG4td3JhcDpiZWZvcmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGQzA3MyAwJSwgI0ZCODE0MyAxMDAlKTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIHdpZHRoOiA3NyU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmJ0bjpub3QoW2hyZWZdKSwgLmJ0bi13cmFwOm5vdChbaHJlZl0pOmJlZm9yZSwgLmJ0bjpub3QoW2hyZWZdKTpob3ZlciwgLmJ0bi13cmFwOm5vdChbaHJlZl0pOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bi13cmFwOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmOWI5NTksICNmOWI5NTkpOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5kaXNhYmxlZC5idG4td3JhcDpiZWZvcmUsIC5idG5bZGlzYWJsZWRdLCAuYnRuLXdyYXBbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgY29sb3I6ICM3MDcwNzA7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAudjAxLTAzIC5idG4sIC52MDEtMDMgLmJ0bi13cmFwOmJlZm9yZSxcbiAgLnYwMiAuYnRuLFxuICAudjAyIC5idG4td3JhcDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiA3cHggMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmI5MDAsICNlYmE3MjcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnYwMS0wMyAuYnRuOm5vdChbaHJlZl0pLCAudjAxLTAzIC5idG4td3JhcDpub3QoW2hyZWZdKTpiZWZvcmUsIC52MDEtMDMgLmJ0bjpub3QoW2hyZWZdKTpob3ZlciwgLnYwMS0wMyAuYnRuLXdyYXA6bm90KFtocmVmXSk6aG92ZXI6YmVmb3JlLFxuICAgIC52MDIgLmJ0bjpub3QoW2hyZWZdKSxcbiAgICAudjAyIC5idG4td3JhcDpub3QoW2hyZWZdKTpiZWZvcmUsXG4gICAgLnYwMiAuYnRuOm5vdChbaHJlZl0pOmhvdmVyLFxuICAgIC52MDIgLmJ0bi13cmFwOm5vdChbaHJlZl0pOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC52MDEtMDMgLmJ0bjpob3ZlciwgLnYwMS0wMyAuYnRuLXdyYXA6aG92ZXI6YmVmb3JlLFxuICAgIC52MDIgLmJ0bjpob3ZlcixcbiAgICAudjAyIC5idG4td3JhcDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZBNDYwOyB9XG4gICAgLnYwMS0wMyAuYnRuLmRpc2FibGVkLCAudjAxLTAzIC5kaXNhYmxlZC5idG4td3JhcDpiZWZvcmUsIC52MDEtMDMgLmJ0bltkaXNhYmxlZF0sIC52MDEtMDMgLmJ0bi13cmFwW2Rpc2FibGVkXTpiZWZvcmUsXG4gICAgLnYwMiAuYnRuLmRpc2FibGVkLFxuICAgIC52MDIgLmRpc2FibGVkLmJ0bi13cmFwOmJlZm9yZSxcbiAgICAudjAyIC5idG5bZGlzYWJsZWRdLFxuICAgIC52MDIgLmJ0bi13cmFwW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2JmYzJjYTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCB3aGl0ZSwgMHB4IDBweCAwcHggd2hpdGUsIDFweCAxcHggMHB4IHdoaXRlLCAxcHggLTFweCAwcHggd2hpdGUsIC0xcHggMXB4IDBweCB3aGl0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIGJvZHkudjAyIC5idG4sIGJvZHkudjAyIC5idG4td3JhcDpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYnRuLXdyYXA6YmVmb3JlIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3BhY2l0eTogMDtcbiAgY29udGVudDogXCJCVVkgTk9XXCI7IH1cblxuLmJ0bi13cmFwLnNob3c6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uaWNvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogZGVmYXVsdC1zaXplICovXG4gIGZpbGw6ICMwMzAzNjk7XG4gIC8qIGRlZmF1bHQgY29sb3IgKi9cbiAgY29sb3I6ICMwMzAzNjk7XG4gIC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmljb24tLWNvbGxhcHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogIzAzMDM2OTtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb24tLWNvbGxhcHNlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmljb24tLXBsdXMge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yOyB9XG4gICAgW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb24tLXBsdXMgLnZlcnRpY2FsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDM0MHB4OyB9XG4gIC52MDEtMDMgLmNvbnRhaW5lcixcbiAgLnYwMiAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDQzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuXG4udjAxLTAzIHNlY3Rpb24sXG4udjAyIHNlY3Rpb24ge1xuICBtYXJnaW46IDMwcHggMDtcbiAgei1pbmRleDogMDsgfVxuXG4uZmEtcmF0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsgfVxuICAuZmEtcmF0aW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICAuZmEtcmF0aW5nOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7IH1cblxuLnJhdGluZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBjb2xvcjogI2VjYWMwMDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5yYXRpbmcgLmZhLXJhdGluZy5zLTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcIjsgfVxuXG4ucmF0aW5nIC5mYS1yYXRpbmcucy00LTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYxMjNcIjsgfVxuXG4ucmF0aW5nIC5mYS1yYXRpbmcucy00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA2XCI7IH1cblxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMy01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMTIzXFxmMDA2XCI7IH1cblxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNlxcZjAwNlwiOyB9XG5cbi5yYXRpbmcgLmZhLXJhdGluZy5zLTItNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjEyM1xcZjAwNlxcZjAwNlwiOyB9XG5cbi5yYXRpbmcgLmZhLXJhdGluZy5zLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcIjsgfVxuXG4ucmF0aW5nIC5mYS1yYXRpbmcucy0xLTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcXGYxMjNcXGYwMDZcXGYwMDZcXGYwMDZcIjsgfVxuXG4ucmF0aW5nIC5mYS1yYXRpbmcucy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA2XFxmMDA2XFxmMDA2XFxmMDA2XCI7IH1cblxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMC01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXFxmMDA2XFxmMDA2XFxmMDA2XFxmMDA2XCI7IH1cblxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzAwMFxcMzAwMFxcMzAwMFxcMzAwMFxcMzAwMFwiOyB9XG5cbi5yYXRpbmcgLmZhLXJhdGluZy5ibHVlIHtcbiAgY29sb3I6ICMyZDgxZWE7IH1cblxuLnJhdGluZyAuZmEtcmF0aW5nLmJsdWVbZGF0YS1yYXRpbmddIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmhlYWRlciB7XG4gIHBhZGRpbmc6IDEycHggMCAxN3B4IDM4cHg7IH1cbiAgaGVhZGVyIC5sb2dvIHtcbiAgICB3aWR0aDogMTU1cHg7IH1cblxuLmNhcnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCAyMXB4OyB9XG4gIC5jYXJ0IGgyIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3Mzc3YTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICAuY2FydCBoMjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAuY2FydCAuY29udGFpbmVyLWxnIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4OyB9XG4gIC5jYXJ0X19tb2RlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDVweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzM3N2E7IH1cbiAgICAuY2FydF9fbW9kZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjczNzdhOyB9XG4gIC5jYXJ0X19tb2RlLWN0YSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NDhmYWU7IH1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY2FydF9fbW9kZS1jdGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG4gICAgLmNhcnRfX21vZGUtY3RhLnN1YnNjcmliZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jYXJ0X19tb2RlLWN0YS5zdWJzY3JpYmU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ0Jlc3QgVmFsdWUnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICBjb2xvcjogIzEwZTY0ODsgfVxuICAgIC5jYXJ0X19tb2RlLWN0YTpub3QoLmFjdGl2ZSkge1xuICAgICAgZmxleDogMCAxIDM4JTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5jYXJ0X19tb2RlLWN0YS5hY3RpdmUge1xuICAgICAgZmxleDogMSAwIDYyJTtcbiAgICAgIGNvbG9yOiAjMDMwMzY5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmE1MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuY2FydCAuc3VtbWFyeSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhcnQgLnN1bW1hcnkgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3M3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMjkzOTdiO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLmNhcnQgLnN1bW1hcnkgLnJldGFpbFByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBsaW5lLXRocm91Z2g7XG4gICAgICBjb2xvcjogcmVkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuICAgIC5jYXJ0IC5zdW1tYXJ5IC5zaGlwcGluZyB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgIGNvbG9yOiAjNEE5MEUyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuICAgICAgLmNhcnQgLnN1bW1hcnkgLnNoaXBwaW5nIHNwYW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAuY2FydCAucHJvZHVjdHMgLnByb2R1Y3Qge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzcwNzA3MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdC5hY3RpdmUsIC5jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk5MGUyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDk5MGUyO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmNhcnRfX3N1YnNjcmliZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5jYXJ0X19sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4OyB9XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcnRfX2xhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH0gfVxuICAgIC5jYXJ0X19sYWJlbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLmNhcnRfX2xhYmVsIHNwYW46bm90KC5jYXJ0X19jaGVja2JveCkge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzRBOTBFMjsgfVxuICAuY2FydF9fY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM0QTkwRTI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAuY2FydF9fY2hlY2tib3ggLmljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jYXJ0X19jaGVja2JveC5jaGVja2VkIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNkNzM3MzE7XG4gICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjsgfVxuICAuY2FydF9fZGlzY2xhaW1lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgICAuY2FydF9fZGlzY2xhaW1lciBhIHtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG5cbi5tb25leUJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM0NTc5O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogOHB4IDAgNDRweDsgfVxuICAubW9uZXlCYWNrIGltZyB7XG4gICAgd2lkdGg6IDE1NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLm1vbmV5QmFjayBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5tb25leUJhY2sgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cblxuLmFib3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTllYTtcbiAgcGFkZGluZzogMTRweCAwIDI5cHg7IH1cbiAgLmFib3V0IC50b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLmFib3V0IC50b3AgaW1nIHtcbiAgICAgIHdpZHRoOiA5MXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmFib3V0IC50b3AgaDIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuYWJvdXQgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLmZhcSB7XG4gIHBhZGRpbmc6IDMwcHggMCAxOHB4OyB9XG4gIC5mYXEgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZmFxIC5mYXFMaXN0IGxpOm5vdCg6bGFzdC1jaGlsZCkgLnF1ZXN0aW9uV3JhcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM4MDgwODAyNjsgfVxuICAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLnF1ZXN0aW9uIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjczNzdhO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogMjFweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLnF1ZXN0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9kdGpsaGlhaGx2NTNqLmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9iYzMvcHJvZHVjdC9yaWdodC1hcnJvdy1sYXJnZS5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDExcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgIGVhc2U7IH1cbiAgICAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLnF1ZXN0aW9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIGJvZHkudjAxLTAyIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAucXVlc3Rpb24sXG4gICAgYm9keS52MDEtMDMgLmZhcSAuZmFxTGlzdCBsaSAucXVlc3Rpb25XcmFwIC5xdWVzdGlvbixcbiAgICBib2R5LnYwMiAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLnF1ZXN0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAuYW5zd2VyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAuYW5zd2VyIHAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLmFuc3dlciBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLnYwMS0wMyAuZmFxLFxuICAudjAyIC5mYXEge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2R0amxoaWFobHY1M2ouY2xvdWRmcm9udC5uZXQvYXNzZXRzL2JjMy9wcm9kdWN0L2ZhcS1iYWNrLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlM2VhO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0OyB9XG4gICAgLnYwMS0wMyAuZmFxIGgyLFxuICAgIC52MDIgLmZhcSBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnYwMS0wMyAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLnF1ZXN0aW9uLFxuICAgIC52MDIgLmZhcSAuZmFxTGlzdCBsaSAucXVlc3Rpb25XcmFwIC5xdWVzdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgY29sb3I6ICMyZTI4Mjg7IH1cbiAgICAgIC52MDEtMDMgLmZhcSAuZmFxTGlzdCBsaSAucXVlc3Rpb25XcmFwIC5xdWVzdGlvbjpiZWZvcmUsXG4gICAgICAudjAyIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAucXVlc3Rpb246YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vZHRqbGhpYWhsdjUzai5jbG91ZGZyb250Lm5ldC9hc3NldHMvYmMzL3Byb2R1Y3QvZG93bmxvYWQuc3ZnXCIpOyB9XG4gICAgICAudjAxLTAzIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAucXVlc3Rpb25bYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUsXG4gICAgICAudjAyIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAucXVlc3Rpb25bYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLnYwMS0wMyAuZmFxIC5mYXFMaXN0IGxpIC5xdWVzdGlvbldyYXAgLmFuc3dlcixcbiAgICAudjAyIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAuYW5zd2VyIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRTNFNEU1OyB9XG4gICAgICAudjAxLTAzIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAuYW5zd2VyIHA6Zmlyc3QtY2hpbGQsXG4gICAgICAudjAyIC5mYXEgLmZhcUxpc3QgbGkgLnF1ZXN0aW9uV3JhcCAuYW5zd2VyIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnYwMS0wMyAuZmFxLFxuICAgICAgLnYwMiAuZmFxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9kdGpsaGlhaGx2NTNqLmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9iYzMvcHJvZHVjdC9iYWNrX2QuanBnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkZGU2OyB9IH1cblxuLnJhdGluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogI0ZGQzg2RDsgfVxuICAucmF0aW5nIFtjbGFzc149XCJmYVwiXSB7XG4gICAgcGFkZGluZy10b3A6IDFlbTsgfVxuICAgIC5yYXRpbmcgW2NsYXNzXj1cImZhXCJdOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJldmlld3Mge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7IH1cbiAgLnJldmlld3NfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAucmV2aWV3c19fdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAucmV2aWV3c19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q4RDhEODsgfVxuICAucmV2aWV3c19faXRlbS10aXRsZSwgLnJldmlld3NfX2NvbW1lbnQsIC5yZXZpZXdzX19hdXRob3IsIC5yZXZpZXdzX19ub3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5yZXZpZXdzX19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucmV2aWV3c19fY29tbWVudCB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5yZXZpZXdzX19hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMzAzNjc5OyB9XG4gIC5yZXZpZXdzX19ub3RlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5hYm91dEJDMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTllYTtcbiAgcGFkZGluZzogMjBweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5hYm91dEJDMyAuaW1nV3JhcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDVweDsgfVxuICAgIC5hYm91dEJDMyAuaW1nV3JhcCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH1cbiAgLmFib3V0QkMzIGgyIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmFib3V0QkMzIGgyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG87IH1cbiAgLmFib3V0QkMzIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuYWJvdXRCQzMgLmJ0biwgLmFib3V0QkMzIC5idG4td3JhcDpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzQ1Nzk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAxN3B4IDA7IH1cbiAgZm9vdGVyIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogaW5oZXJpdDsgfVxuICBmb290ZXIgLnRleHQgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICBmb290ZXIgLnRleHQgcC5mZGEge1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbjogMCA1JSA0cHg7IH1cbiAgZm9vdGVyIGltZyB7XG4gICAgd2lkdGg6IDE2OXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICBmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBmb290ZXIgdWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIGZvb3RlciB1bCBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIGZvb3RlciB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNiOWQzNTY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIGZvb3RlciB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzI5MjkyOTsgfVxuICAgICAgZm9vdGVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgbWFyZ2luOiAwIDdweDsgfVxuICAudjAxLTAzIGZvb3RlcixcbiAgLnYwMiBmb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZGE0YmM7IH1cbiAgICAudjAxLTAzIGZvb3RlciAudGV4dCBwLFxuICAgIC52MDIgZm9vdGVyIC50ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgICAgIC52MDEtMDMgZm9vdGVyIC50ZXh0IHAuZmRhLFxuICAgICAgLnYwMiBmb290ZXIgLnRleHQgcC5mZGEge1xuICAgICAgICBtYXJnaW46IDEwcHggMCA5cHg7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cbiAgICAudjAxLTAzIGZvb3RlciB1bCBsaSBhLFxuICAgIC52MDIgZm9vdGVyIHVsIGxpIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICAudjAxLTAzIGZvb3RlciAuY29weXJpZ2h0LFxuICAgIC52MDIgZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDsgfVxuICBib2R5LnYwMi0tc3BsdC1idG4gZm9vdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4iLCIuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2hvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59IiwiLy8tIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXNcbmgxe2ZvbnQtZmFtaWx5OiAkbWFpbkZvbnQ7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICR0aXRsZUNvbG9yOyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5zdWItdGl0bGV7dGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiA1MHB4O31cbn0gXG5cbmgyLCBoM3tmb250LWZhbWlseTogJG1haW5Gb250OyBmb250LXNpemU6IDI3cHg7IGZvbnQtd2VpZ2h0OiA3MDA7ICAgbGluZS1oZWlnaHQ6IDM0cHg7IGNvbG9yOiAkdGl0bGVDb2xvcjsgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5zdWItdGl0bGV7ZGlzcGxheTogYmxvY2s7fVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIH1cbn1cblxuaDMge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgIFxuICAgIH1cbn1cblxuc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiAkbWFpbkZvbnQ7IGNvbG9yOiAkbWFpbkNvbG9yO1xufVxuXG5wIHsgbWFyZ2luOiAxNnB4IDA7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpeyB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe31cbiAgICB9XG59XG5cbmIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uc3ViLXRpdGxle2Rpc3BsYXk6IGJsb2NrOyBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgXG4gICAgfVxufSBcblxuLnJhdGluZ3tcbiAgICAmOmJlZm9yZXtsZXR0ZXItc3BhY2luZzogMi40cHg7fVxufVxuXG4uZGlzY2xhaW1lcnsgXG4gICAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS40O1xufVxuLmNpdGF0aW9ue1xuICAgIGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICB9XG59XG5cbi5hc3Rlcmlza3tcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cblxuaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8vLSBCdXR0b25zIHBhcnRpYWxcbi5idG57Y3Vyc29yOiBwb2ludGVyOyBib3JkZXItcmFkaXVzOiA2cHg7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkMwNzMgMCUsICNGQjgxNDMgMTAwJSk7IHBhZGRpbmc6IDdweCAwOyB3aWR0aDogNzclOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiAkd2hpdGU7IGZvbnQtc2l6ZTogMjZweDsgbGluZS1oZWlnaHQ6IDMycHg7IG1hcmdpbjogMCBhdXRvOyBib3JkZXI6IG5vbmU7XG4gICAgJjpub3QoW2hyZWZdKSwgICY6bm90KFtocmVmXSk6aG92ZXJ7Y29sb3I6ICR3aGl0ZTt9ICBcbiAgICAmOmhvdmVye2NvbG9yOiAkd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y5Yjk1OSwgI2Y5Yjk1OSk7fVxuXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogIzcwNzA3MDsgYmFja2dyb3VuZDogI2YxZjFmMTsgXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgXG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7IFxuICAgICAgIFxuICAgIH1cbiAgICBcbiAgIC52MDEtMDMgJixcbiAgIC52MDIgJiB7ICAgICAgICBcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgd2lkdGg6IGF1dG87ICBwYWRkaW5nOiA3cHggMjBweDsgbWFyZ2luOiAwIGF1dG87IGxpbmUtaGVpZ2h0OiAxLjI1OyBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZiOTAwLCAjZWJhNzI3KTsgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgZm9udC1zaXplOiAxNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICY6bm90KFtocmVmXSksICAmOm5vdChbaHJlZl0pOmhvdmVye2NvbG9yOiAkd2hpdGU7fSAgXG4gICAgICAgICY6aG92ZXJ7Y29sb3I6ICR3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBiYWNrZ3JvdW5kOiAjRkZBNDYwO31cblxuICAgICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmZjMmNhOyBjb2xvcjogI2ZmZjsgXG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IHdoaXRlLCAwcHggMHB4IDBweCB3aGl0ZSwgMXB4IDFweCAwcHggd2hpdGUsIDFweCAtMXB4IDBweCB3aGl0ZSwgLTFweCAxcHggMHB4IHdoaXRlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5LnYwMiAmIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5idG4td3JhcHtcbiAgICAmOmJlZm9yZXsgcG9zaXRpb246IHN0YXRpYzsgIG9wYWNpdHk6IDA7IGNvbnRlbnQ6IFwiQlVZIE5PV1wiOyBAZXh0ZW5kIC5idG47fVxuICAgICYuc2hvd3tcbiAgICAgICAgJjpiZWZvcmV7cG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAtMTt9XG4gICAgfSAgXG59XG4iLCIkY29sbGFwc2libGUtaWNvbjogKFxyXG4gICAgZm9udC1zaXplOiAoXHJcbiAgICAgICAgbW9iaWxlOiAxMHB4LCAvLy0gbWFwLWRlZXAtZ2V0KCRjb2xsYXBzaWJsZS1pY29uLCBpY29uLWZvbnQtc2l6ZSwgbW9iaWxlKVxyXG4gICAgICAgIGRlc2t0b3A6IDI2cHggLy8tIG1hcC1kZWVwLWdldCgkY29sbGFwc2libGUtaWNvbiwgaWNvbi1mb250LXNpemUsIGRlc2t0b3ApXHJcbiAgICApXHJcbik7XHJcblxyXG4kaWNvbnMtbWFpbkNvbG9yOiAkbWFpbkNvbG9yO1xyXG5cclxuLy8tIFBhcnRpYWwgZm9yIFNWRyBzcHJpdGUgaWNvbnNcclxuLmljb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXHJcbiAgICBmaWxsOiAkaWNvbnMtbWFpbkNvbG9yOyAvKiBkZWZhdWx0IGNvbG9yICovIFxyXG4gICAgY29sb3I6ICRpY29ucy1tYWluQ29sb3I7IC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgXHJcbiAgICAmLS1jb2xsYXBzZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwJTsgcmlnaHQ6IDA7IGZsZXg6IDAgMCBhdXRvOyBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbnMtbWFpbkNvbG9yOyBzdHJva2U6IGN1cnJlbnRDb2xvcjsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgIFthcmlhLWV4cGFuZGVkPXRydWVdICYge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xODBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXBsdXMge1xyXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG5cclxuICAgICAgICAudmVydGljYWwge1xyXG4gICAgICAgICAgICBbYXJpYS1leHBhbmRlZD10cnVlXSAmIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8tIExheW91dCBkZWNsYXJhdGlvbnMgXG4uY29udGFpbmVye3BhZGRpbmc6IDA7IHdpZHRoOiA4MCU7IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDM0MHB4O1xuICAgICAudjAxLTAzICYsXG4gICAgIC52MDIgJiB7ICAgICAgICBcbiAgICAgICAgbWF4LXdpZHRoOiA0MzBweDsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAgMTVweDsgICAgICAgIFxuICAgIH1cbn1cbnNlY3Rpb24ge1xuICAgLnYwMS0wMyAmLFxuICAgLnYwMiAmIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7IHotaW5kZXg6IDA7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgIFxuICAgIH1cblxuICAgIC5jb250YWluZXItbGd7XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIFxuICAgIH1cblxuXG5cblxufVxuIiwiLy8tIFJhdGluZ1xuLmZhLXJhdGluZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO1xuICAgICY6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcIjsgZm9udC13ZWlnaHQ6IDQwMDsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gICAgJjphZnRlciB7ICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwtNTAlKTsgfVxufVxuLnJhdGluZyB7dGV4dC1hbGlnbjogbGVmdDsgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAxZW07IGNvbG9yOiNlY2FjMDA7IGZvbnQtc2l6ZTogMTZweDsgfVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtNTpiZWZvcmUge2NvbnRlbnQ6XCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcucy00LTU6YmVmb3JlIHtjb250ZW50OlwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA1XFxmMTIzXCI7fVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtNDpiZWZvcmUge2NvbnRlbnQ6XCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDZcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcucy0zLTU6YmVmb3JlIHtjb250ZW50OlwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMTIzXFxmMDA2XCI7fVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMzpiZWZvcmUge2NvbnRlbnQ6XCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDZcXGYwMDZcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcucy0yLTU6YmVmb3JlIHtjb250ZW50OlwiXFxmMDA1XFxmMDA1XFxmMTIzXFxmMDA2XFxmMDA2XCI7fVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMjpiZWZvcmUge2NvbnRlbnQ6XCJcXGYwMDVcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcucy0xLTU6YmVmb3JlIHtjb250ZW50OlwiXFxmMDA1XFxmMTIzXFxmMDA2XFxmMDA2XFxmMDA2XCI7fVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMTpiZWZvcmUge2NvbnRlbnQ6XCJcXGYwMDVcXGYwMDZcXGYwMDZcXGYwMDZcXGYwMDZcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcucy0wLTU6YmVmb3JlIHtjb250ZW50OlwiXFxmMTIzXFxmMDA2XFxmMDA2XFxmMDA2XFxmMDA2XCI7fVxuLnJhdGluZyAuZmEtcmF0aW5nLnMtMDpiZWZvcmUge2NvbnRlbnQ6XCJcXDMwMDBcXDMwMDBcXDMwMDBcXDMwMDBcXDMwMDBcIjt9XG4ucmF0aW5nIC5mYS1yYXRpbmcuYmx1ZSB7Y29sb3I6IzJkODFlYTt9XG4ucmF0aW5nIC5mYS1yYXRpbmcuYmx1ZVtkYXRhLXJhdGluZ117Y3Vyc29yOiBwb2ludGVyO31cbiIsImhlYWRlcntwYWRkaW5nOiAxMnB4IDAgMTdweCAzOHB4O1xuICAgIC5sb2dve3dpZHRoOiAxNTVweDsgfVxuICAgIH0iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4uY2FydHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDAgMjFweDtcbiAgICBoMnsgZm9udC1zaXplOiAyM3B4OyBsaW5lLWhlaWdodDogMjhweDsgY29sb3I6IG1hcC1kZWVwLWdldCgkY2FydCwgaGVhZGVyLCBjb2xvcik7IGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkY2FydCwgaGVhZGVyLCBiZyk7IHBhZGRpbmc6IDE1cHggMDtcbiAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItbGcge1xuICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBzbSk7XG4gICAgfVxuXG4gICAgJl9fbW9kZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAwIG1hcC1nZXQoJG1vZGUtY3RhLCBvdXRlci1zcGFjZSkgI3ttYXAtZ2V0KCRtb2RlLWN0YSwgb3V0ZXItc3BhY2UpICogOH07XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRtb2RlLWN0YSwgZm9udCwgc2l6ZSk7IGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJG1vZGUtY3RhLCBmb250LCBoZWlnaHQpOyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJGNhcnQsIGhlYWRlciwgYmcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiA1MCU7IHdpZHRoOiAxMDB2dzsgaGVpZ2h0OiAxMDAlOyB6LWluZGV4OiAtMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjYXJ0LCBoZWFkZXIsIGJnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLy0gc3VzYnJpYmUtbW9kZSBDVEFzXG4gICAgJl9fbW9kZS1jdGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG1vZGUtY3RhLCBvdXRlci1zcGFjZSk7IG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRtb2RlLWN0YSwgb3V0ZXItc3BhY2UpOyBwYWRkaW5nOiBtYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSkgI3ttYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSkgLyAyfTsgXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZGVlcC1nZXQoJG1vZGUtY3RhLCBmb250LCBzcGFjaW5nKTsgY29sb3I6IG1hcC1nZXQoJG1vZGUtY3RhLCBkZWZhdWx0LWNvbG9yKTsgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbW9kZS1jdGEsIGRlZmF1bHQtYmcpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCdob3ZlcicsICdmaW5lJykge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdWJzY3JpYmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ0Jlc3QgVmFsdWUnOyBcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyBib3R0b206IC0yMnB4OyBsZWZ0OiAwOyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IGNvbG9yOiAjMTBlNjQ4OyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAzOCU7IG1hcmdpbi10b3A6IG1hcC1nZXQoJG1vZGUtY3RhLCBvdXRlci1zcGFjZSk7IG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJG1vZGUtY3RhLCBvdXRlci1zcGFjZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgNjIlO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1vZGUtY3RhLCBhY3RpdmUtY29sb3IpOyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtb2RlLWN0YSwgYWN0aXZlLWJnKTsgYm9yZGVyOiBtYXAtZ2V0KCRtb2RlLWN0YSwgYm9yZGVyKSBtYXAtZ2V0KCRtb2RlLWN0YSwgYWN0aXZlLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJG1vZGUtY3RhLCByYWRpdXMpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VtbWFyeXsgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAucHJpY2V7Zm9udC1zaXplOiA2MHB4OyBsaW5lLWhlaWdodDogNzNweDsgZm9udC13ZWlnaHQ6IDYwMDsgICBjb2xvcjogIzI5Mzk3YjsgbWFyZ2luLWJvdHRvbTogNXB4O31cbiAgICAgICAgLnJldGFpbFByaWNleyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxN3B4OyBmb250LXdlaWdodDogMzAwOyB0ZXh0LWRlY29yYXRpb24tbGluZTogbGluZS10aHJvdWdoOyBjb2xvcjogcmVkOyBtYXJnaW4tYm90dG9tOiAxMXB4O31cbiAgICAgICAgLnNoaXBwaW5ne2ZvbnQtc2l6ZTogMTJweDtsaW5lLWhlaWdodDogMTVweDsgIGNvbG9yOiAkYnJhbmQtYmx1ZTsgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICAgICAgICAgIHNwYW57bWFyZ2luLXJpZ2h0OiAycHg7fVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0c3tcbiAgICAgICAgLnByb2R1Y3R7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogOHB4IDA7IG1hcmdpbi1ib3R0b206IDEycHg7IGJvcmRlci1yYWRpdXM6IDZweDsgYm9yZGVyOiBzb2xpZCAxcHggIzcwNzA3MDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJi5hY3RpdmUsJjpob3ZlcnsgIGJhY2tncm91bmQtY29sb3I6ICM0OTkwZTI7IGJvcmRlci1jb2xvcjogIzQ5OTBlMjsgY29sb3I6ICNmZmY7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3Vic2NyaWJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkY2FydCwgb3V0ZXItc3BhY2UpIC8gMjtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDA7IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRjaGVja2JveCwgc2l6ZSk7IGxldHRlci1zcGFjaW5nOiAuNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCdob3ZlcicsICdmaW5lJykge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IFxuXG4gICAgICAgICAgICAmOm5vdCguY2FydF9fY2hlY2tib3gpIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gsIGNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogbWFwLWdldCgkY2hlY2tib3gsIHNpemUpOyBoZWlnaHQ6IG1hcC1nZXQoJGNoZWNrYm94LCBzaXplKTsgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRjYXJ0LCBvdXRlci1zcGFjZSkgKiAxLjU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRjaGVja2JveCwgc2l6ZSk7IGJvcmRlcjogbWFwLWdldCgkY2hlY2tib3gsIGJvcmRlcikgbWFwLWdldCgkY2hlY2tib3gsIGJvcmRlci1jb2xvcik7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGNoZWNrYm94LCByYWRpdXMpO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNoZWNrZWQge1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveCwgdGljay1jb2xvcik7IHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGlzY2xhaW1lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuNDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgbW9iaWxlYFxyXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAnbW9iaWxlJzogMzc1cHgsXHJcbiAgJ21vYmlsZS1taWQnOiA1MjBweCxcclxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAndGFibGV0LW1pZCc6IDk5MnB4LFxyXG4gICdkZXNrdG9wJzogMTAyNXB4LFxyXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8tIG1vYmlsZSBvbmx5XHJcbi8vLy8tICgnPHRhYmxldCcpIC0gbWF4LXdpZHRoOiA3NjdweFxyXG4vLy0gdGFibGV0IG9ubHlcclxuLy8vLy0gKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIC0gbWluLXdpZHRoOiA3NjhweDsgbWF4LXdpZHRoOiAxMDI0cHhcclxuLy8tIGRlc2t0b3Agb25seVxyXG4vLy8vLSAoJz49ZGVza3RvcCcpIC0gbWluLXdpZHRoOiAxMDI1cHhcclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ2hvdmVyJzogJyhob3ZlcjogaG92ZXIpJyxcclxuICAnZmluZSc6ICcocG9pbnRlcjogZmluZSknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJmb290ZXJ7IGJhY2tncm91bmQtY29sb3I6ICRibHVlQkc7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgIGZvbnQtc2l6ZTogMTZweDsgcGFkZGluZzogMTdweCAwO1xuICAgIC5jb250YWluZXJ7bWF4LXdpZHRoOiBpbmhlcml0O31cbiAgICAudGV4dHtcbiAgICAgICAgcHtmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBtYXJnaW46IDBweDsgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mZGF7ICBib3JkZXI6IHNvbGlkIDJweCAjZmZmOyBwYWRkaW5nOiA1cHg7IG1hcmdpbjogMCA1JSA0cHg7fVxuICAgICAgICB9ICAgICAgICBcbiAgICB9XG4gICAgaW1ne3dpZHRoOiAxNjlweDsgICAgbWFyZ2luLXRvcDogNXB4O30gICBcbiAgICAuY29weXJpZ2h0e2ZvbnQtc2l6ZTogMTZweDttYXJnaW4tdG9wOiAxNnB4OyAgbGluZS1oZWlnaHQ6IDIwcHg7ICAgZm9udC13ZWlnaHQ6IDYwMDt9XG4gICAgdWx7Zm9udC13ZWlnaHQ6IDYwMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGl7dGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgICAgIGF7Y29sb3I6ICNiOWQzNTY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXdlaWdodDogNjAwOyBcbiAgICAgICAgICAgICAgICAmOmhvdmVye2NvbG9yOiAjMjkyOTI5O31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjsgbWFyZ2luOiAwIDdweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgIC52MDEtMDMgJixcbiAgIC52MDIgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDsgICAgICAgIFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBlcmFubztcbiAgICAgICAgICAgIC50ZXh0e1xuICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICYuZmRhe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgOXB4OyBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVse1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICBhe2NvbG9yOiAkd2hpdGU7IGZvbnQtc2l6ZTogMTVweDt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvcHlyaWdodHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlOyBtYXJnaW46IDE1cHggYXV0byAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgYm9keS52MDItLXNwbHQtYnRuICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cbn1cbiIsIi5tb25leUJhY2t7ICBiYWNrZ3JvdW5kLWNvbG9yOiRibHVlQkc7IGNvbG9yOiAjZmZmOyBwYWRkaW5nOjhweCAwIDQ0cHggO1xuICAgIGltZ3sgd2lkdGg6IDE1NXB4OyBtYXJnaW4tYm90dG9tOiAxMHB4O31cbiAgICBoMntjb2xvcjogI2ZmZjsgbWFyZ2luLWJvdHRvbTogN3B4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXdlaWdodDogbm9ybWFsO31cbiAgICBweyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGxpbmUtaGVpZ2h0OiAxOHB4O31cbiAgICBcbn1cblxuXG4iLCIuYWJvdXR7ICBiYWNrZ3JvdW5kLWNvbG9yOiRncmV5Qkc7IHBhZGRpbmc6IDE0cHggMCAyOXB4O1xuICAgIC50b3B7ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgaW1ne3dpZHRoOiA5MXB4OyBtYXJnaW4tcmlnaHQ6IDEycHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazt9XG4gICAgICAgIGgye2Rpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC13ZWlnaHQ6IDYwMDt9XG4gICAgfVxuICAgIHB7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDIycHg7fVxuXG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuLmZhcXtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMThweDtcbiAgICBoMnsgIGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtYWxpZ246IGxlZnQ7fVxuICAgIC5mYXFMaXN0e1xuICAgICAgICBsaXtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgICAucXVlc3Rpb25XcmFweyAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM4MDgwODAyNjt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucXVlc3Rpb25XcmFweyAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAucXVlc3Rpb257Zm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS4xOyAgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR0aXRsZUNvbG9yOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctcmlnaHQ6IDE1cHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IG1hcmdpbi10b3A6IDIxcHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9kdGpsaGlhaGx2NTNqLmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9iYzMvcHJvZHVjdC9yaWdodC1hcnJvdy1sYXJnZS5wbmdcIikgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IHdpZHRoOiAxMXB4OyBoZWlnaHQ6IDdweCA7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDExcHg7dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgIGVhc2UgO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl17XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYm9keS52MDEtMDIgJixcbiAgICAgICAgICAgICAgICAgICAgYm9keS52MDEtMDMgJixcbiAgICAgICAgICAgICAgICAgICAgYm9keS52MDIgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hbnN3ZXJ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIHB7cGFkZGluZy1ib3R0b206IDE2cHg7IG1hcmdpbjogMDt9XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnYwMS0wMyAmLFxuICAgIC52MDIgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJHBhdGggKydmYXEtYmFjay5qcGcnKTsgYmFja2dyb3VuZC1jb2xvcjogJHYwMS0wMy1iZ0NvbG9yOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7IFxuICAgICAgICAgICAgaDJ7dGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogNzAwO31cbiAgICAgICAgICAgIC5mYXFMaXN0IHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIC5xdWVzdGlvbldyYXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnF1ZXN0aW9ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OyBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHYwMS0wMy10ZXh0Q29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcGF0aCArJ2Rvd25sb2FkLnN2ZycpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYW5zd2Vye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRTNFNEU1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHBhdGggKydiYWNrX2QuanBnJyk7IGJhY2tncm91bmQtY29sb3I6ICNkOWRkZTY7XG4gICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbiRyYXRpbmctY29sb3I6ICRrb3JvbWlrbztcclxuXHJcbi5yYXRpbmcge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMWVtOyBcclxuICAgIGZvbnQtc2l6ZTogMTdweDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDFlbTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgY29sb3I6ICRyYXRpbmctY29sb3I7XHJcblxyXG4gICAgW2NsYXNzXj1cImZhXCJdIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZpZXdzIHtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4OyBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGxldHRlci1zcGFjaW5nKTsgbGluZS1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgbGluZS1oZWlnaHQpO1xyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgd2lkdGg6IDQycHg7IGJvcmRlci10b3A6IDFweCBzb2xpZDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMTVweCAwO31cclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGhyLCBzcGFjZSk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBociwgYm9yZGVyKSBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGhyLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbS10aXRsZSxcclxuICAgICZfX2NvbW1lbnQsXHJcbiAgICAmX19hdXRob3IsXHJcbiAgICAmX19ub3RlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0tdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCB0aXRsZSwgc2l6ZSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIHRpdGxlLCB3ZWlnaHQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIHRpdGxlLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29tbWVudCB7XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGNvbW1lbnQsIHNpemUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hdXRob3Ige1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBhdXRob3IsIHNpemUpOyBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBhdXRob3IsIHdlaWdodCk7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJHJldmlld3MsIGF1dGhvciwgY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX25vdGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBub3RlLCBzaXplKTsgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkcmV2aWV3cywgbm90ZSwgd2VpZ2h0KTsgZm9udC1zdHlsZTogbWFwLWRlZXAtZ2V0KCRyZXZpZXdzLCBub3RlLCBzdHlsZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLmFib3V0QkMze3RleHQtYWxpZ246IGNlbnRlcjsgIGJhY2tncm91bmQtY29sb3I6JGdyZXlCRzsgcGFkZGluZzogMjBweCAwOyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5pbWdXcmFweyBtYXJnaW4tcmlnaHQ6IC00NXB4O1xuICAgICAgICBpbWd7bWF4LXdpZHRoOiAyNDBweDsgbWFyZ2luOiAwIGF1dG8gMjBweDt9XG4gICAgfVxuICAgIGgyeyAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyB3aWR0aDogNDJweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxNXB4IGF1dG87fVxuICAgIH1cbiAgICBweyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGxpbmUtaGVpZ2h0OiAxOHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tYm90dG9tOiAxNnB4O31cbiAgICAuYnRue3dpZHRoOiAxMDAlO31cbn0iXX0= */
