@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{display:block;opacity:0}1%{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 scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-moz-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}:root{--mainColor: hsl(222, 69%, 36%);--mainColor_h: 222;--mainColor_s: 69%;--mainColor_l: 36%;--secondaryColor: hsl(103, 67%, 45%);--secondaryColor_h: 103;--secondaryColor_s: 67%;--secondaryColor_l: 45%;--titleColor: hsl(222, 69%, 36%);--titleColor_h: 222;--titleColor_s: 69%;--titleColor_l: 36%;--textColor: hsl(0, 0%, 0%);--textColor_h: 0;--textColor_s: 0%;--textColor_l: 0%;--ratingColor: hsl(32, 100%, 60%);--ratingColor_h: 32;--ratingColor_s: 100%;--ratingColor_l: 60%;--CTA: hsl(222, 69%, 36%);--CTA_h: 222;--CTA_s: 69%;--CTA_l: 36%}
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:570px}}@media (min-width:768px){.container{max-width:780px}}@media (min-width:992px){.container{max-width:900px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:570px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:780px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:900px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.modal,.modal-open,main>section{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}html{padding:0;vertical-align:baseline}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h4,h5,header,hgroup,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,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,h1,h2,h3,h6{padding:0;border:0}img,sup{padding:0;font:inherit}html,sup{border:0}fieldset,figure,form,h1,h2,h3,h6,legend{font:inherit;vertical-align:baseline}html,legend,sup{margin:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:var(--default-fs);line-height:var(--lineHeight);color:var(--textColor)}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{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;display:block;width:100%;margin:0 auto}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box;font:400 62.5%/1.2 "Assistant",sans-serif;letter-spacing:.01em}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}a{text-decoration:none;color:var(--mainColor)}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}.br{white-space:pre}@media (min-width:375px){.br--not-small-mobile{display:block}}@media (max-width:374px){.br--small-mobile{display:block}}@media (min-width:375px) and (max-width:767px){.br--mobile{display:block}}@media (max-width:574px){.br--mobile-max{display:block}}@media (min-width:768px) and (max-width:1024px){.br--tablet{display:block}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.br--tablet-landscape{display:block}}@media (min-width:1025px){.br--desktop{display:block}}.nowrap{white-space:nowrap}:root{--rating-size: 32px;--headingLineHeight: 1.25}@media (max-width:374px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 32px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 20px;--heading3-fs: 21px;--btn-fs: 18px;--heading6-fs: 16px;--disclaimer-fs: 10px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:375px) and (max-width:767px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 36px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 24px;--heading3-fs: 21px;--btn-fs: 20px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:768px) and (max-width:1024px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--btn-fs: 26px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:1025px){:root{--default-fs: 16px;--lineHeight: 1.75;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--btn-fs: 32px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}h1,h6{margin:0 0 .5em}h1{color:currentColor;font-size:var(--heading1-fs)}h1 small{display:block;margin-bottom:.5em;font-size:var(--subHeading1-fs);font-weight:400;text-transform:uppercase;letter-spacing:.03em}h2,h3,h6{margin:0 0 1em;font-weight:600}h1,h2,h3{line-height:var(--headingLineHeight)}h2{font-size:var(--heading2-fs)}h3{font-size:var(--heading3-fs);text-align:center}h6{font-size:var(--heading6-fs)}.has-darkMode small,.has-lightMode small{color:var(--secondaryColor)}.disclaimer,p+p{margin-top:1em}b,h1,strong{font-weight:800}i{font-style:italic}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}sup{font-size:80%;font-weight:200;vertical-align:super;white-space:nowrap}.disclaimer{font-size:var(--disclaimer-fs)}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto}.btn [disabled],.btn.disabled{pointer-events:none}.icon,body.noscroll{margin:0;overflow:hidden}.icon{display:inline-block;width:1em;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box;pointer-events:none;height:1em}@media (max-width:849px){:root{--grid-gutter-width: 32px;--section-inner: 40px}}@media (min-width:850px){:root{--grid-gutter-width: 48px;--section-inner: 60px}}body.noscroll{height:100%;touch-action:none}[class^=container]{width:100%;margin-left:auto;margin-right:auto;padding-left:calc(var(--grid-gutter-width)/2);padding-right:calc(var(--grid-gutter-width)/2)}.container-xl{max-width:1140px}.container-md{max-width:780px}.container-lg{max-width:900px}footer,section{padding-top:var(--section-inner);padding-bottom:var(--section-inner)}section ul:not([class]){margin-bottom:1em}section li:not([class]){position:relative;margin-top:1em;padding-left:1.8em}section li:not([class])::before{content:"";mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;-webkit-mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;position:absolute;top:2px;left:0;display:block;width:22px;height:22px;background-color:var(--secondaryColor)}.footer{text-align:center;font-size:var(--footer-fs);line-height:1.8}.footer__links,.footer__logo{display:flex;justify-content:center}.footer__logo{align-items:center;margin-bottom:35px}.footer__links{flex-wrap:wrap}.footer__disclaimer{margin-left:auto;margin-right:auto}.footer__rights{margin-top:2em}@media (max-width:767px){:root{--logo-fs: 180px}}@media (min-width:768px) and (max-width:1024px){:root{--logo-fs: 180px}}@media (min-width:1025px){:root{--logo-fs: 180px}}.header{position:relative;z-index:1;background-color:#fff;padding-top:1em;padding-bottom:1em}.header [class^=container]{display:flex;justify-content:space-between;align-items:center}.header__logo{display:flex;align-items:center;font-size:var(--logo-fs)}@media (max-width:767px){.header__logo{margin:0 auto 5px}}.header__logo .icon{height:.275em;color:#273779}@media (max-width:767px){.header__contact{display:none}}.header--has-shadow{box-shadow:0 2px 5px rgba(0,0,0,.25)}.nav{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute}@media (max-width:767px){.nav{width:38px;height:38px}}@media (min-width:768px){.nav{display:none}}.nav__checkbox{visibility:hidden;position:absolute;z-index:-1}@media (max-width:767px){.nav__checkbox:checked~.menu-list{max-height:200px}}@media (min-width:768px){.nav__checkbox:checked~.menu-list{display:block}}.nav__label{overflow:hidden;display:inline-block;text-indent:200%;line-height:0}@media (max-width:767px){.nav__label{width:38px;height:38px;padding:12px 7px;background-color:transparent}}@media (min-width:768px){.nav__label{width:25px;height:25px;padding-top:2px}}@media (hover:hover) and (pointer:fine){.nav__label{cursor:pointer}}.nav__burger{display:block;background-color:#625d5d;border-radius:1px}@media (max-width:767px){.nav__burger{width:22px;height:2px;box-shadow:0 6px 0 #625d5d,0 12px 0 #625d5d}}@media (min-width:768px){.nav__burger{width:25px;height:5px;box-shadow:0 9px 0 #625d5d,0 18px 0 #625d5d}}.menu-list{overflow:hidden;position:absolute;z-index:2}@media (max-width:767px){.menu-list{left:calc(var(--grid-gutter-width)/-2);width:50vw;min-width:215px;max-height:0;transition:all 500ms ease-in-out}}@media (min-width:768px){.menu-list{display:none;top:40px;left:0;width:250px;box-shadow:0 0 16px 0 rgba(0,0,0,.2)}}.menu-list__link{display:block;line-height:1.15;background-color:#fff}.menu-list__link,.menu-list__link:hover,.menu-list__link:visited{text-decoration:none;color:var(--mainColor)}@media (max-width:767px){.menu-list__link{padding:15px}}@media (min-width:768px){.menu-list__link{display:block;padding:12px 16px}}@media (hover:hover) and (pointer:fine){.menu-list__link:hover{background-color:#fff}}.cta-wrap{margin:0 auto;text-align:center;color:var(--buttonColor, white);background:var(--wrapperBackgroundColor, var(--mainColor))}section .cta-wrap{margin-top:1.25em}section+.cta-wrap{padding-top:1.5em;padding-bottom:1.5em}.cta-wrap [class^=container]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--ctaWrapGap, 2em)}.cta-wrap--sticky{position:sticky;top:calc(100% - var(--stickyBarHeight));left:0;max-width:none;width:100%;height:var(--stickyBarHeight);z-index:999}.cta-wrap--sticky:not(:last-child)+*{margin-top:calc(var(--stickyBarHeight)*-1)}.cta-wrap--sticky~:last-child{padding-bottom:calc(var(--stickyBarHeight) + var(--section-inner))}.cta-wrap__title{font-size:var(--ctaTitleFontSize, 2.25em);line-height:1}@media (max-width:374px){.cta-wrap__title{--ctaTitleFontSize: 1em}}@media (min-width:375px) and (max-width:413px){.cta-wrap__title{--ctaTitleFontSize: 1.25em}}@media (min-width:414px) and (max-width:767px){.cta-wrap__title{--ctaTitleFontSize: 1.5em}}.cta-wrap .btn{flex:1 1 auto;max-width:370px;margin:0}@media (min-width:850px){.cta-wrap .hide-td{display:none}}@media (max-width:849px){.cta-wrap .hide-mt{display:none}}.btn{display:inline-block;padding:.75em 1.25em;font-family:var(--mainFont);font-weight:var(--ctaFontWeight, 600);font-size:var(--btn-fs, 18px);text-align:center;white-space:nowrap;line-height:1;color:var(--buttonColor, white);background:var(--button-bg-initial, linear-gradient(0deg, var(--CTA) 0%, hsl(calc(var(--CTA_h) + 13), calc(var(--CTA_s) + 4%), calc(var(--CTA_l) + 11%)) 100%));border-radius:var(--buttonRadius, 8px);box-shadow:var(--buttonShadow, 0 3px 6px rgba(0, 0, 0, 0.15));transition:all 150ms ease-in-out}@media (max-width:374px){.btn{width:100%;padding-inline:.5em}}.btn:not([href]),.btn:not([href]):hover{color:var(--buttonColor, white)}.btn [disabled],.btn.disabled{filter:grayscale(1)}.btn:hover,.btn:visited{color:var(--buttonColor, white);text-decoration:none}.btn:hover{background:var(--button-bg-hover, linear-gradient(0deg, var(--CTA) 0%, var(--CTA) 100%))}.btn .icon{font-size:.75em}.popscreen{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100vh;display:flex;flex-direction:column;padding-block:0;background-color:var(--backgroundColor, white)}.popscreen [class^=container]{display:flex;justify-content:center;align-items:center}.popscreen__header{position:relative;z-index:1;width:100%;padding-block:1em .5em}.popscreen__header [class^=container]{display:flex;justify-content:space-between;align-items:center;flex-direction:row}.popscreen__logo{display:flex;align-items:center}@media (max-width:767px){.popscreen__logo{width:var(--popscreen-logoWidthMob, 168px);font-size:var(--popscreen-logoWidthMob, 168px)}}@media (min-width:768px) and (max-width:1024px){.popscreen__logo{width:var(--popscreen-logoWidthTab, 175px);font-size:var(--popscreen-logoWidthTab, 175px)}}@media (min-width:1025px){.popscreen__logo{width:var(--popscreen-logoWidthDesk, 180px);font-size:var(--popscreen-logoWidthDesk, 180px)}}.popscreen__logo .icon{height:var(--popscreen-logoHeight, 0.275em)}.popscreen__close-btn{display:flex;align-self:flex-start;color:inherit;font-size:var(--popscreen-closeBtn-fs, 1.5em);cursor:pointer}.popscreen>[class^=container]{flex-direction:column;flex:1 1 100%;transform:translateY(-5vh)}.popscreen__content{display:flex;justify-content:center;flex-direction:column}@media (max-width:767px) and (max-height:520px){.popscreen__content{flex:1 1 100%}}.popscreen__title{margin-block:0 .5em;font-size:var(--popscreen-title-fs, 50px);font-weight:var(--popscreen-title-wg, 800);text-align:center;color:var(--mainColor)}@media (max-width:374px){.popscreen__title{--popscreen-title-fs: 24px}}@media (min-width:375px) and (max-width:767px){.popscreen__title{--popscreen-title-fs: 26px}}@media (min-width:768px) and (max-width:1024px) and (min-height:991px){.popscreen__title{--popscreen-title-fs: 38px}}@media (min-width:1025px){.popscreen__title{--popscreen-title-fs: 50px}}@media (min-width:768px) and (max-height:990px){.popscreen__title{--popscreen-title-fs: 35px}}@media (min-width:768px){.popscreen__title{display:flex;flex-direction:column;justify-content:center}}.popscreen__title span{display:block;font-size:var(--popscreen-titleInc-fs, 1.95em);line-height:1;color:var(--secondaryColor);--popscreen-titleInc-fs: 1.7em}.popscreen__image-wrapper{display:flex;justify-content:center;flex:1 1 100%}.popscreen__image-wrapper picture{display:flex;align-items:center;height:100%}.popscreen__image{max-width:var(--popscreen-secondImg-w, 60vw)}@media (max-width:519px){.popscreen__image{width:auto;max-height:100%}}@media (min-width:520px){.popscreen__image{--popscreen-secondImg-w: 240px;object-fit:cover}}@media (min-width:768px) and (max-height:990px){.popscreen__image{max-height:35vh;width:auto;height:100%}}.popscreen__footer{display:flex;align-items:center;flex-direction:column;width:100%}@media (max-width:767px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (max-height:990px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (min-height:991px){.popscreen__footer{padding-block:2.5em}}.btn{--button-bg-initial: var(--CTA);--button-bg-hover: hsl(var(--CTA_h), var(--CTA_s), calc(var(--CTA_l) - 3%))}@media (min-width:375px) and (max-width:767px){.btn{--btn-fs: 24px}}@media (min-width:768px) and (max-height:900px){.popscreen .btn{--btn-fs: 28px}.popscreen--v02 .btn{--btn-fs: 20px}}.popscreen{--mainColor: var(--titleColor);--popscreen-logoWidthMob: 200px;--popscreen-logoWidthTab: 225px;--popscreen-logoWidthDesk: 250px}.popscreen__close-btn{color:var(--mainColor)}@media (max-width:374px){.popscreen__title{--popscreen-title-fs: 24px}}@media (min-width:375px) and (max-width:767px){.popscreen__title{--popscreen-title-fs: 28px}}@media (min-width:768px) and (max-width:1024px){.popscreen__title{--popscreen-title-fs: 32px}}@media (min-width:768px) and (max-height:900px){.popscreen__title{--popscreen-logoWidthDesk: 150px}}@media (min-width:1025px){.popscreen__title{--popscreen-title-fs: 40px;margin-block:.5em 0}}@media (max-width:519px){.popscreen__image{max-width:34vw}}@media (min-width:520px){.popscreen__image{max-width:190px}}@media (min-width:768px) and (max-height:900px){.popscreen__image{max-height:30vh}}.popscreen--v02>[class^=container]{transform:translateY(-2vh)}.popscreen--v02 .popscreen__title{order:1;margin-block:.5em}@media (min-width:768px) and (max-height:900px){.popscreen--v02 .popscreen__title{--popscreen-title-fs: 30px}}.popscreen--v02 .popscreen__image-wrapper--second{order:3}@media (max-width:519px){.popscreen--v02 .popscreen__image-wrapper--second .popscreen__image{--popscreen-secondImg-w: 60vw}}@media (min-width:520px){.popscreen--v02 .popscreen__image-wrapper--second .popscreen__image{--popscreen-secondImg-w: 300px}}@media (min-width:768px) and (max-height:900px){.popscreen--v02 .popscreen__image-wrapper--second .popscreen__image{max-height:26vh}}@media (max-width:519px){.popscreen--v02 .popscreen__image{max-width:34vw}}@media (min-width:520px){.popscreen--v02 .popscreen__image{max-width:190px}}@media (min-width:768px) and (max-height:900px){.popscreen--v02 .popscreen__image{max-height:22vh}}@media (max-width:1199px){.popscreen--v02 .popscreen__image--landscape{max-width:75vw}}@media (min-width:1200px){.popscreen--v02 .popscreen__image--landscape{max-width:25vw}}@media (min-width:768px) and (max-height:900px){.popscreen--v02 .popscreen__image--landscape{max-height:32vh}}.popscreen--v02 .popscreen__footer{padding-top:0}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwiYWJzdHJhY3RzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9fZ3JpZC5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9fdHJhbnNpdGlvbnMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvX21vZGFsLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC91dGlsaXRpZXMvX2ZsZXguc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19yZXNldC1leHRlbmRlZC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9faGVscGVyLWNsYXNzZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9pbmRleC5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvaW5kZXguc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX2Z1bmN0aW9uYWxpdHkuc2NzcyIsIi4uL2NvbXBvbmVudHMvc2NfQ1RBL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL3NjX3BvcHNjcmVlbi9pbmRleC5zY3NzIiwic2tpbi9zY19wb3BzY3JlZW4vaW5kZXguc2NzcyIsInNraW4vc2NfQ1RBL2luZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkEsQUFFQSxpQkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLHVCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFJWCx5QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCxpQ0FDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCw4QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFNWCx3QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLGdDQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsNkJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFNWCxrQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sYSxDQUFpQixTLENBQ3hCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUNsRlgsZ0JBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUdYLHdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCxxQkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBS1gsa0JBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsMEJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsdUJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBSVgsa0JBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsMEJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsdUJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBSVgsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCxzQkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBS1gsZ0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCx3QkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUdYLHFCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBS1gsaUJBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUdYLHlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCxzQkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBS1gscUJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsNkJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsMEJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBSVgsMEJBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBRVgsa0NBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBRVgsK0JBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBSVgsdUJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUdYLCtCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCw0QkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBS1gsa0JBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQUlYLDBCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCx1QkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBTVgsa0NBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsMENBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsdUNBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFDM01YLDBCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUFFWCxrQ0FDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsK0JBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QkNoQlgsSyxDQUNJLCtCLENBQ0Esa0IsQ0FDQSxrQixDQUNBLGtCLENBRUEsb0MsQ0FDQSx1QixDQUNBLHVCLENBQ0EsdUIsQ0FFQSxnQyxDQUNBLG1CLENBQ0EsbUIsQ0FDQSxtQixDQUVBLDJCLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGlCLENBRUEsaUMsQ0FDQSxtQixDQUNBLHFCLENBQ0Esb0IsQ0FFQSx5QixDQUNBLFksQ0FDQSxZLENBQ0EsWTs7Ozs7OztBQ3hCRixVLENDREEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnRERixVLENDV0ksaUIsQUMyQ0YseUJGdERGLFUsQ0NXSSxpQixBQzJDRix5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLDBCRnRERixVLENDV0ksa0JETEosZ0IsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENDUEEsVSxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxpQixDQUNBLGdCLENDbURFLHlCRnJDRSxVLENBQUEsYSxDQUNFLGlCLEFFb0NKLHlCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FDRSxpQixBRW9DSix5QkZyQ0UsVSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGlCLEFFb0NKLDBCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUNFLGtCQTRCTixJLENDN0JBLFksQ0FDQSxjLENBQ0Esa0IsQ0FDQSxpQixDRGdDQSxXLENBQ0UsYyxDQUNBLGEsQ0FFQSxnQixDQUFBLHlCLENBRUUsZSxDQUNBLGMsQ0cxREosSSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQ0UsaUIsQ0FDQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUpGLFMsQ0FDRSxpQixDQUVBLGtCLENBQ0EsaUIsQ0FKRixNLENBQUEsTyxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FDRSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBc0JFLEksQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGEsQ0FDRSxhLENBQ0EsYyxDQUZGLGEsQ0FDRSxZLENBQ0EsYSxDQUZGLGEsQ0FDRSx1QixDQUNBLHdCLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsUyxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLE0sQ0ZkUixzQixDQUlBLHVCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE8sQ0ZkUix1QixDQUlBLHdCLENFVVEsTyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxPLENGZFIsYSxDQUlBLGMsQ0VnQkksWSxDQUF3QixRLENBRXhCLFcsQ0FBdUIsUSxDQUdyQixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUyxDQUF3QixRLENBQXhCLFMsQ0FBd0IsUSxDQUF4QixTLENBQXdCLFEsQ0FPcEIsUyxDRmpCVix5QixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsVSxDRmpCViwwQixDRWlCVSxVLENGakJWLDBCLENDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UsMEJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0Qkd2REYsSyxDQ2dCTSw4QixDQUlBLHVDRHBCTixLLENDcUJRLGlCLEFEbEJOLFVBQUEsTSxDQUNFLFMsQ0FLRixjQUFBLE0sQ0FDRSxZLENBSUosVyxDQUNFLGlCLENBQ0EsUSxDQUNBLGUsQ0NESSwyQixDQUlBLHVDRE5OLFcsQ0NPUSxpQkNKUixNLENBWEEsVyxDQ1FBLFksQ0RORSxlLENBRUEsa0IsQ0FDRSxpQixDQUNBLGUsQ0FLSixNLENBQ0UsYyxDQUNBLEssQ0FDQSxNLENBQ0EsWSxDQUNBLFksQ0FDQSxVLENBQ0EsVyxDQUlBLFMsQ0FPRixhLENBQ0UsaUIsQ0FDQSxVLENBQ0EsWSxDQUVBLG1CLENBR0EseUIsQ0QzQkksaUMsQ0M2QkYsNEIsQ0R6QkUsdUNDdUJKLHlCLENEdEJNLGlCQzBCTix5QixDQUNFLGMsQ0FJRixpQyxDQUNFLHFCLENBSUosd0IsQ0FDRSxZLENBQ0EsNEIsQ0FFQSx1QyxDQUNFLDZCLENBQ0EsZSxDQUdGLHNDLENBQUEsc0MsQ0FFRSxhLENBR0Ysb0MsQ0FDRSxlLENBSUosc0IsQ0FDRSxZLENBQ0Esa0IsQ0FDQSw0QixDQUdBLDhCLENBQ0UsYSxDQUNBLHlCLENBQ0Esa0IsQ0FDQSxVLENBSUYsOEMsQ0FDRSxxQixDQUNBLHNCLENBQ0EsVyxDQUVBLDZELENBQ0UsZSxDQUdGLHNELENBQ0UsWSxDQU1OLGMsQ0FDRSxpQixDQUNBLFksQ0FDQSxxQixDQUNBLFUsQ0FHQSxtQixDQUNBLHFCLENBQ0EsMkIsQ0FDQSwrQixDRWxHRSxtQixDRnNHRixTLENBSUYsZSxDQUNFLGMsQ0FDQSxLLENBQ0EsTSxDQUNBLFksQ0FDQSxXLENBQ0EsWSxDQUNBLHFCLENBR0Esb0IsQ0FBUyxTLENBQ1Qsb0IsQ0FBUyxVLENBS1gsYSxDQUNFLFksQ0FDQSxzQixDQUNBLDZCLENBQ0EsWSxDQUNBLCtCLENFdEhFLHdDLENBQ0EseUMsQ0Z3SEYsb0IsQ0FDRSxZLENBRUEsNkIsQ0FLSixZLENBQ0UsZSxDQUNBLGUsQ0FLRixXLENBQ0UsaUIsQ0FHQSxhLENBQ0EsWSxDQUlGLGEsQ0FDRSxZLENBQ0EsYyxDQUNBLGtCLENBQ0Esd0IsQ0FDQSxjLENBQ0EsNEIsQ0V6SUUsNEMsQ0FDQSwyQyxDRitJRixlLENBQ0UsYSxDQUtKLHdCLENBQ0UsaUIsQ0FDQSxXLENBQ0EsVSxDQUNBLFcsQ0FDQSxlLENKeElFLHlCSThJRixhLENBQ0UsZSxDQUNBLG1CLENBR0Ysd0IsQ0FDRSw4QixDQUVBLHVDLENBQ0UsK0IsQ0FJSixzQixDQUNFLDhCLENBRUEsOEIsQ0FDRSwyQixDQUNBLGtCLENBUUosUyxDQUFZLGlCLEFKeEtWLHlCSTRLRixTLENBQUEsUyxDQUVFLGlCLEFKOUtBLDBCSW1MRixTLENBQVksa0JHck9WLFMsQ0FBZ0MsNEIsQ0FDaEMsWSxDQUFnQywrQixDQUNoQyxpQixDQUFnQyxvQyxDQUNoQyxvQixDQUFnQyx1QyxDQUVoQyxVLENBQThCLHdCLENBQzlCLFksQ0FBOEIsMEIsQ0FDOUIsa0IsQ0FBOEIsZ0MsQ0FDOUIsVSxDQUE4Qix1QixDQUM5QixZLENBQThCLHFCLENBQzlCLFksQ0FBOEIscUIsQ0FDOUIsYyxDQUE4Qix1QixDQUM5QixjLENBQThCLHVCLENBRTlCLHNCLENBQW9DLG9DLENBQ3BDLG9CLENBQW9DLGtDLENBQ3BDLHVCLENBQW9DLGdDLENBQ3BDLHdCLENBQW9DLHVDLENBQ3BDLHVCLENBQW9DLHNDLENBRXBDLGtCLENBQWlDLGdDLENBQ2pDLGdCLENBQWlDLDhCLENBQ2pDLG1CLENBQWlDLDRCLENBQ2pDLHFCLENBQWlDLDhCLENBQ2pDLG9CLENBQWlDLDZCLENBRWpDLG9CLENBQWtDLGtDLENBQ2xDLGtCLENBQWtDLGdDLENBQ2xDLHFCLENBQWtDLDhCLENBQ2xDLHNCLENBQWtDLHFDLENBQ2xDLHFCLENBQWtDLG9DLENBQ2xDLHNCLENBQWtDLCtCLENBRWxDLGdCLENBQWdDLHlCLENBQ2hDLGlCLENBQWdDLCtCLENBQ2hDLGUsQ0FBZ0MsNkIsQ0FDaEMsa0IsQ0FBZ0MsMkIsQ0FDaEMsb0IsQ0FBZ0MsNkIsQ0FDaEMsbUIsQ0FBZ0MsNEIsQ1BZaEMseUJPbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQVBZaEMseUJPbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQVBZaEMseUJPbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEIsQVBZaEMsMEJPbERBLFksQ0FBZ0MsNEIsQ0FDaEMsZSxDQUFnQywrQixDQUNoQyxvQixDQUFnQyxvQyxDQUNoQyx1QixDQUFnQyx1QyxDQUVoQyxhLENBQThCLHdCLENBQzlCLGUsQ0FBOEIsMEIsQ0FDOUIscUIsQ0FBOEIsZ0MsQ0FDOUIsYSxDQUE4Qix1QixDQUM5QixlLENBQThCLHFCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FDOUIsaUIsQ0FBOEIsdUIsQ0FFOUIseUIsQ0FBb0Msb0MsQ0FDcEMsdUIsQ0FBb0Msa0MsQ0FDcEMsMEIsQ0FBb0MsZ0MsQ0FDcEMsMkIsQ0FBb0MsdUMsQ0FDcEMsMEIsQ0FBb0Msc0MsQ0FFcEMscUIsQ0FBaUMsZ0MsQ0FDakMsbUIsQ0FBaUMsOEIsQ0FDakMsc0IsQ0FBaUMsNEIsQ0FDakMsd0IsQ0FBaUMsOEIsQ0FDakMsdUIsQ0FBaUMsNkIsQ0FFakMsdUIsQ0FBa0Msa0MsQ0FDbEMscUIsQ0FBa0MsZ0MsQ0FDbEMsd0IsQ0FBa0MsOEIsQ0FDbEMseUIsQ0FBa0MscUMsQ0FDbEMsd0IsQ0FBa0Msb0MsQ0FDbEMseUIsQ0FBa0MsK0IsQ0FFbEMsbUIsQ0FBZ0MseUIsQ0FDaEMsb0IsQ0FBZ0MsK0IsQ0FDaEMsa0IsQ0FBZ0MsNkIsQ0FDaEMscUIsQ0FBZ0MsMkIsQ0FDaEMsdUIsQ0FBZ0MsNkIsQ0FDaEMsc0IsQ0FBZ0MsOEJDM0NwQyxJLENBY0MsUyxDQUlBLHVCLENBbEJELEMsQ0FBQSxJLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTyxDQUFBLEssQ0FBQSxLLENBQUEsQyxDQUFBLEcsQ0FBQSxVLENBQUEsSSxDQUFBLE0sQ0FBQSxPLENBQUEsTSxDQUFBLEksQ0FBQSxJLENBQUEsRSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEcsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxLLENBQUEsVSxDQUFBLE0sQ0FBQSxFLENBQUEsRSxDQUFBLE0sQ0FBQSxNLENBQUEsQyxDQUFBLE0sQ0FBQSxHLENBQUEsRyxDQUFBLEssQ0FBQSxFLENBQUEsSSxDQUFBLEksQ0FBQSxHLENBQUEsTSxDQUFBLEUsQ0FBQSxNLENBQUEsQyxDQUFBLEcsQ0FBQSxDLENBQUEsSSxDQUFBLEMsQ0FBQSxJLENBQUEsTyxDQUFBLEssQ0FBQSxJLENBQUEsTSxDQUFBLE0sQ0FBQSxHLENBQUEsTyxDQUFBLEssQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEksQ0FBQSxFLENBQUEsRSxDQUFBLEMsQ0FBQSxFLENBQUEsRyxDQUFBLEssQ0FhRSxRLENBQ0QsUyxDQUNBLFEsQ0FFQSxZLENBQ0EsdUIsQ0FsQkQsTSxDQUFBLEksQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBY0MsUyxDQUNBLFEsQ0FmRCxHLENBQUEsRyxDQWNDLFMsQ0FHQSxZLENBakJELEksQ0FBQSxHLENBZUMsUSxDQWZELFEsQ0FBQSxNLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxNLENBaUJDLFksQ0FDQSx1QixDQWxCRCxJLENBQUEsTSxDQUFBLEcsQ0FhRSxRLENBU0YsTSxDQUNJLFMsQ0FJSixPLENBQUEsSyxDQUFBLE8sQ0FBQSxVLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxHLENBQUEsTyxDQUVDLGEsQ0FHRCxJLENBQ0MsYSxDQ3hCRyxnQixDQUNBLHNCLENBQXlCLGtDLENBQXFDLGlDLENBRTlELGlDLENDb0dBLDJCLENBQ0EsNkIsQ0FDQSxzQixDRjlFSixFLENBQUEsRSxDQUNDLGUsQ0FHRCxVLENBQUEsQyxDQUNDLFcsQ0FHRCxnQixDQUFBLGlCLENBQUEsTyxDQUFBLFEsQ0FHQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQUEsNkMsQ0FBQSxpRCxDQUFBLHFELENBSUksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUFBLE0sQ0FBQSxLLENBR0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFBLFcsQ0FDSSxZLENBQ0EsUSxDQVFKLFEsQ0FDSSxZLENBVUosSSxDQUVJLDZCLENBQ0EseUIsQ0FPSixPLENBQ0ksbUIsQ0FPSixRLENBQUEsTyxDQUVJLFMsQ0FRSixHLENBQ0ksUSxDQUNBLDhCLENBb01BLHFCLENIN1FBLGEsQ0FBZ0IsVSxDQUFhLGEsQ0dnR2pDLFEsQ0FZQSxNLENBQ0ksUSxDQUNBLFMsQ0FkSixRLENBaEJBLE0sQ0FRQSxJLENBMExJLFEsQ0F0S0osTSxDQUdJLGtCLENBQ0EsaUIsQ0FVSixNLENBQUEsSyxDQUFBLE0sQ0FNSSx1QixDQU5KLE0sQ0FBQSxLLENBQUEsTSxDQUFBLFEsQ0FJSSxjLENBQ0EsUSxDQUVBLHNCLENBUUosTSxDQUFBLEssQ0FFSSxrQixDQVVKLE0sQ0FBQSxNLENBRUksbUIsQ0FhSixNLENBSUkseUIsQ0FFQSxpQixDQU5KLHVCLENBQUEsaUIsQ0FBQSxrQixDQUlJLHlCLENBQ0EsYyxDQUNBLGlCLENBT0osZ0IsQ0FBQSxvQixDQUVJLGMsQ0FVSixvQixDQUFBLGlCLENBRUkscUIsQ0FDQSxTLENBQ0EsWSxDQUNBLFcsQ0FTSixrQixDQUNJLDRCLENBQ0EsMkIsQ0FDQSw4QixDQUNBLHNCLENBUUosZ0QsQ0FBQSw2QyxDQUVJLHVCLENBT0osd0IsQ0FBQSx1QixDQUVJLFEsQ0FDQSxTLENDblJzQixRLENEMlIxQixRLENBQ0ksYSxDQUNBLGtCLENBWUosSSxDQUFBLEssQ0FBQSxNLENBZEEsUSxDQW1CSSxVLENBSUosZ0IsQ0FDSSxrQixDQUNBLGdCLENBR0osVyxDQUNJLGtCLENBQ0EsZ0IsQ0FhSixRLENBQ0ksZSxDQUdKLFksQ0FDSSxhLENBQ0EsZSxDQUNBLFUsQ0FDQSxjLENDeldKLEksQ0FDSSxxQixDQzRHQSx5QyxDQUNBLG9CLENEekdKLEMsQ0FBQSxPLENBQUEsUSxDQUVXLGtCLENBV1gsQyxDQUVBLE0sQ0FFbUMsYSxDQUFpQyxjLENBSnBFLEMsQ0FBSSxvQixDQzhLQSxzQixDRDVLSixNLENBQ0ksUyxDQUNBLDRCLENBQStDLGMsQ0V6Qm5ELEssQ0FDSSxzQixDQUdKLEssQ0FDSSx1QixDQUdKLFUsQ0FDSSwyQixDQUdKLEcsQ0FDSSxlLENDZ2pCQSx5QkQ5aUJBLHFCLENBRVEsZSxBQzRpQlIseUJEeGlCQSxpQixDQUVRLGUsQUNzaUJSLCtDRGxpQkEsVyxDQUVRLGUsQUNnaUJSLHlCRDVoQkEsZSxDQUVRLGUsQUMwaEJSLGdERHRoQkEsVyxDQUVRLGUsQUNvaEJSLDRFRGhoQkEscUIsQ0FFUSxlLEFDOGdCUiwwQkQxZ0JBLFksQ0FFUSxlQUtaLE8sQ0FDSSxrQixDRDFESixLLENBQ0ksbUIsQ0FDQSx5QixDRTBqQkEseUJGNWpCSixLLENBS1Esa0IsQ0FDQSxpQixDQUVBLG1CLENBQ0Esc0IsQ0FDQSx1QixDQUVBLG1CLENBRUEsbUIsQ0FFQSxjLENBRUEsbUIsQ0FDQSxxQixDQUVBLHlCLENBQ0EsNEIsQ0FFQSxrQixDQUVBLG1CLEFFa2lCSiwrQ0Y1akJKLEssQ0E4QlEsa0IsQ0FDQSxpQixDQUVBLG1CLENBQ0Esc0IsQ0FDQSx1QixDQUVBLG1CLENBRUEsbUIsQ0FFQSxjLENBRUEsbUIsQ0FDQSxxQixDQUVBLHlCLENBQ0EsNEIsQ0FFQSxrQixDQUVBLG1CLEFFeWdCSixnREY1akJKLEssQ0F1RFEsa0IsQ0FDQSxpQixDQUVBLG1CLENBQ0Esc0IsQ0FDQSx1QixDQUVBLG1CLENBRUEsbUIsQ0FFQSxjLENBRUEsbUIsQ0FDQSxxQixDQUVBLHlCLENBQ0EsNEIsQ0FFQSxrQixDQUVBLG1CLEFFZ2ZKLDBCRjVqQkosSyxDQWdGUSxrQixDQUNBLGtCLENBRUEsbUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsbUIsQ0FFQSxtQixDQUVBLGMsQ0FFQSxtQixDQUNBLHFCLENBRUEseUIsQ0FDQSw0QixDQUVBLGtCLENBRUEsbUJBb0JSLEUsQ0EwQ0EsRSxDQUdJLGUsQ0E3Q0osRSxDQUlJLGtCLENBRkEsNEIsQ0FJQSxRLENBQ0ksYSxDQUNBLGtCLENBQ0EsK0IsQ0FDQSxlLENBQ0Esd0IsQ0FDQSxvQixDQUlSLEUsQ0FBQSxFLENBMEJBLEUsQ0F6QkksYyxDQUNBLGUsQ0FsQkosRSxDQXFCQSxFLENBQUEsRSxDQUNJLG9DLENBR0osRSxDQUNJLDRCLENBR0osRSxDQUNJLDRCLENBQ0EsaUIsQ0FXSixFLENBQ0ksNEIsQ0FNQSxtQixDQUlBLG9CLENBSEksMkIsQ0F1Q1IsVyxDQTlCSSxHLENBQ0ksYyxDQUlSLEMsQ0FoRUEsRSxDQWdFQSxNLENBQ0ksZSxDQUdKLEMsQ0FDSSxpQixDRThYQSx3Q0Z2WEksTyxDQUNJLDJCQUtaLEcsQ0FDSSxhLENBQ0EsZSxDQUNBLG9CLENBQ0Esa0IsQ0FHSixXLENBQ0ksOEIsQ0V5V0Esd0NDNWpCSixhLENBRVEsZ0JBSVIsSSxDQUNJLFksQ0FBZSxzQixDQUF5QixrQixDQUFxQixlLENBRTdELGUsQ0FBQSxhLENBQ0ksbUIsQ0NWUixLLENUa0JJLGEsQ0FDSSxRLENBQXlCLGUsQ1NuQmpDLEssQ0FDc0Isb0IsQ0FBdUIsUyxDQUN6QyxpQixDQUFvQixxQixDQUF3QixhLENBQzVDLFksQ0FDQSxhLENBQ0Esc0IsQ0FBeUIsbUIsQ0FKNEIsVSxDRjJqQnJELHlCUDNqQkosSyxDQUVRLHlCLENBQ0EsdUIsQU93akJKLHlCUDNqQkosSyxDQU9RLHlCLENBQ0EsdUJBU0osYSxDQUNlLFcsQ0FBZ0MsaUIsQ0FJbkQsa0IsQ0FDRyxVLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLDZDLENBQ0EsOEMsQ0FHSCxhLENBQ0ksZ0IsQ0FFSixhLENBQ0ksZSxDQUdKLGEsQ0FDSSxlLENBZ0NKLE0sQ0E3QkEsTyxDQUNJLGdDLENBQ0EsbUMsQ0FFQSxlQUFBLFEsQ0FDSSxpQixDQUlKLGVBQUEsUSxDQUNJLGlCLENBQ0EsYyxDQUNBLGtCLENBRUEsZUFBQSxnQixDQUNJLFUsQ0FDQSx5YyxDQUNBLGlkLENBQ0EsaUIsQ0FDQSxPLENBQ0EsTSxDQUNBLGEsQ0FDQSxVLENBQ0EsVyxDQUNBLHNDLENVbkVaLE8sQ0FDSSxpQixDQUNBLDBCLENBQ0EsZSxDQVNBLGMsQ0FQQSxhLENBUUksWSxDQUNBLHNCLENBVEosYSxDQUdJLGtCLENBQ0Esa0IsQ0FHSixjLENBR0ksYyxDQUdKLG1CLENBQ0ksZ0IsQ0FDQSxpQixDQUdKLGUsQ0FDSSxjLENIcWlCSix5QkkzakJKLEssQ0FFUSxrQixBSnlqQkosZ0RJM2pCSixLLENBTVEsa0IsQUpxakJKLDBCSTNqQkosSyxDQVVRLGtCQUlSLE8sQ0FDSSxpQixDQUNBLFMsQ0FDQSxxQixDQUNBLGUsQ0FDQSxrQixDQUVBLDBCLENBQ0ksWSxDQUNBLDZCLENBQ0Esa0IsQ0FHSixhLENBQ0ksWSxDQUNBLGtCLENBQ0Esd0IsQ0o2aEJKLHlCSWhpQkEsYSxDQU1RLG1CQUdKLG1CLENBQ0ksYSxDQUNBLGEsQ0pxaEJSLHlCSWpoQkEsZ0IsQ0FFUSxjQUlSLG1CLENBQ0ksb0MsQ0FJUixJLENDckRDLHdCLENBQ0EscUIsQ0FDQSxnQixDRHFERyxpQixDSm9nQkEseUJJdGdCSixJLENBS1EsVSxDQUNBLGEsQUpnZ0JKLHlCSXRnQkosSSxDQVVRLGNBR0osYyxDQUNJLGlCLENBQ0EsaUIsQ0FDQSxVLENKc2ZKLHlCSXBmSSxpQyxDQUVRLGtCLEFKa2ZaLHlCSXBmSSxpQyxDQU1RLGVBS1osVyxDQUNJLGUsQ0FDQSxvQixDQUNBLGdCLENBQ0EsYSxDSnFlSix5Qkl6ZUEsVyxDQU9RLFUsQ0FDQSxXLENBQ0EsZ0IsQ0FDQSw4QixBSitkUix5Qkl6ZUEsVyxDQWNRLFUsQ0FDQSxXLENBQ0EsaUIsQUp5ZFIsd0NJemVBLFcsQ0FvQlEsZ0JBSVIsWSxDQUNJLGEsQ0FDQSx3QixDQUNBLGlCLENKOGNKLHlCSWpkQSxZLENBTVEsVSxDQUNBLFUsQ0FDQSw2QyxBSnljUix5QklqZEEsWSxDQWNRLFUsQ0FDQSxVLENBQ0EsNkNBT1osVSxDQUNJLGUsQ0FDQSxpQixDQUNBLFMsQ0p1YkEseUJJMWJKLFUsQ0FNUSxzQyxDQUNBLFUsQ0FDQSxlLENBQ0EsWSxDQUNBLGtDLEFKZ2JKLHlCSTFiSixVLENBY1EsWSxDQUNBLFEsQ0FDQSxNLENBQ0EsVyxDQUNBLHNDQU1KLGdCLENBQ0ksYSxDQUNBLGdCLENBQ0EscUIsQ0FISixnQixDQUtJLHNCLENBQUEsd0IsQ0FHSSxvQixDQUNBLHNCLENKeVpSLHlCSWxhQSxnQixDQWFRLGMsQUpxWlIseUJJbGFBLGdCLENBaUJRLGEsQ0FDQSxtQixBSmdaUix3Q0k1WVEsc0IsQ0FDSSx1QkVoTGhCLFMsQ0FDSSxhLENBQ0EsaUIsQ0FDQSwrQixDQUNBLDBELENBRUEsaUIsQ0FDSSxpQixDQUdKLGlCLENBQ0ksaUIsQ0FDQSxvQixDQUdKLDRCLENBQ0ksWSxDQUNBLHNCLENBQ0Esa0IsQ0FDQSxjLENBQ0EsMEIsQ0FHSixpQixDQUNJLGUsQ0FDQSx1QyxDQUNBLE0sQ0FDQSxjLENBQ0EsVSxDQUNBLDZCLENBQ0EsVyxDQUdJLHNCQUFBLGMsQ0FDSSwwQyxDQUlSLDZCLENBQ0ksa0UsQ0FJUixnQixDQUNJLHlDLENBQ0EsYSxDTjhnQkoseUJNaGhCQSxnQixDQUtRLHlCLEFOMmdCUiwrQ01oaEJBLGdCLENBU1EsNEIsQU51Z0JSLCtDTWhoQkEsZ0IsQ0FhUSwyQkFJUixjLENBQ0ksYSxDQUNBLGUsQ0FDQSxRLENONGZKLHlCTXpmQSxrQixDQUVRLGMsQU51ZlIseUJNbmZBLGtCLENBRVEsY0FLWixJLENBQ0ksb0IsQ0FDQSxvQixDQUNBLDJCLENBQ0EscUMsQ0FDQSw2QixDQUNBLGlCLENBQ0Esa0IsQ0FDQSxhLENBQ0EsK0IsQ0FDQSwrSixDQUNBLHNDLENBQ0EsNkQsQ0FDQSxnQyxDTitkQSx5Qk01ZUosSSxDQWdCUSxVLENBQ0EscUIsQUFJQSxTQUFBLE8sQ0FBQSxTQUFBLGEsQ0FDSSwrQixDQUlSLGUsQ0FBQSxhLENBRUksbUIsQ0FHSixVLENBQUEsWSxDQUVJLCtCLENBQ0Esb0IsQ0FHSixVLENBQ0ksd0YsQ0FHSixVLENBQ0ksZSxDQ3pIUixVLENBQ0ksYyxDQUNBLE0sQ0FDQSxLLENBQ0EsWSxDQUNBLFUsQ0FDQSxZLENBQ0EsWSxDQUNBLHFCLENBQ0EsZSxDQUNBLDhDLENBRUEsNkIsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxrQixDQUlKLGtCLENBQ0ksaUIsQ0FDQSxTLENBQ0EsVSxDQUNBLHNCLENBRUEscUMsQ0FDSSxZLENBQ0EsNkIsQ0FDQSxrQixDQUNBLGtCLENBSVIsZ0IsQ0FDSSxZLENBQ0Esa0IsQ1B3aEJKLHlCTzFoQkEsZ0IsQ0FLUSwwQyxDQUNBLGdELEFQb2hCUixnRE8xaEJBLGdCLENBVVEsMEMsQ0FDQSxnRCxBUCtnQlIsMEJPMWhCQSxnQixDQWVRLDJDLENBQ0EsaURBR0osc0IsQ0FDSSwyQyxDQUlSLHFCLENBQ0ksWSxDQUNBLHFCLENBQ0EsYSxDQUNBLDZDLENBQ0EsYyxDQUdKLDZCLENBQ0kscUIsQ0FDQSxhLENBQ0EsMEIsQ0FJSixtQixDQUNJLFksQ0FDQSxzQixDQUNBLHFCLENBR0ksZ0RBTlIsbUIsQ0FPWSxlQUtaLGlCLENBQ0ksbUIsQ0FDQSx5QyxDQUNBLDBDLENBQ0EsaUIsQ0FDQSxzQixDUGtlSix5Qk92ZUEsaUIsQ0FRUSw0QixBUCtkUiwrQ092ZUEsaUIsQ0FZUSw0QixBQUlBLHVFQWhCUixpQixDQWlCWSw0QixBUHNkWiwwQk92ZUEsaUIsQ0FzQlEsNEIsQUFJQSxnREExQlIsaUIsQ0EyQlksNEIsQVA0Y1oseUJPdmVBLGlCLENBZ0NRLFksQ0FDQSxxQixDQUNBLHdCQUdKLHNCLENBQ0ksYSxDQUNBLDhDLENBQ0EsYSxDQUNBLDJCLENDM0ZBLDhCLENEK0ZSLHlCLENBQ0ksWSxDQUNBLHNCLENBQ0EsYSxDQUVBLGlDLENBQ0ksWSxDQUNBLGtCLENBQ0EsVyxDQUlSLGlCLENBQ0ksNEMsQ1A2YUoseUJPOWFBLGlCLENBSVEsVSxDQUNBLGlCLEFQeWFSLHlCTzlhQSxpQixDQVNRLDhCLENBRUEsa0IsQUFJQSxnREFmUixpQixDQWdCWSxlLENBQ0EsVSxDQUNBLGFBS1osa0IsQ0FDSSxZLENBQ0Esa0IsQ0FDQSxxQixDQUNBLFUsQ1BtWkoseUJPdlpBLGtCLENBT1Esc0IsQUFJQSxnREFYUixrQixDQVlZLHNCLEFBR0osZ0RBZlIsa0IsQ0FnQlkscUJFdExoQixJLENBQ0ksK0IsQ0FDQSwyRSxDVDJqQkEsK0NTN2pCSixJLENBS1EsZ0IsQUFJQSxnREFDSSxlLENBQ0ksYyxDQUdKLG9CLENBQ0ksZ0JEZmhCLFUsQ0FDSSw4QixDQUNBLCtCLENBQ0EsK0IsQ0FDQSxnQyxDQUVBLHFCLENBQ0ksc0IsQ1JzakJKLHlCUW5qQkEsaUIsQ0FFUSw0QixBUmlqQlIsK0NRbmpCQSxpQixDQU1RLDRCLEFSNmlCUixnRFFuakJBLGlCLENBVVEsNEIsQUFJQSxnREFkUixpQixDQWVZLGtDLEFSb2lCWiwwQlFuakJBLGlCLENBb0JRLDBCLENBRUEscUIsQVI2aEJSLHlCUXJoQkEsaUIsQ0FFUSxnQixBUm1oQlIseUJRcmhCQSxpQixDQU1RLGlCLEFBSUEsZ0RBVlIsaUIsQ0FXWSxpQkFPUixrQyxDQUNJLDBCLENBSUEsaUMsQ0FDSSxPLENBQ0EsaUIsQ0FHSSxnREFMUixpQyxDQU1ZLDRCQU1SLGlELENBQ0ksTyxDUmlmaEIseUJRL2VnQixtRSxDQUVRLCtCLEFSNmV4Qix5QlEvZWdCLG1FLENBTVEsZ0MsQUFJQSxnREFWUixtRSxDQVdZLGlCLEFSb2U1Qix5QlE3ZFEsaUMsQ0FFUSxnQixBUjJkaEIseUJRN2RRLGlDLENBTVEsaUIsQUFJQSxnREFWUixpQyxDQVdZLGlCLEFSa2RwQiwwQlE5Y1ksNEMsQ0FFUSxnQixBUjRjcEIsMEJROWNZLDRDLENBTVEsZ0IsQUFJQSxnREFWUiw0QyxDQVdZLGlCQU1oQixrQyxDQUNJLGEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tIEZhZGVzIHJlbGF0ZWQgYW5pbWF0aW9uc1xyXG4vLy0gQmxpbmtcclxuQGtleWZyYW1lcyBibGluayB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG4vLy0gQXBwZWFyXHJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLy8tIEFwcGVhciBIYW1tZXJcclxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vLy0gQmxpbmsgQ3Vyc29yXHJcbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5cclxuXHJcbi8vLSBmYWRlIGluXHJcbkBrZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgIG9wYWNpdHk6MDt9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufSIsIi8vLSBNb3Rpb24gcmVsYXRlZCBhbmltYXRpb25zXHJcbi8vLSBKdW1wXHJcbkBrZXlmcmFtZXMganVtcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBqdW1we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIFdlaWdodFxyXG5Aa2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1tZXJcclxuQGtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gU2NhbGVcclxuQGtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGV7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcblxyXG4vLy0gSG9vcFxyXG5Aa2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBEYW5zZVxyXG5Aa2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1idXJnZXJcclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbWJ1cmdlcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG4vLy0gU3Bpbm5lclxyXG5Aa2V5ZnJhbWVzIHNwaW5uZXItcm90YXRlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLXJvdGF0ZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc3Bpbm5lci1yb3RhdGUge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9XHJcbn1cclxuXHJcbi8vLSBCb3R0bGUgRGFuY2VcclxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxyXG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gQm91bmNlXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cclxuQGtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcclxuJHRhcC1jb2xvcjogcmVkO1xyXG5cclxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXHJcbkBrZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xyXG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XHJcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cclxufSIsIi8vLSB2MDJcbjpyb290IHtcbiAgICAtLW1haW5Db2xvcjogICAgICAgIGhzbCgyMjIsIDY5JSwgMzYlKTtcbiAgICAtLW1haW5Db2xvcl9oOiAgICAgIDIyMjtcbiAgICAtLW1haW5Db2xvcl9zOiAgICAgIDY5JTtcbiAgICAtLW1haW5Db2xvcl9sOiAgICAgIDM2JTtcblxuICAgIC0tc2Vjb25kYXJ5Q29sb3I6ICAgaHNsKDEwMywgNjclLCA0NSUpO1xuICAgIC0tc2Vjb25kYXJ5Q29sb3JfaDogIDEwMztcbiAgICAtLXNlY29uZGFyeUNvbG9yX3M6ICA2NyU7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9sOiAgNDUlO1xuXG4gICAgLS10aXRsZUNvbG9yOiAgICAgIGhzbCgyMjIsIDY5JSwgMzYlKTtcbiAgICAtLXRpdGxlQ29sb3JfaDogICAgICAyMjI7XG4gICAgLS10aXRsZUNvbG9yX3M6ICAgICAgNjklO1xuICAgIC0tdGl0bGVDb2xvcl9sOiAgICAgIDM2JTtcblxuICAgIC0tdGV4dENvbG9yOiAgICAgICAgaHNsKDAsIDAlLCAwJSk7XG4gICAgLS10ZXh0Q29sb3JfaDogICAgICAgMDtcbiAgICAtLXRleHRDb2xvcl9zOiAgICAgICAwJTtcbiAgICAtLXRleHRDb2xvcl9sOiAgICAgICAwJTtcblxuICAgIC0tcmF0aW5nQ29sb3I6IGhzbCgzMiwgMTAwJSwgNjAlKTsgLy8tICNGRjlFMzJcbiAgICAtLXJhdGluZ0NvbG9yX2g6IDMyO1xuICAgIC0tcmF0aW5nQ29sb3JfczogMTAwJTtcbiAgICAtLXJhdGluZ0NvbG9yX2w6IDYwJTtcblxuICAgIC0tQ1RBOiBoc2woMjIyLCA2OSUsIDM2JSk7XG4gICAgLS1DVEFfaDogMjIyO1xuICAgIC0tQ1RBX3M6IDY5JTtcbiAgICAtLUNUQV9sOiAzNiU7XG59XG5cbiRhYTogICAgICAgICAgICAgICAgICAgICAgaHNsKDEzMiwgNTclLCA0NSUpO1xuJGJsYWNrOiAgICAgICAgICAgICAgICAgICAgICAjMDAwO1xuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kbGlnaHQtYmxhY2s6ICAgICAgICAgICAgICAjMTExOTI2O1xuJGNsYXktYnJvd246ICAgICAgICAgICAgICAgICNiYTdjM2I7XG4kd2FybS1ncmV5OiAgICAgICAgICAgICAgICAgIzcwNzA3MDtcblxuJG1haW5Db2xvcjogdmFyKC0tbWFpbkNvbG9yKTtcbiRzZWNvbmRhcnlDb2xvcjogdmFyKC0tc2Vjb25kYXJ5Q29sb3IpO1xuXG4kc2Vjb25kYXJ5Q29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiRzZWNvbmRhcnlDb2xvck9wYWNpdHk6ICAgICAgICAgaHNsYSh2YXIoLS1zZWNvbmRhcnlDb2xvcl9oKSwgdmFyKC0tc2Vjb25kYXJ5Q29sb3JfcyksIHZhcigtLXNlY29uZGFyeUNvbG9yX2wpLCAuMyApO1xuXG4kdGVydGlhcnlDb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tdGVydGlhcnlDb2xvcik7XG5cbiR0aXRsZUNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tdGl0bGVDb2xvcik7XG4kdGV4dENvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLXRleHRDb2xvcik7XG5cbiRidXR0b25Db2xvclN0YXJ0OiAgICAgICAgICAgICAgdmFyKC0tQ1RBKTtcbiRidXR0b25Db2xvckVuZDogICAgICAgICAgICAgICAgaHNsKHZhcigtLUNUQV9oKSwgdmFyKC0tQ1RBX3MpLCBjYWxjKCB2YXIoLS1DVEFfbCkgKyAyMCUgKSApOyAvLy0gaHNsKDEyMCwgMTAwJSwgNDAlKVxuJGJ1dHRvbkdyYWRpZW50OiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkYnV0dG9uQ29sb3JTdGFydCwgJGJ1dHRvbkNvbG9yRW5kKTtcbiRidXR0b25Db2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tQ1RBKTtcblxuJGhlYWRlckNvbG9yOiAgICAgICAgICAgICAgICAgICAkbGlnaHQtYmxhY2s7XG4kYmdDb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcblxuJG1haW5TaGFkb3c6ICAgICAgICAgICAgICAgICAgICAwIDVweCA1cHggMCAjY2FjOWM5O1xuJGJ1dHRvblRleHRTaGFkb3c6ICAgICAgICAgICAgICAkY2xheS1icm93bjtcbiRidXR0b25UZXh0U2hhZG93RGlzYWJsZWQ6ICAgICAgJHdhcm0tZ3JleTtcblxuJGJveC1zaGFkb3c6ICAgICAgICAgIHJnYmEoYmxhY2ssIC4xNik7XG4kdGV4dFNoYWRvdzogcmdiYSgkYmxhY2ssIDAuMTUpO1xuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICAmID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU0MTBcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuOnJvb3QgeyAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldC1taWQnKSB7XG4gICAgICAgIC0tZ3JpZC1ndXR0ZXItd2lkdGg6IDMycHg7XG4gICAgICAgIC0tc2VjdGlvbi1pbm5lcjogNDBweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LW1pZCcpIHtcbiAgICAgICAgLS1ncmlkLWd1dHRlci13aWR0aDogNDhweDtcbiAgICAgICAgLS1zZWN0aW9uLWlubmVyOiA2MHB4O1xuICAgIH1cbn1cblxubWFpbiA+IHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vLSB0byByZW1vdmUgaG9yaXpvbnRhbCBzY3JvbGwgY3JlYXRlZCBieSBuZWdhdGl2ZSBwb3NpdGlvbiBvZiBkZWNvcmF0aXZlIGJnLWltYWdlcyBsb2NhdGVkIG9uIHRoZSByaWdodCBzaWRlXG59XG5cbmJvZHkge1xuICAgICYubm9zY3JvbGx7XG4gICAgICAgIG1hcmdpbjogMDsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgfVxufVxuXG5bY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgIHdpZHRoOiAxMDAlOyBcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtZ3V0dGVyLXdpZHRoKSAvIDIpO1xuICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1ncmlkLWd1dHRlci13aWR0aCkgLyAyKTtcbn1cblxuLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgeGwpOyBcbn1cbi5jb250YWluZXItbWQge1xuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIG1kKTsgXG59XG5cbi5jb250YWluZXItbGcge1xuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIGxnKTtcbn1cblxuc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNlY3Rpb24taW5uZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zZWN0aW9uLWlubmVyKTtcblxuICAgIHVsOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIH1cblxuICAgIGxpOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbWFzazogdXJsKCRzdmctZGF0YSArICR0aWNrLXNlY29uZGFyeUNvbG9yKSBuby1yZXBlYXQ7IFxuICAgICAgICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoJHN2Zy1kYXRhICsgJHRpY2stc2Vjb25kYXJ5Q29sb3IpIG5vLXJlcGVhdDsgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxuICAgICAgICAgICAgd2lkdGg6IDIycHg7IFxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zZWN0aW9uLWlubmVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1pbm5lcik7XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wLW1vZGlmaWVkIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udDogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOSwgU2FmYXJpIDUsIGFuZCBPcGVyYSAxMS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaHRtbCxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAjMjIyO1xufVxuXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY2hyb21lZnJhbWUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG59XG4iLCIvLy0gUmVzZXQgRXh0ZW5kZWQgLSBPbiB0aGlzIHBhcnRpYWwgSSdsbCBleHRlbmQgdGhlIEVyaWMgTWV5ZXIgcmVzZXQgZmlsZSBieSBhZGRpbmcgbW9kZXJuIGFuZCB1c2VmdWxsIHNlbGVjdG9yc1xyXG5cclxuLy8tIE92ZXJyaWRlIGRlZmF1bHQgYm94LXNpemluZzogY29udGVudC1ib3g7IHNvIHdpZHRoIGlzIG5vdCBhZmZlY3RlZCBieSBwYWRkaW5nIGFuZCBib3JkZXIgcHJvcGVydGllc1xyXG5odG1sIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8vLSBJbmhlcml0IHJvb3QgYm94LXNpemluZyB2YWx1ZSB0byBhbGwgRE9NIGVsZW1lbnRzXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XHJcblxyXG4vLy0gU2V0IGJvZHkgdG8gZmlsbCB2aWV3cG9ydCwgb3B0aW1pemUgdGV4dC1yZW5kZXJpbmcgYW5kIHNtb290aCBzY3JvbGxpbmdcclxuYm9keSB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgXHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLy8tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90ZXh0LXJlbmRlcmluZ1xyXG59XHJcblxyXG4vLy0gUmVzZXQgYW5jaG9yIGxvb2sgJiBiZWhhdmlvdXJcclxuYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuYnV0dG9uIHsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXHJcbn1cclxuXHJcbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyB9XHJcbiIsIi8vLSBCYXNlIHR5cG9ncmFwaHkgc3R5bGVzXG46cm9vdCB7XG4gICAgLS1yYXRpbmctc2l6ZTogMzJweDtcbiAgICAtLWhlYWRpbmdMaW5lSGVpZ2h0OiAxLjI1O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlXCIpIHtcbiAgICAgICAgLS1kZWZhdWx0LWZzOiAxNnB4O1xuICAgICAgICAtLWxpbmVIZWlnaHQ6IDEuNTtcblxuICAgICAgICAtLWhlYWRpbmcxLWZzOiAzMnB4O1xuICAgICAgICAtLXN1YkhlYWRpbmcxLWZzOiAxNHB4O1xuICAgICAgICAtLWludHJvQ29udGVudC1mczogMThweDtcblxuICAgICAgICAtLWhlYWRpbmcyLWZzOiAyMHB4O1xuXG4gICAgICAgIC0taGVhZGluZzMtZnM6IDIxcHg7XG5cbiAgICAgICAgLS1idG4tZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nNi1mczogMTZweDtcbiAgICAgICAgLS1kaXNjbGFpbWVyLWZzOiAxMHB4O1xuXG4gICAgICAgIC0tc3RvY2tVcEhlYWRpbmctZnM6IDI0cHg7XG4gICAgICAgIC0tc3RvY2tVcFN1YkhlYWRpbmctZnM6IDE0cHg7XG5cbiAgICAgICAgLS1zdHVkaWVzLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tZm9vdGVyLWZzOiAxNHB4O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bW9iaWxlXCIsIFwiPHRhYmxldFwiKSB7XG4gICAgICAgIC0tZGVmYXVsdC1mczogMTZweDtcbiAgICAgICAgLS1saW5lSGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgLS1oZWFkaW5nMS1mczogMzZweDtcbiAgICAgICAgLS1zdWJIZWFkaW5nMS1mczogMTRweDtcbiAgICAgICAgLS1pbnRyb0NvbnRlbnQtZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMi1mczogMjRweDtcblxuICAgICAgICAtLWhlYWRpbmczLWZzOiAyMXB4O1xuXG4gICAgICAgIC0tYnRuLWZzOiAyMHB4O1xuXG4gICAgICAgIC0taGVhZGluZzYtZnM6IDE4cHg7XG4gICAgICAgIC0tZGlzY2xhaW1lci1mczogMTJweDtcblxuICAgICAgICAtLXN0b2NrVXBIZWFkaW5nLWZzOiAyNHB4O1xuICAgICAgICAtLXN0b2NrVXBTdWJIZWFkaW5nLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tc3R1ZGllcy1mczogMTRweDtcblxuICAgICAgICAtLWZvb3Rlci1mczogMTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICAtLWRlZmF1bHQtZnM6IDE2cHg7XG4gICAgICAgIC0tbGluZUhlaWdodDogMS41O1xuXG4gICAgICAgIC0taGVhZGluZzEtZnM6IDQ4cHg7XG4gICAgICAgIC0tc3ViSGVhZGluZzEtZnM6IDE2cHg7XG4gICAgICAgIC0taW50cm9Db250ZW50LWZzOiAxOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzItZnM6IDI4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMy1mczogMjRweDtcblxuICAgICAgICAtLWJ0bi1mczogMjZweDtcblxuICAgICAgICAtLWhlYWRpbmc2LWZzOiAxOHB4O1xuICAgICAgICAtLWRpc2NsYWltZXItZnM6IDEycHg7XG5cbiAgICAgICAgLS1zdG9ja1VwSGVhZGluZy1mczogMzZweDtcbiAgICAgICAgLS1zdG9ja1VwU3ViSGVhZGluZy1mczogMTRweDtcblxuICAgICAgICAtLXN0dWRpZXMtZnM6IDE0cHg7XG5cbiAgICAgICAgLS1mb290ZXItZnM6IDE0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAtLWRlZmF1bHQtZnM6IDE2cHg7XG4gICAgICAgIC0tbGluZUhlaWdodDogMS43NTtcblxuICAgICAgICAtLWhlYWRpbmcxLWZzOiA0OHB4O1xuICAgICAgICAtLXN1YkhlYWRpbmcxLWZzOiAxNnB4O1xuICAgICAgICAtLWludHJvQ29udGVudC1mczogMThweDtcblxuICAgICAgICAtLWhlYWRpbmcyLWZzOiAyOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzMtZnM6IDI0cHg7XG5cbiAgICAgICAgLS1idG4tZnM6IDMycHg7XG5cbiAgICAgICAgLS1oZWFkaW5nNi1mczogMThweDtcbiAgICAgICAgLS1kaXNjbGFpbWVyLWZzOiAxMnB4O1xuXG4gICAgICAgIC0tc3RvY2tVcEhlYWRpbmctZnM6IDM2cHg7XG4gICAgICAgIC0tc3RvY2tVcFN1YkhlYWRpbmctZnM6IDE0cHg7XG5cbiAgICAgICAgLS1zdHVkaWVzLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tZm9vdGVyLWZzOiAxNHB4O1xuICAgIH1cbn1cblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgIDIwMDsgLy8tIExpZ2h0XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgNDAwOyAvLy0gUmVndWxhclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDYwMDsgLy8tIFNlbWktQm9sZCAvIE1lZGl1bVxuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgIDgwMDsgLy8tIEJvbGRcblxuaHRtbCB7XG4gICAgZm9udDogJGZvbnQtd2VpZ2h0LW5vcm1hbCA2Mi41JSAvIDEuMiAkbWFpbkZvbnQ7IC8vLSA2Mi41JSBtYWtlcyAnZW0nIGFuZCAncmVtJyB1bml0cyB0byBiZSBjb21wdXRlZCB0byAxMHB4IHNvIDFyZW0gd2lsbCBiZSAxMHB4IGFuZCAxLjRyZW0gd2lsbCBiZSAxNHB4XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xufVxuXG5ib2R5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZnMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0KTtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbn1cblxuaDEge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nMS1mcyk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXN1YkhlYWRpbmcxLWZzKTsgICAgICAgIFxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xuICAgIH1cbn1cblxuaDIsIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xufVxuXG5oMSwgaDIsIGgzIHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGluZ0xpbmVIZWlnaHQpO1xufVxuXG5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nMi1mcyk7XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmczLWZzKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vLSBSZWNpcGVzXG5oNCB7XG4gICAgLy8gZm9udC1mYW1pbHk6ICRtYWluRm9udDtcbiAgICAvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vLSBGQVFcbmg2IHtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmc2LWZzKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbn1cblxuc21hbGwge1xuICAgIC5oYXMtZGFya01vZGUgJiB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG4gICAgfVxuXG4gICAgLmhhcy1saWdodE1vZGUgJiB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG4gICAgfVxufVxuXG5wIHtcbiAgICAmICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG59XG5cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5pIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJob3ZlclwiLCBcImZpbmVcIikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kaXNjbGFpbWVyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWRpc2NsYWltZXItZnMpO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbn1cbiIsIi5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNob3cge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmludmlzaWJsZSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyIHtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8vLSBwcmVzZXJ2ZSB3aGl0ZXNwYWNlXHJcblxyXG4gICAgJi0tbm90LXNtYWxsLW1vYmlsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc21hbGwtbW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW1vYmlsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlJywgJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1tb2JpbGUtbWF4IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1tYXgnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS10YWJsZXQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXRhYmxldC1sYW5kc2NhcGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcsICdsYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1kZXNrdG9wIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBtb2JpbGVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ21vYmlsZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdtb2JpbGUnOiAzNzVweCxcclxuICAvLyAndGFibGV0JzogNzY4cHgsXHJcbiAgLy8gJ2Rlc2t0b3AnOiAxMDI0cHhcclxuICAnbW9iaWxlLW1pZCc6IDUyMHB4LFxyXG4gICdtb2JpbGUtbWF4JzogNTc1cHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICd0YWJsZXQtbWlkJzogODUwcHgsXHJcbiAgJ2Jvb3QtZGVza3RvcCc6IDk5MnB4LFxyXG4gICdkZXNrdG9wJzogMTAyNXB4LFxyXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweCxcclxuICAnZGVza3RvcC1tYXgnOiAxOTIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLSBtb2JpbGUgb25seVxyXG4vLy8vLSAoJzx0YWJsZXQnKSAtIG1heC13aWR0aDogNzY3cHhcclxuLy8tIHRhYmxldCBvbmx5XHJcbi8vLy8tICgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSAtIG1pbi13aWR0aDogNzY4cHg7IG1heC13aWR0aDogMTAyNHB4XHJcbi8vLSBkZXNrdG9wIG9ubHlcclxuLy8vLy0gKCc+PWRlc2t0b3AnKSAtIG1pbi13aWR0aDogMTAyNXB4XHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdob3Zlcic6ICcoaG92ZXI6IGhvdmVyKScsXHJcbiAgJ2ZpbmUnOiAnKHBvaW50ZXI6IGZpbmUpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8tIEJ1dHRvbnMgcGFydGlhbFxuW3JvbGU9J2J1dHRvbiddIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLmJ0biB7IFxuICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWJhc2lzOiBhdXRvOyBcbiAgICBcbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8tIFBhcnRpYWwgZm9yIFNWRyBzcHJpdGUgaWNvbnNcclxuLmljb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXHJcbiAgICBmaWxsOiBpbmhlcml0OyAvKiBkZWZhdWx0IGNvbG9yICovIFxyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3Igd2hlbiBjdXJyZW50Q29sb3IgaXMgdXNlZCAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsIi5mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvb3Rlci1mcyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgXG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICZfX2Rpc2NsYWltZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX3JpZ2h0cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbjpyb290IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAtLWxvZ28tZnM6IDE4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgIC0tbG9nby1mczogMTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAtLWxvZ28tZnM6IDE4MHB4O1xuICAgIH1cbn1cblxuLmhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcblxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbG9nby1mcyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaGVhZGVyLCBsb2dvLWhlaWdodCk7XG4gICAgICAgICAgICBjb2xvcjogIzI3Mzc3OTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3Qge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhcy1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRoZWFkZXIsIHNoYWRvdyk7XG4gICAgfVxufVxuXG4ubmF2IHtcbiAgICBAaW5jbHVkZSB1c2VyLXNlbGVjdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRidXJnZXIsIG1vYmlsZSwgd2lkdGgpO1xuICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLCBtb2JpbGUsIGhlaWdodCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLm1lbnUtbGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWluZGVudDogMjAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGJ1cmdlciwgbW9iaWxlLCB3aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLCBtb2JpbGUsIGhlaWdodCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAje21hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgZ2FwKSAqIDZ9ICN7bWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBnYXApICogMy41fTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgYmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgd2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCB3aWR0aCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgZ2FwKSAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcImhvdmVyXCIsIFwiZmluZVwiKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXJnZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYnVyZ2VyLWljb24sIGNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkYnVyZ2VyLWljb24sIHJhZGl1cyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIHdpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBoZWlnaHQpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAje21hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgaGVpZ2h0KSArIG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgZ2FwKSAqIDJ9IDAgbWFwLWdldCgkYnVyZ2VyLWljb24sIGNvbG9yKSxcbiAgICAgICAgICAgICAgICAwICN7KG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgaGVpZ2h0KSArIG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgZ2FwKSkgKiAzfSAwXG4gICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGJ1cmdlci1pY29uLCBjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCB3aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGhlaWdodCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICN7bWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgaGVpZ2h0KSArIG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGdhcCl9IDAgbWFwLWdldCgkYnVyZ2VyLWljb24sIGNvbG9yKSxcbiAgICAgICAgICAgICAgICAwICN7KG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGhlaWdodCkgKyBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBnYXApKSAqIDJ9IDBcbiAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkYnVyZ2VyLWljb24sIGNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtbGlzdCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIGxlZnQ6IGNhbGModmFyKC0tZ3JpZC1ndXR0ZXItd2lkdGgpIC8gLTIpO1xuICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRtZW51LCBtb2JpbGUsIHdpZHRoKTtcbiAgICAgICAgbWluLXdpZHRoOiBtYXAtZGVlcC1nZXQoJG1lbnUsIG1vYmlsZSwgbWluLXdpZHRoKTtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0b3A6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLCBkZXNrdG9wLCBoZWlnaHQpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRtZW51LCBkZXNrdG9wLCB3aWR0aCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1kZWVwLWdldCgkbWVudSwgZGVza3RvcCwgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJG1lbnUsIGJnLCBpbml0aWFsKTtcblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnUsIGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZGVlcC1nZXQoJG1lbnUsIG1vYmlsZSwgaW5uZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1kZWVwLWdldCgkbWVudSwgZGVza3RvcCwgaW5uZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCJob3ZlclwiLCBcImZpbmVcIikge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRtZW51LCBiZywgaG92ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8tIGZ1bmN0aW9uYWxpdHkgcmVsYXRlZCBtaXhpbnNcclxuQG1peGluIHVzZXItc2VsZWN0IHtcclxuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn0iLCJAaW1wb3J0IFwiZGVmYXVsdFwiO1xuXG4uY3RhLXdyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkY3RhLXNjaGVtYSwgY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIHdyYXBwZXJCYWNrZ3JvdW5kQ29sb3IpO1xuXG4gICAgc2VjdGlvbiAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICAgIH1cblxuICAgIHNlY3Rpb24gKyAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgfVxuXG4gICAgW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tY3RhV3JhcEdhcCwgMmVtKTtcbiAgICB9XG5cbiAgICAmLS1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIHZhcigtLXN0aWNreUJhckhlaWdodCkpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXN0aWNreUJhckhlaWdodCk7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJiArICoge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3RpY2t5QmFySGVpZ2h0KSAqIC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgfiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3RpY2t5QmFySGVpZ2h0KSArIHZhcigtLXNlY3Rpb24taW5uZXIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCB0aXRsZUZvbnRTaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlXCIpIHtcbiAgICAgICAgICAgIC0tY3RhVGl0bGVGb250U2l6ZTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1vYmlsZVwiLCBcIjw0MTRweFwiKSB7XG4gICAgICAgICAgICAtLWN0YVRpdGxlRm9udFNpemU6IDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj00MTRweFwiLCBcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgLS1jdGFUaXRsZUZvbnRTaXplOiAxLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5oaWRlLXRkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldC1taWRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLW10IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0LW1pZFwiKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogbWFwLWdldCgkY3RhLXN0cnVjdHVyZSwgcGFkZGluZyk7XG4gICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIGZvbnRGYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBmb250V2VpZ2h0KTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIGZvbnRTaXplKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogbWFwLWdldCgkY3RhLXNjaGVtYSwgY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1kZWVwLWdldCgkY3RhLXNjaGVtYSwgYmcsIGluaXRpYWwpO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIHJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogbWFwLWdldCgkY3RhLXNjaGVtYSwgc2hhZG93KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAuNWVtO1xuICAgIH1cblxuICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAmLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgIFtkaXNhYmxlZF0ge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBjb2xvcik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWRlZXAtZ2V0KCRjdGEtc2NoZW1hLCBiZywgaG92ZXIpO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBpY29uU2l6ZSk7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcImRlZmF1bHRcIjtcblxuLnBvcHNjcmVlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwb3BzY3JlZW4sIGJhY2tncm91bmRDb2xvcik7XG5cbiAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8tIFBvcHNjcmVlbiBIZWFkZXJcbiAgICAmX19oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAxZW0gLjVlbTtcblxuICAgICAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCBtb2JpbGUpOyAgIFxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgbW9iaWxlKTsgICBcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgdGFibGV0KTsgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIHRhYmxldCk7ICAgXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCBkZXNrdG9wKTsgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIGRlc2t0b3ApOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28taGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7ICAgICAgICAgICAgXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXBvcHNjcmVlbi1jbG9zZUJ0bi1mcywgMS41ZW0pO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJiA+IFtjbGFzc149XCJjb250YWluZXJcIl0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01dmgpO1xuICAgIH1cblxuICAgIC8vLSBwb3BzY3JlZW4gY29udGVudFxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA1MjBweCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDAgLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wb3BzY3JlZW4tdGl0bGUtZnMsIDUwcHgpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcG9wc2NyZWVuLXRpdGxlLXdnLCA4MDApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tYWluQ29sb3IpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XG4gICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMjRweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1vYmlsZVwiLCBcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBAbWVkaWEobWluLWhlaWdodDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMzhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDUwcHg7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogOTkwcHgpIHtcbiAgICAgICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXBvcHNjcmVlbi10aXRsZUluYy1mcywgMS45NWVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG5cbiAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1wb3BzY3JlZW4tc2Vjb25kSW1nLXcsIDYwdncpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLW1pZCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlLW1pZCcpIHtcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXNlY29uZEltZy13OiAyNDBweDtcblxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDk5MHB4KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzV2aDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMS4yNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogOTkwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxLjI1ZW07XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4taGVpZ2h0OiA5OTFweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDIuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBvcHNjcmVlbiB7XHJcbiAgICAtLW1haW5Db2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XHJcbiAgICAtLXBvcHNjcmVlbi1sb2dvV2lkdGhNb2I6IDIwMHB4O1xyXG4gICAgLS1wb3BzY3JlZW4tbG9nb1dpZHRoVGFiOiAyMjVweDtcclxuICAgIC0tcG9wc2NyZWVuLWxvZ29XaWR0aERlc2s6IDI1MHB4O1xyXG4gICAgXHJcbiAgICAmX19jbG9zZS1idG4ge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1tYWluQ29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xyXG4gICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1vYmlsZVwiLCBcIjx0YWJsZXRcIikge1xyXG4gICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMjhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5MDBweCkge1xyXG4gICAgICAgICAgICAgICAgLS1wb3BzY3JlZW4tbG9nb1dpZHRoRGVzazogMTUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogNDBweDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLjVlbSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlSW5jLWZzOiAxLjdlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLW1pZCcpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNHZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUtbWlkJykge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDkwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHZoO1xyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLSBwb3BzY3JlZW4gd2l0aCBtYWluIGFuZCBzZWNvbmQgaW1hZ2VzXHJcbiAgICAmLS12MDIge1xyXG4gICAgICAgICYgPiBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ydmgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAucG9wc2NyZWVuIHtcclxuICAgICAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IC41ZW07XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5MDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2ltYWdlLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgJi0tc2Vjb25kIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnBvcHNjcmVlbl9faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXBvcHNjcmVlbi1zZWNvbmRJbWctdzogNjB2dztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlLW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcG9wc2NyZWVuLXNlY29uZEltZy13OiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogOTAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNnZoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzR2dztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bW9iaWxlLW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogOTAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjJ2aDtcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi0tbGFuZHNjYXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1dnc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5MDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzJ2aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmJ0biB7XHJcbiAgICAtLWJ1dHRvbi1iZy1pbml0aWFsOiB2YXIoLS1DVEEpO1xyXG4gICAgLS1idXR0b24tYmctaG92ZXI6IGhzbCh2YXIoLS1DVEFfaCksIHZhcigtLUNUQV9zKSwgY2FsYyh2YXIoLS1DVEFfbCkgLSAzJSkpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScsICc8dGFibGV0Jyl7XHJcbiAgICAgICAgLS1idG4tZnM6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDkwMHB4KSB7XHJcbiAgICAgICAgICAgIC5wb3BzY3JlZW4gJiB7XHJcbiAgICAgICAgICAgICAgICAtLWJ0bi1mczogMjhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBvcHNjcmVlbi0tdjAyICYge1xyXG4gICAgICAgICAgICAgICAgLS1idG4tZnM6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0= */
