@import url(https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap);
.font-primary-1,#hero .hero-content .hero-headline{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:1.875rem;font-weight:800}.font-primary-1.-variant-1,#hero .hero-content .-variant-1.hero-headline{font-size:3.75rem;line-height:3.875rem}.font-primary-1.-variant-2,#hero .hero-content .-variant-2.hero-headline{font-size:5.625rem}.font-primary-1.-variant-3,#hero .hero-content .-variant-3.hero-headline{font-size:1.5625rem}.font-primary-2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:1.5rem;font-weight:400}.font-primary-2.-variant-1{font-size:1.125rem;font-style:normal}.font-primary-3,#hero .hero-content .hero-sub{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:1.25rem;font-weight:500;font-style:normal}.font-primary-4,#hero .top-banner.-mini .container .banner .buy-now{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:0.875rem;font-weight:600;font-style:normal}.font-secondary-1,#hero .top-banner.-mini .container .cta .btn{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:0.9375rem;font-weight:600}.font-secondary-1.-variant-1,#hero .top-banner.-mini .container .cta .-variant-1.btn{font-style:normal}.font-secondary-1.-variant-2,#hero .top-banner.-mini .container .cta .-variant-2.btn{font-size:0.625rem}.font-secondary-2{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:0.8125rem;font-weight:400}.font-secondary-2.-variant-1{font-size:1rem}.font-secondary-3{font-family:var(--ps-font-primary, Poppins, sans-serif);font-weight:300}.font-special{font-family:"Kaushan Script",cursive;font-size:2.5rem;font-weight:400}.font-special2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:2.5rem;font-weight:800;letter-spacing:0.25rem}#hero{--ps-hb-color-headline: var(--ps-color-text-inverse, #ffffff);--ps-hb-color-sub: var(--ps-color-text-inverse, #ffffff);--ps-hb-color-cta-bg: var(--ps-color-primary, #001877);--ps-hb-color-cta-text: var(--ps-color-text-inverse, #ffffff);--ps-hb-color-overlay: #00000096;--ps-hb-font-heading: var(--ps-font-heading, Montserrat, sans-serif);position:relative;margin-top:var(--ps-hb-margin-top, 3.6875rem)}#hero .news-container a{color:#fff}#hero .news-container .news-item-header{color:#ff0;max-width:540px;margin:0 auto;text-align:center;word-wrap:break-word;font-size:30px;margin-top:40px}@media(max-width: 1280px)and (max-height: 1024px){#hero .news-container .news-item-header{font-size:20px;max-width:70%}}@media(max-width: 1024px)and (max-height: 786px){#hero .news-container .news-item-header{font-size:20px;max-width:90%}}#hero .news-container .news-item-body .title{max-width:60%;margin:0 auto;text-align:center;word-wrap:break-word;font-weight:700;text-decoration:underline}#hero .news-container figure img{height:50%;max-height:861px;border:1px solid #fff}@media(max-width: 2560px)and (max-height: 1440px){#hero .news-container figure img{max-height:641px}}@media(max-width: 1920px)and (max-height: 1080px){#hero .news-container figure img{max-height:461px}}@media(max-width: 1280px)and (max-height: 1024px){#hero .news-container figure img{max-height:431px}}@media(max-width: 1024px)and (max-height: 786px){#hero .news-container figure img{max-height:361px}}#hero .top-banner{width:100%;text-align:center}#hero .top-banner img{max-width:100%;width:auto;height:auto}#hero .top-banner.-mini{padding:0}#hero .top-banner.-mini.-hero{position:absolute;top:6.25rem;z-index:10}#hero .top-banner.-mini .container{width:41.6875rem;padding:1.0625rem 1.875rem;background-color:var(--ps-hb-color-overlay, rgba(0, 0, 0, 0.5882352941))}#hero .top-banner.-mini .container:hover .banner{display:none}#hero .top-banner.-mini .container:hover .cta{display:block}#hero .top-banner.-mini .container .banner .spacer{font-size:1.875rem}#hero .top-banner.-mini .container .banner .buy-now{font-size:1rem;line-height:1rem}#hero .top-banner.-mini .container .banner .logo{padding:0}#hero .top-banner.-mini .container .banner .logo-paybright{width:10.5rem}#hero .top-banner.-mini .container .banner .financing{font-size:1rem;line-height:1rem}#hero .top-banner.-mini .container .cta{display:none;text-align:center}#hero .top-banner.-mini .container .cta .btn{font-size:1.875rem;color:var(--ps-color-primary, #001877);text-decoration:none;padding:0}#hero .hero-content{position:absolute;top:var(--ps-hb-content-top, 35%);left:0;right:0;transform:translateY(var(--ps-hb-content-shift, -55%));overflow:visible;z-index:2;padding:1.25rem;padding-top:var(--ps-hb-content-pad, 4.375rem)}@media(max-width: 991.98px){#hero .hero-content{padding-top:var(--ps-hb-content-pad, 4.0625rem);top:var(--ps-hb-content-top, 40%);transform:translateY(var(--ps-hb-content-shift, -50%))}}@media screen and (max-width: 480px){#hero .hero-content{padding-top:var(--ps-hb-content-pad, 3.4375rem);top:var(--ps-hb-content-top, 38%);transform:translateY(var(--ps-hb-content-shift, -48%))}}.blog #hero .hero-content{top:50%;transform:translateY(-50%)}#hero .hero-content .hero-headline{color:var(--ps-hb-color-headline, #fff);font-family:var(--ps-hb-font-heading, Montserrat, sans-serif);transform:translate3d(0, -100%, 0);opacity:0;font-size:1.875rem;line-height:1.875rem}#hero .hero-content .hero-headline.-image img{max-width:90vw;height:auto}@media(min-width: 992px){#hero .hero-content .hero-headline{font-size:5.625rem;line-height:5.625rem}}@media(min-width: 768px)and (max-width: 991.98px){#hero .hero-content .hero-headline{font-size:4.375rem;line-height:4.375rem}}@media(min-width: 576px)and (max-width: 767.98px){#hero .hero-content .hero-headline{font-size:3.4375rem;line-height:3.4375rem}}#hero .hero-content .hero-sub{color:var(--ps-hb-color-sub, #fff);font-family:var(--ps-hb-font-sub, Montserrat, sans-serif);letter-spacing:var(--ps-hb-sub-spacing, normal);text-transform:uppercase;transform:translate3d(0, 100%, 0);opacity:0;margin-top:1.25rem;font-size:var(--ps-hb-sub-size-m, var(--ps-hb-sub-size, 0.875rem));line-height:var(--ps-hb-sub-lh, 1rem)}@media(min-width: 992px){#hero .hero-content .hero-sub{font-size:var(--ps-hb-sub-size, 1.25rem);line-height:var(--ps-hb-sub-lh, 1.375rem)}}@media(min-width: 768px)and (max-width: 991.98px){#hero .hero-content .hero-sub{font-size:var(--ps-hb-sub-size-m, var(--ps-hb-sub-size, 1rem));line-height:var(--ps-hb-sub-lh, 1.125rem)}}#hero .hero-content .hero-sub.spacing{margin-top:1.25rem}@keyframes heroSlideDown{from{opacity:0;transform:translate3d(0, -100%, 0)}to{opacity:1;transform:translate3d(0, 0, 0)}}@keyframes heroSlideUp{from{opacity:0;transform:translate3d(0, 100%, 0)}to{opacity:1;transform:translate3d(0, 0, 0)}}#hero .swiper-slide-active .hero-headline{animation:heroSlideDown .8s ease-out .3s forwards}#hero .swiper-slide-active .hero-sub{animation:heroSlideUp .8s ease-out .5s forwards}#hero:not(:has(.swiper-scale-effect:not(.smaller))) .swiper-slide-active .hero-headline{animation:heroSlideDown .8s ease-out .3s forwards}#hero:not(:has(.swiper-scale-effect:not(.smaller))) .swiper-slide-active .hero-sub{animation:heroSlideUp .8s ease-out .5s forwards}#hero .swiper-container{width:100%;height:var(--ps-hb-height, 100vh);max-height:var(--ps-hb-max-h, 900px);min-height:var(--ps-hb-min-h, 31.25rem)}@media(max-width: 991.98px){#hero .swiper-container{height:var(--ps-hb-height-m, 80vh);max-height:var(--ps-hb-max-h-m, 700px);min-height:var(--ps-hb-min-h-m, 28.125rem)}}@media screen and (max-width: 750px){#hero .swiper-container{height:var(--ps-hb-height-m, 85vh);max-height:var(--ps-hb-max-h-m, 650px);min-height:var(--ps-hb-min-h-m, 25rem)}}@media screen and (max-width: 480px){#hero .swiper-container{height:var(--ps-hb-height-m, 80vh);max-height:var(--ps-hb-max-h-m, 600px);min-height:var(--ps-hb-min-h-m, 23.75rem)}}#hero .swiper-container.smaller{height:29vh;min-height:20.625rem}@media screen and (max-width: 750px){#hero .swiper-container.smaller{height:55vh}}@media screen and (max-width: 320px){#hero .swiper-container.smaller{height:500px}}#hero .swiper-slide{text-align:center;font-size:18px;display:flex;justify-content:center;align-items:center;overflow:hidden}#hero .swiper-slide>.swiper-slide-cover{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,0) no-repeat 50% 50%/cover}#hero .swiper-slide>.swiper-slide-cover.overlay:after{position:absolute;content:"";width:100%;height:100%;background:rgba(0,0,0,.6509803922);top:0;left:0}#hero .swiper-slide>.swiper-slide-cover .overlay{content:"";position:absolute;top:0;left:0;width:100%;height:100%;display:block;background:#000;opacity:.7}#hero .hero-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0}#hero .swiper-slide .ps-hb-cover,#hero .swiper-slide .slide1,#hero .swiper-slide .slide2{transform-origin:center}#hero .swiper-slide .ps-hb-cover::after,#hero .swiper-slide .slide1::after,#hero .swiper-slide .slide2::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, var(--ps-hb-overlay, 0.68));z-index:1}#hero .hero-slide-link{position:absolute;inset:0;z-index:1}#hero .ps-hb__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:2.875rem;height:2.875rem;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:1.75rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease-out}#hero .ps-hb__arrow:hover{background:rgba(0,0,0,.6)}#hero .ps-hb__arrow--prev{left:1rem}#hero .ps-hb__arrow--next{right:1rem}@media(max-width: 767.98px){#hero .ps-hb__arrow{width:2.125rem;height:2.125rem;font-size:1.375rem}}#hero .ps-hb__dots{position:absolute;bottom:0.875rem;left:0;right:0;z-index:5;text-align:center}#hero .ps-hb__dots .swiper-pagination-bullet{background:#fff;opacity:.5}#hero .ps-hb__dots .swiper-pagination-bullet-active{opacity:1}#hero .swiper-scale-effect .swiper-slide-cover{transform:scale(1.1)}#hero .swiper-scale-effect .swiper-slide.swiper-slide-scale .swiper-slide-cover{transition:6s ease-out;transform:scale(1)}#hero .swiper-button-next:after,#hero .swiper-rtl .swiper-button-prev:after,#hero .swiper-button-prev:after,#hero .swiper-rtl .swiper-button-next:after{color:var(--ps-color-neutral, #ffffff)}#hero .ps-hb-vehicle-overlap{position:relative;z-index:1000;width:100%;margin-top:calc(-1*var(--ps-hb-picker-overlap, 260px) + var(--ps-hb-picker-push, 0px));margin-bottom:var(--ps-hb-picker-gap, 0px)}@media(max-width: 1199.98px){#hero .ps-hb-vehicle-overlap{margin-top:calc(-1*var(--ps-hb-picker-overlap-m, var(--ps-hb-picker-overlap, 200px)) + var(--ps-hb-picker-push, 0px))}}#hero .ps-hb-vehicle-overlap .ps-hb-vehicle-overlap__container{max-width:950px;margin:0 auto}@media(min-width: 576px)and (max-width: 767.98px){#hero{margin-bottom:6.25rem}#hero.ps-hb--has-picker{margin-bottom:0}#hero .swiper-container.smaller{height:25vh}}@media(max-width: 575.98px){#hero{margin-bottom:6.25rem}#hero.ps-hb--has-picker{margin-bottom:0}}#hero .promo-banner{width:100%;display:flex;justify-content:center;padding:0 1rem;margin:0 auto 1.25rem;z-index:12}#hero .promo-banner picture,#hero .promo-banner img{display:block;width:100%;height:auto;max-width:80rem;border-radius:0.5rem;box-shadow:0 0 1.5rem rgba(0,0,0,.35)}#hero .hero-content:has(.promo-banner){top:5%;transform:none}#hero .hero-content:has(.promo-banner) .hero-headline{margin-top:0.5rem}#hero .hero-content:has(.promo-banner) .hero-sub{margin-top:0.5rem}@media(max-width: 991.98px){#hero .hero-content:has(.promo-banner){top:2%}}#hero .hero-cta{margin-top:1.125rem;text-align:center}#hero .hero-cta .btn{--bs-btn-color: var(--ps-hb-color-cta-text, #fff);--bs-btn-hover-color: var(--ps-hb-color-cta-text, #fff);--bs-btn-bg: var(--ps-hb-color-cta-bg, #001877);--bs-btn-border-color: var(--ps-hb-color-cta-bg, #001877);--bs-btn-hover-bg: var(--ps-hb-color-cta-bg, #001465);--bs-btn-hover-border-color: var(--ps-hb-color-cta-bg, #00135f);font-size:1.125rem;padding:0.75rem 2.25rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border:2px solid rgba(255,255,255,.3);transition:all .3s ease}#hero .hero-cta .btn:hover{border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.3)}@media(max-width: 991.98px){#hero .hero-cta{margin-top:0.75rem}#hero .hero-cta .btn{font-size:0.9375rem;padding:0.625rem 1.75rem}}#hero .trust-badges{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap;margin-top:0.9375rem;font-size:0.6875rem;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.5px}#hero .trust-badges span{display:inline-flex;align-items:center;gap:0.3125rem}#hero .trust-badges span i{font-size:0.875rem;color:#fff}@media(max-width: 991.98px){#hero .trust-badges{gap:0.625rem;font-size:0.5625rem}}@media screen and (max-width: 480px){#hero .trust-badges{gap:0.5rem 0.375rem;font-size:0.5rem}}#hero .visualizer-cta{margin-top:1.5rem;display:flex;justify-content:center}@media(max-width: 991.98px){#hero .visualizer-cta{margin-top:1rem}}#hero .visualizer-cta__link{display:block;text-decoration:none !important;color:#fff !important;max-width:32.5rem;width:100%}#hero .visualizer-cta__inner{display:flex;align-items:center;gap:1rem;padding:0.875rem 1.375rem;background:rgba(0,0,0,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:0.75rem;transition:all .35s ease;cursor:pointer}#hero .visualizer-cta__inner:hover{background:rgba(0,0,0,.7);border-color:rgba(255,255,255,.35);transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.4)}#hero .visualizer-cta__inner:hover .visualizer-cta__arrow i{transform:translateX(4px)}#hero .visualizer-cta__inner:hover .visualizer-cta__icon svg{transform:rotate(45deg)}@media(max-width: 991.98px){#hero .visualizer-cta__inner{padding:0.75rem 1rem;gap:0.75rem}}#hero .visualizer-cta__icon{flex-shrink:0;color:#f44;display:flex;align-items:center;justify-content:center}#hero .visualizer-cta__icon svg{transition:transform .6s ease;width:3.5rem;height:3.5rem}@media(max-width: 991.98px){#hero .visualizer-cta__icon svg{width:2.75rem;height:2.75rem}}#hero .visualizer-cta__text{flex:1;display:flex;flex-direction:column;gap:0.125rem;min-width:0}#hero .visualizer-cta__badge{display:inline-block;width:fit-content;font-size:0.5625rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;background:linear-gradient(135deg, #cc0000, #ff3333);color:#fff;padding:0.125rem 0.5rem;border-radius:0.1875rem;line-height:1.4}#hero .visualizer-cta__title{font-family:"Oswald",sans-serif;font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;color:#fff}@media(max-width: 991.98px){#hero .visualizer-cta__title{font-size:0.9375rem}}#hero .visualizer-cta__desc{font-size:0.75rem;color:rgba(255,255,255,.7);line-height:1.3}@media(max-width: 991.98px){#hero .visualizer-cta__desc{font-size:0.6875rem}}#hero .visualizer-cta__arrow{flex-shrink:0;font-size:1.375rem;color:rgba(255,255,255,.5)}#hero .visualizer-cta__arrow i{transition:transform .3s ease}@media(max-width: 991.98px){#hero .visualizer-cta__arrow{font-size:1.125rem}}
@font-face{font-family:"swiper-icons";src:url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}
.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}
.swiper-pagination{position:absolute;text-align:center;transition:300ms opacity;transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(0.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, 0.2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none !important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px, -50%, 0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:200ms transform,200ms top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9jb21wb25lbnQtaGVyby1iYW5uZXItZGVmYXVsdC4zMDIxMTkyNzgwY2ZiMDIwZmJjMi5jc3MiLCJtYXBwaW5ncyI6IjtBQXNDQSxtREFDSSwwREFSb0IsQ0FTcEIsbUJBQ0EsZ0JBQ0EseUVBQ0ksa0JBQ0EscUJBRUoseUVBQ0ksbUJBRUoseUVBQ0ksb0JBR1IsZ0JBQ0ksMERBdkJvQixDQXdCcEIsaUJBQ0EsZ0JBRUEsMkJBQ0ksbUJBQ0Esa0JBR1IsOENBQ0ksMERBakNvQixDQWtDcEIsa0JBQ0EsZ0JBQ0Esa0JBRUosb0VBQ0ksMERBdkNvQixDQXdDcEIsbUJBQ0EsZ0JBQ0Esa0JBR0osK0RBQ0ksdURBN0NvQixDQThDcEIsb0JBQ0EsZ0JBR0EscUZBQ0ksa0JBRUoscUZBQ0ksbUJBR1Isa0JBQ0ksdURBMURvQixDQTJEcEIsb0JBQ0EsZ0JBQ0EsNkJBQ0ksZUFHUixrQkFDSSx1REFsRW9CLENBbUVwQixnQkFHSixjQUNJLG9DQXRFa0IsQ0F1RWxCLGlCQUNBLGdCQUdKLGVBQ0ksMERBOUVvQixDQStFcEIsaUJBQ0EsZ0JBQ0EsdUJDL0ZKLE1BSUUsOERBQ0EseURBQ0EsdURBQ0EsOERBQ0EsaUNBQ0EscUVBRUEsa0JBR0EsOENBR0Usd0JBQ0UsV0FHRix3Q0FDRSxXQUNBLGdCQUNBLGNBQ0Esa0JBQ0EscUJBQ0EsZUFDQSxnQkFHQSxrREFWRix3Q0FXSSxlQUNBLGVBRUYsaURBZEYsd0NBZUksZUFDQSxlQU9GLDZDQUNFLGNBQ0EsY0FDQSxrQkFDQSxxQkFDQSxnQkFDQSwwQkFNRixpQ0FDRSxXQUNBLGlCQUNBLHNCQUVBLGtEQUxGLGlDQU1JLGtCQUVGLGtEQVJGLGlDQVNJLGtCQUVGLGtEQVhGLGlDQVlJLGtCQUVGLGlEQWRGLGlDQWVJLGtCQU9SLGtCQUNFLFdBQ0Esa0JBRUEsc0JBQ0UsZUFDQSxXQUNBLFlBR0Ysd0JBQ0UsVUFDQSw4QkFDRSxrQkFDQSxZQUNBLFdBSUYsbUNBQ0UsaUJBQ0EsMkJBQ0EseUVBRUUsaURBQ0UsYUFF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dUNBR0YsK0JBQ0UsMkJBQ0Esa0JBQ0EsbUVBQ0UscUVBQ0Esa0JBQ0EsT0FDQSxNQUNBLFdBQ0EsWUFDQSxtQkFDQSwwQkFFRiwrRUFDRSwyQkFFRixzU0FJRSxXQUNBLFdBQ0EsT0FDQSxNQUVGLHNTQUlFLFVBQ0EsWUFDQSxPQUNBLE1BR0osd0JBQ0UsYSIsInNvdXJjZXMiOlsid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9zdHlsZXMvYmFzZS9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9oZXJvLWJhbm5lci9kZWZhdWx0L2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL3N0eWxlcy92YXJpYW50cy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvX2NhdGFsb2cvX2dsb2JhbHMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uL25vZGVfbW9kdWxlcy9zd2lwZXIvbW9kdWxlcy9lZmZlY3QtZmFkZS9lZmZlY3QtZmFkZS5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uL25vZGVfbW9kdWxlcy9zd2lwZXIvbW9kdWxlcy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1CbGFjaytPcHMrT25lJmRpc3BsYXk9c3dhcCcpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2l0ZSB0eXBlIGZhbWlsaWVzIOKAlCBUT0tFTi1CQUNLRUQgKDIwMjYtMDktMDUsIG93bmVyIHJlcXVlc3Q6IFwidGhlIGhvbWVwYWdlXG4vLyBoZWFkaW5ncyBhbmQgdGhlIEdldCBJbiBUb3VjaCBiYW5kIHNob3VsZCBwdWxsIHRoZSBzaXRlJ3MgaGVhZGluZyBmb250XCIpLlxuLy9cbi8vIE1pcnJvcnMgdmFyaWFudHMvX2NvbG9ycy5zY3NzOiBldmVyeSBmYW1pbHkgdmFyIHJlc29sdmVzIHRvIGEgVGhlbWUgQnVpbGRlclxuLy8gR0xPQkFMIHR5cG9ncmFwaHkgdG9rZW4gd2l0aCB0aGUgaGlzdG9yaWNhbCBsaXRlcmFsIGFzIHRoZSB2YXIoKSBmYWxsYmFjayxcbi8vIHNvIGEgc2l0ZSB0aGF0IGhhcyBuZXZlciBwdWJsaXNoZWQgYSBmb250IHRva2VuIHJlbmRlcnMgYnl0ZS1pZGVudGljYWxseVxuLy8gKE1vbnRzZXJyYXQgaGVhZGluZ3MgLyBQb3BwaW5zIGJvZHkpIOKAlCBhbmQgYSBzaXRlIHRoYXQgSEFTIChOYWRlcjogQmFybG93XG4vLyBDb25kZW5zZWQgKyBIb3N0IEdyb3Rlc2spIGdldHMgaXQgZXZlcnl3aGVyZSB0aGUgbGFkZGVyIGJlbG93IGlzIHdvcm5cbi8vICguZm9udC1wcmltYXJ5LSogLyAuZm9udC1zZWNvbmRhcnktKiwgYW5kIGV2ZXJ5IGBmb250LWZhbWlseTogJGZvbnQt4oCmYCkuXG4vL1xuLy8gTWFwcGluZyDigJQgdGhlIGJ1aWxkZXIncyB0d28gdG9rZW5zIGFyZSBuYW1lZCBmb3IgdGhlaXIgUk9MRSwgdGhlIFNhc3MgdmFyc1xuLy8gZm9yIHRoZWlyIGhpc3RvcmljYWwgcmFuaywgYW5kIHRoZSB0d28gZG8gbm90IGxpbmUgdXAgYnkgbmFtZTpcbi8vICAgJGZvbnQtZmFtaWx5LXByaW1hcnkgICAoTW9udHNlcnJhdCwgdGhlIGRpc3BsYXkvaGVhZGluZyBmYWNlKVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICDihpAgLS1wcy1mb250LWhlYWRpbmcgIFwiSGVhZGluZyBGb250XCJcbi8vICAgJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAoUG9wcGlucywgdGhlIGJvZHkgZmFjZSlcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAg4oaQIC0tcHMtZm9udC1wcmltYXJ5ICBcIlByaW1hcnkgRm9udFwiXG4vLyBUaGlzIGlzIHRoZSBzYW1lIHBhaXJpbmcgdGhlIGhlcm8tYmFubmVyIGFuZCB2ZWhpY2xlLXNlbGVjdCBicmlkZ2VzIGFscmVhZHlcbi8vIHVzZWQgYmVmb3JlIHRoaXMgZmlsZSB3YXMgdG9rZW5pemVkLlxuLy9cbi8vIFRoZSAqLXN0YXRpYyBsaXRlcmFscyBleGlzdCBmb3IgdGhlIGZldyBwbGFjZXMgdGhhdCBuZWVkIGEgcGxhaW4gZmFtaWx5XG4vLyBsaXN0IHJhdGhlciB0aGFuIGEgdmFyKCk6IGNvbXBvbmVudCBicmlkZ2VzIHRoYXQgd3JhcCB0aGUgU0FNRSB0b2tlbiBhZ2FpblxuLy8gKHByb2R1Y3QtY2FyZCAvIHZlaGljbGUtc2VsZWN0IC8gaGVyby1iYW5uZXIgZmFsbGJhY2tzIOKAlCBuZXN0aW5nIHRoZSB0b2tlblxuLy8gaW5zaWRlIGl0cyBvd24gZmFsbGJhY2sgd291bGQgYmUgY2lyY3VsYXItbG9va2luZyBhbmQgbWlzLXNjb3BlIHRoZVxuLy8gaGVhZGluZyB0b2tlbiBvbnRvIGJvZHkgdGV4dCBvbiBhIHNpdGUgdGhhdCBzZXRzIG9ubHkgb25lIG9mIHRoZSB0d28pLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmb250LWZhbWlseS1wcmltYXJ5LXN0YXRpYzogICAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5LXN0YXRpYzogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1mYW1pbHktcHJpbWFyeTogICB2YXIoLS1wcy1mb250LWhlYWRpbmcsICN7JGZvbnQtZmFtaWx5LXByaW1hcnktc3RhdGljfSk7XG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiB2YXIoLS1wcy1mb250LXByaW1hcnksICN7JGZvbnQtZmFtaWx5LXNlY29uZGFyeS1zdGF0aWN9KTtcbiRmb250LWZhbWlseS1zcGVjaWFsOiAnS2F1c2hhbiBTY3JpcHQnLCBjdXJzaXZlO1xuJGZvbnQtZmFtaWx5LWJsa29wczogJ0JsYWNrIE9wcyBPbmUnLCBjdXJzaXZlO1xuLy8gTGVnYWN5IGFsaWFzIChvbmx5IF9jb250YWN0LnNjc3Mgc3RpbGwgcmVhZHMgaXQpIOKAlCBzYW1lIHRva2VuIGFzIHByaW1hcnkuXG4kZm9udC1oZWFkZXJzOiAkZm9udC1mYW1pbHktcHJpbWFyeTtcblxuLmZvbnQtcHJpbWFyeS0xIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDMwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IC8vZXh0cmFib2xkXG4gICAgJi4tdmFyaWFudC0xIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDYwcHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtYyg2MnB4KTtcbiAgICB9XG4gICAgJi4tdmFyaWFudC0yIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDkwcHgpO1xuICAgIH1cbiAgICAmLi12YXJpYW50LTMge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMjVweCk7XG4gICAgfVxufVxuLmZvbnQtcHJpbWFyeS0yIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDI0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IC8vcmVndWxhclxuICAgIC8vZm9udC1zdHlsZTogaXRhbGljO1xuICAgICYuLXZhcmlhbnQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygxOHB4KTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cbi5mb250LXByaW1hcnktMyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygyMHB4KTtcbiAgICBmb250LXdlaWdodDogNTAwOyAvL21lZGl1bVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mb250LXByaW1hcnktNCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygxNHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwOyAvL3NlbWlib2xkXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uZm9udC1zZWNvbmRhcnktMSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDE1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IC8vbWVkaXVtXG4gICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICYuLXZhcmlhbnQtMSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gICAgJi4tdmFyaWFudC0yIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDEwcHgpO1xuICAgIH1cbn1cbi5mb250LXNlY29uZGFyeS0yIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMTNweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgLy9yZWd1bGFyXG4gICAgJi4tdmFyaWFudC0xIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDE2cHgpO1xuICAgIH1cbn1cbi5mb250LXNlY29uZGFyeS0zIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogMzAwOyAvL2xpZ2h0XG59XG5cbi5mb250LXNwZWNpYWwge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc3BlY2lhbDtcbiAgICBmb250LXNpemU6IHJlbWMoNDBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvbnQtc3BlY2lhbDIge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoNDBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtYyg0cHgpO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSEVSTy1CQU5ORVIg4oCUIHZhcmlhbnQgXCJkZWZhdWx0XCJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEV4dHJhY3RlZCBWRVJCQVRJTSBmcm9tIF9oZXJvLnNjc3MgKFJvdW5kIDEyIHN3ZWVwKSBzbyB0aGVcbi8vIGNvbXBvbmVudCBpcyBzZWxmLWNvbnRhaW5lZDsgY29tcGlsZXMgdG8gY29tcG9uZW50LWhlcm8tYmFubmVyLWRlZmF1bHQuY3NzIGFuZFxuLy8gaXMgZW1pdHRlZCBvbi1kZW1hbmQgYnkgdGhlIGJ1aWxkZXIgcmVuZGVyZXIgKHRoZSBnbG9iYWwgc3R5bGVzaGVldCBub1xuLy8gbG9uZ2VyIGNhcnJpZXMgdGhlc2UgcnVsZXMpLlxuLy9cbi8vIFByZWx1ZGU6IHRoZW1lIGNvbG9ycy9icmVha3BvaW50cyB2aWEgX2NhdGFsb2cvZ2xvYmFsczsgdGhlIHNpdGUncyByZWFsXG4vLyByZW1jKCk7IHRoZSAuZm9udC0qIHV0aWxpdHkgY2xhc3NlcyAoQGV4dGVuZCB0YXJnZXRzKSDigJQgcmUtZW1pdHRlZCBpbiB0aGlzXG4vLyBidW5kbGUgKH4xS0IsIGhhcm1sZXNzIGR1cGxpY2F0ZSBvZiB0aGUgZ2xvYmFsIGNvcGllcykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2NhdGFsb2cvZ2xvYmFscyc7XG5AaW1wb3J0ICdzdHlsZXMvYmFzZS9mdW5jdGlvbnMnO1xuQGltcG9ydCAnc3R5bGVzL2Jhc2UvZm9udHMnO1xuXG4jaGVybyB7XG4gIC8vIOKUgOKUgCBTdHlsZS10YWIgdG9rZW4gYnJpZGdlIChSb3VuZCAxNCwgU1RZTEVfT1ZFUlJJREVTX1JFUE9SVC5tZCAjMikg4pSA4pSAXG4gIC8vIGNvbXBvbmVudCB0b2tlbiDihpAgZ2xvYmFsIHRoZW1lIHRva2VuIOKGkCBicmFuZC1mYWxsYmFjayBsaXRlcmFsLiBQZXItYmxvY2tcbiAgLy8gb3ZlcnJpZGVzIGZyb20gdGhlIGVkaXRvciBsYW5kIGFzICNibGtf4oCmIHsgLS1wcy1oYi0qOiB2YWx1ZSB9IGFuZCB3aW4uXG4gIC0tcHMtaGItY29sb3ItaGVhZGxpbmU6IHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG4gIC0tcHMtaGItY29sb3Itc3ViOiAgICAgIHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG4gIC0tcHMtaGItY29sb3ItY3RhLWJnOiAgIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICN7JGNvbG9yX3ByaW1hcnlfaGV4fSk7XG4gIC0tcHMtaGItY29sb3ItY3RhLXRleHQ6IHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG4gIC0tcHMtaGItY29sb3Itb3ZlcmxheTogICMwMDAwMDA5NjsgLy8gc3RhbmRhbG9uZSDigJQgdGhlIGhlcm8gcHJvbW8gb3ZlcmxheSBpcyBsaWdodGVyIHRoYW4gdGhlIHNpdGUncyAtLXBzLWNvbG9yLW92ZXJsYXktZGFyayAoODAlKTsgZWRpdGFibGUgcGVyLWJsb2NrIHZpYSB0aGUgU3R5bGUgdGFiXG4gIC0tcHMtaGItZm9udC1oZWFkaW5nOiAgIHZhcigtLXBzLWZvbnQtaGVhZGluZywgI3skZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWN9KTsgLy8gbGl0ZXJhbDogJGZvbnQtZmFtaWx5LXByaW1hcnkgaXMgaXRzZWxmIHZhcigtLXBzLWZvbnQtaGVhZGluZywg4oCmKSBzaW5jZSAyMDI2LTA5LTA1XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBSb3VuZCAyMzogdGhlbWVhYmxlIOKAlCAwcHggbGV0cyB0aGUgaGVybyBzbGlkZSBiZWhpbmQgdGhlIGZpeGVkIGhlYWRlclxuICAvLyAoY2xhc3NpYyBmdWxsLWJsZWVkIGhlcm9lcyBsaWtlIEpJUykuIEZhbGxiYWNrID0gbGVnYWN5IE5QT1RHIG9mZnNldC5cbiAgbWFyZ2luLXRvcDogdmFyKC0tcHMtaGItbWFyZ2luLXRvcCwgI3tyZW1jKDU5cHgpfSk7XG5cbiAgLm5ld3MtY29udGFpbmVyIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5uZXdzLWl0ZW0taGVhZGVyIHtcbiAgICAgIGNvbG9yOiB5ZWxsb3c7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4OyAvKiBTZXQgYSBtYXgtd2lkdGggZm9yIHRoZSB0aXRsZSAqL1xuICAgICAgbWFyZ2luOiAwIGF1dG87IC8qIENlbnRlciB0aGUgdGl0bGUgKi9cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgLyogT3B0aW9uYWw6IENlbnRlciB0ZXh0IHdpdGhpbiB0aGUgdGl0bGUgYmxvY2sgKi9cbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLyogRW5zdXJlIGxvbmcgd29yZHMgd3JhcCB3aXRoaW4gdGhlIGNvbnRhaW5lciAqL1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSBhbmQgKG1heC1oZWlnaHQ6IDEwMjRweCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtYXgtaGVpZ2h0OiA3ODZweCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAubmV3cy1pdGVtLWJvZHkge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7IC8qIFNldCBhIG1heC13aWR0aCBmb3IgdGhlIHRpdGxlICovXG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyAvKiBDZW50ZXIgdGhlIHRpdGxlICovXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgLyogT3B0aW9uYWw6IENlbnRlciB0ZXh0IHdpdGhpbiB0aGUgdGl0bGUgYmxvY2sgKi9cbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOyAvKiBFbnN1cmUgbG9uZyB3b3JkcyB3cmFwIHdpdGhpbiB0aGUgY29udGFpbmVyICovXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA4NjFweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDI1NjBweCkgYW5kIChtYXgtaGVpZ2h0OiAxNDQwcHgpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA2NDFweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTkyMHB4KSBhbmQgKG1heC1oZWlnaHQ6IDEwODBweCkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDQ2MXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LWhlaWdodDogMTAyNHB4KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNDMxcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtYXgtaGVpZ2h0OiA3ODZweCkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDM2MXB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9wLWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50ZXIgaXRzIGNvbnRlbnRzIGhvcml6b250YWxseSAqL1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuLW1pbmkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgICYuLWhlcm8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtYygxMDApO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgLy9sZWZ0OiA1MCU7XG4gICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiByZW1jKDY2Nyk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWMoMTcsIDMwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHMtaGItY29sb3Itb3ZlcmxheSwgIzAwMDAwMDk2KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmJhbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyIHtcbiAgICAgICAgICAuc3BhY2VyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygzMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idXktbm93IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmZvbnQtcHJpbWFyeS00O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1jKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW1jKDE2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICYtcGF5YnJpZ2h0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbWMoMTY4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZpbmFuY2luZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWMoMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY3RhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmZvbnQtc2Vjb25kYXJ5LTE7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWMoMzApO1xuICAgICAgICAgICAgY29sb3I6JGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZXJvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBQb3NpdGlvbmVkIGluIHVwcGVyIHBvcnRpb24gb2YgaGVybywgY2xlYXJpbmcgdGhlIGZpeGVkIG5hdmJhciAqL1xuICAgIC8qIFJvdW5kIDIzOiBwb3NpdGlvbiB0aGVtZWFibGUgKC0tcHMtaGItY29udGVudC10b3AgLyAtc2hpZnQpLiAqL1xuICAgIHRvcDogdmFyKC0tcHMtaGItY29udGVudC10b3AsIDM1JSk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tcHMtaGItY29udGVudC1zaGlmdCwgLTU1JSkpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogcmVtYygyMHB4KTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcHMtaGItY29udGVudC1wYWQsICN7cmVtYyg3MHB4KX0pOyAvKiBDbGVhciB0aGUgZml4ZWQgbmF2YmFyICovXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wcy1oYi1jb250ZW50LXBhZCwgI3tyZW1jKDY1cHgpfSk7XG4gICAgICB0b3A6IHZhcigtLXBzLWhiLWNvbnRlbnQtdG9wLCA0MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLXBzLWhiLWNvbnRlbnQtc2hpZnQsIC01MCUpKTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wcy1oYi1jb250ZW50LXBhZCwgI3tyZW1jKDU1cHgpfSk7XG4gICAgICB0b3A6IHZhcigtLXBzLWhiLWNvbnRlbnQtdG9wLCAzOCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLXBzLWhiLWNvbnRlbnQtc2hpZnQsIC00OCUpKTtcbiAgICB9XG4gICAgLmJsb2cgJiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLmhlcm8taGVhZGxpbmUge1xuICAgICAgQGV4dGVuZCAuZm9udC1wcmltYXJ5LTE7XG4gICAgICBjb2xvcjogdmFyKC0tcHMtaGItY29sb3ItaGVhZGxpbmUsICNmZmYpO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXBzLWhiLWZvbnQtaGVhZGluZywgI3skZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWN9KTtcbiAgICAgIC8vIFJvdW5kIDIzOiBpbWFnZSBoZWFkbGluZSAobG9nbyBpbnN0ZWFkIG9mIHRleHQpIOKAlCB0aGUgaW1nIGNhcnJpZXMgYW5cbiAgICAgIC8vIGlubGluZSB3aWR0aCBmcm9tIHRoZSBibG9jayBzZXR0aW5nOyBrZWVwIGl0IHJlc3BvbnNpdmUgb24gcGhvbmVzLlxuICAgICAgJi4taW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHZ3O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICAvKiBTdGFydCBmdWxseSBpbnZpc2libGUgYW5kIG9mZi1zY3JlZW4gYWJvdmUg4oCUIGFuaW1hdGlvbiBicmluZ3MgaXQgaW4gKi9cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtYygzMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW1jKDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoOTBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1jKDkwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYyg3MHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWMoNzBweCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoc20pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDU1cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtYyg1NXB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVyby1zdWIge1xuICAgICAgQGV4dGVuZCAuZm9udC1wcmltYXJ5LTM7XG4gICAgICBjb2xvcjogdmFyKC0tcHMtaGItY29sb3Itc3ViLCAjZmZmKTtcbiAgICAgIC8qIFJvdW5kIDIzOiBzdWIgZm9udC9zaXplL3RyYWNraW5nIHRoZW1lYWJsZSAoU3R5bGUgdGFiKS4gRmFsbGJhY2tzID1cbiAgICAgICAgIHRoZSAuZm9udC1wcmltYXJ5LTMgdmFsdWVzIHRoaXMgcnVsZSBhbHdheXMgaGFkLiAqL1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXBzLWhiLWZvbnQtc3ViLCAjeyRmb250LWZhbWlseS1wcmltYXJ5LXN0YXRpY30pO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXBzLWhiLXN1Yi1zcGFjaW5nLCBub3JtYWwpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIC8qIFN0YXJ0IGZ1bGx5IGludmlzaWJsZSBhbmQgb2ZmLXNjcmVlbiBiZWxvdyDigJQgYW5pbWF0aW9uIGJyaW5ncyBpdCBpbiAqL1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBtYXJnaW4tdG9wOiByZW1jKDIwcHgpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1wcy1oYi1zdWItc2l6ZS1tLCB2YXIoLS1wcy1oYi1zdWItc2l6ZSwgI3tyZW1jKDE0cHgpfSkpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXBzLWhiLXN1Yi1saCwgI3tyZW1jKDE2cHgpfSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcHMtaGItc3ViLXNpemUsICN7cmVtYygyMHB4KX0pO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tcHMtaGItc3ViLWxoLCAje3JlbWMoMjJweCl9KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShtZCkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXBzLWhiLXN1Yi1zaXplLW0sIHZhcigtLXBzLWhiLXN1Yi1zaXplLCAje3JlbWMoMTZweCl9KSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1wcy1oYi1zdWItbGgsICN7cmVtYygxOHB4KX0pO1xuICAgICAgfVxuXG4gICAgICAmLnNwYWNpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1jKDIwcHgpO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLyogQ3VzdG9tIGhlcm8gYW5pbWF0aW9ucyDigJQgaW5jbHVkZSBvcGFjaXR5IHNvIHRleHQgc3RhcnRzIGludmlzaWJsZSAqL1xuICBAa2V5ZnJhbWVzIGhlcm9TbGlkZURvd24ge1xuICAgIGZyb20ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBoZXJvU2xpZGVVcCB7XG4gICAgZnJvbSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIC5oZXJvLWhlYWRsaW5lIHtcbiAgICAgIGFuaW1hdGlvbjogaGVyb1NsaWRlRG93biAwLjhzIGVhc2Utb3V0IDAuM3MgZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgLmhlcm8tc3ViIHtcbiAgICAgIGFuaW1hdGlvbjogaGVyb1NsaWRlVXAgMC44cyBlYXNlLW91dCAwLjVzIGZvcndhcmRzO1xuICAgIH1cbiAgfVxuXG4gIC8qIE5vbi1ob21lcGFnZSBoZXJvZXMgKGluc2lkZSBtYXN0ZXIgbGF5b3V0KSBhbHNvIGdldCB0aGUgYW5pbWF0aW9uICovXG4gICY6bm90KDpoYXMoLnN3aXBlci1zY2FsZS1lZmZlY3Q6bm90KC5zbWFsbGVyKSkpIHtcbiAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAuaGVyby1oZWFkbGluZSB7XG4gICAgICAgIGFuaW1hdGlvbjogaGVyb1NsaWRlRG93biAwLjhzIGVhc2Utb3V0IDAuM3MgZm9yd2FyZHM7XG4gICAgICB9XG4gICAgICAuaGVyby1zdWIge1xuICAgICAgICBhbmltYXRpb246IGhlcm9TbGlkZVVwIDAuOHMgZWFzZS1vdXQgMC41cyBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogRklYOiB3YXMgMTY1dmggd2hpY2ggaXMgd2F5IHRvbyB0YWxsIOKAlCBub3cgdXNlcyAxMDB2aCBjYXBwZWQgYXQgOTAwcHggKi9cbiAgICAvKiBUaGlzIGdpdmVzIGEgZnVsbC12aWV3cG9ydCBoZXJvIG9uIG1vc3Qgc2NyZWVucyB3aXRob3V0IGJlaW5nIGFic3VyZGx5IHRhbGwgKi9cbiAgICAvKiBSb3VuZCAyMzogc2l6ZXMgYXJlIHRoZW1lYWJsZSB2aWEgdGhlIGhlcm8tYmFubmVyIFN0eWxlIHRhYlxuICAgICAgICgtLXBzLWhiLWhlaWdodCAvIC1tYXgtaCAvIC1taW4taCwgYW5kICotbSBmb3IgZXZlcnkgc3ViLWxnIHRpZXIpLlxuICAgICAgIEZhbGxiYWNrcyA9IHRoZSBjb21waWxlZCBwZXItdGllciB2YWx1ZXMsIHNvIHVudG91Y2hlZCBzaXRlcyBhcmUgYnl0ZS1pZGVudGljYWwuICovXG4gICAgaGVpZ2h0OiB2YXIoLS1wcy1oYi1oZWlnaHQsIDEwMHZoKTtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1wcy1oYi1tYXgtaCwgOTAwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXBzLWhiLW1pbi1oLCAje3JlbWMoNTAwKX0pO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAvKiBPbiB0YWJsZXRzLCBzbGlnaHRseSBzaG9ydGVyICovXG4gICAgICBoZWlnaHQ6IHZhcigtLXBzLWhiLWhlaWdodC1tLCA4MHZoKTtcbiAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXBzLWhiLW1heC1oLW0sIDcwMHB4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXBzLWhiLW1pbi1oLW0sICN7cmVtYyg0NTApfSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIC8qIE9uIG1vYmlsZSwgZ2l2ZSBlbm91Z2ggcm9vbSBmb3IgY29udGVudCBidXQgZG9uJ3QgZ28gY3JhenkgKi9cbiAgICAgIGhlaWdodDogdmFyKC0tcHMtaGItaGVpZ2h0LW0sIDg1dmgpO1xuICAgICAgbWF4LWhlaWdodDogdmFyKC0tcHMtaGItbWF4LWgtbSwgNjUwcHgpO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0tcHMtaGItbWluLWgtbSwgI3tyZW1jKDQwMCl9KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLyogU21hbGwgcGhvbmVzICovXG4gICAgICBoZWlnaHQ6IHZhcigtLXBzLWhiLWhlaWdodC1tLCA4MHZoKTtcbiAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXBzLWhiLW1heC1oLW0sIDYwMHB4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXBzLWhiLW1pbi1oLW0sICN7cmVtYygzODApfSk7XG4gICAgfVxuXG4gICAgJi5zbWFsbGVyIHtcbiAgICAgIGhlaWdodDogMjl2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbWMoMzMwKTtcbiAgICAgIC8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAvL0BtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICBoZWlnaHQ6IDU1dmg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAvL0BtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zd2lwZXItc2xpZGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlID4gLnN3aXBlci1zbGlkZS1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgNTAlIDUwJSAvY292ZXI7XG4gICAgJi5vdmVybGF5OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwYTY7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAub3ZlcmxheSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG5cbiAgLyogSGVybyBiYWNrZ3JvdW5kIGltYWdlIOKAlCBub3cgdXNlcyBhbiBhY3R1YWwgPGltZz4gdGFnIGluc3RlYWQgb2YgQ1NTIGJhY2tncm91bmQtaW1hZ2UgKi9cbiAgLyogVGhpcyBpcyBjcml0aWNhbCBmb3IgTGlnaHRob3VzZSBMQ1Agc2NvcmluZyDigJQgR29vZ2xlIGNhbiBwcmVsb2FkIDxpbWc+IGJ1dCBub3QgYmFja2dyb3VuZC1pbWFnZSAqL1xuICAuaGVyby1iZy1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAvKiBFdmVyeSBzbGlkZSBjb3ZlciDigJQgLnBzLWhiLWNvdmVyIGlzIG9uIGFsbCBOIHNsaWRlcyBzaW5jZSB0aGUgQmFubmVyXG4gICAgIFNsaWRlc2hvdyBTeXN0ZW0gcm91bmQgKHNsaWRlMS9zbGlkZTIga2VwdCBhcyBhbGlhc2VzIGZvciBzaXRlIENTUyB0aGF0XG4gICAgIHRhcmdldHMgdGhlbSkuIFRoZSBzdHJheSBoYXJkLWNvZGVkIHNsaWRlMiBiYWNrZ3JvdW5kLWltYWdlXG4gICAgICh1cmwoJy4uLy4uLy4uL2ltYWdlcy9oZXJvLTMuanBnJykpIHdhcyBSRU1PVkVEIGluIHRoZSBzYW1lIHJvdW5kOiBhXG4gICAgIHNsaWRlIHdpdGggbm8gaW1hZ2Ugbm93IHNob3dzIG5vdGhpbmcsIG5vdCBhIGxlZnRvdmVyIHN0b2NrIHBob3RvLiAqL1xuICAuc3dpcGVyLXNsaWRlIC5wcy1oYi1jb3ZlcixcbiAgLnN3aXBlci1zbGlkZSAuc2xpZGUxLFxuICAuc3dpcGVyLXNsaWRlIC5zbGlkZTIge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvKiBEYXJrIG92ZXJsYXkgZm9yIHRleHQgcmVhZGFiaWxpdHkgb3ZlciB0aGUgPGltZz4uXG4gICAgICAgUEVSLUlNQUdFIHNpbmNlIDIwMjYtMDgtMTg6IHRoZSBibGFkZSBzZXRzIC0tcHMtaGItb3ZlcmxheSAoMOKAkzAuOSkgb25cbiAgICAgICBlYWNoIGNvdmVyIGZyb20gdGhhdCBpbWFnZSdzIGRhcmtlbmluZyBzbGlkZXIg4oCUIHRoZSBjbGFzc2ljIGhlcm8gcGFpclxuICAgICAgIGRlZmF1bHRzIHRvIC42OCAodGhpcyBydWxlJ3MgaGlzdG9yaWNhbCBoYXJkLWNvZGVkIHZhbHVlLCBzbyBleGlzdGluZ1xuICAgICAgIGhlcm9lcyBhcmUgdW5jaGFuZ2VkKSBhbmQgbmV3IHNsaWRlcyBkZWZhdWx0IHRvIDAgPSBwaG90byBhcyB1cGxvYWRlZC5cbiAgICAgICBUaGUgZmFsbGJhY2sgYmVsb3cga2VlcHMgYW55IGNvdmVyIHJlbmRlcmVkIFdJVEhPVVQgdGhlIHZhciAob2xkZXJcbiAgICAgICBjYWNoZWQgcGF5bG9hZHMsIHNpdGUgQ1NTIHJldXNpbmcgdGhlIGNsYXNzKSBsb29raW5nIGV4YWN0bHkgYXMgYmVmb3JlLiAqL1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCB2YXIoLS1wcy1oYi1vdmVybGF5LCAwLjY4KSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qIE9wdGlvbmFsIHdob2xlLXNsaWRlIGxpbmsgKHBlci1zbGlkZSBgbGlua2ApOiBzaXRzIG92ZXIgdGhlIGltYWdlL292ZXJsYXlcbiAgICAgYnV0IFVOREVSIC5oZXJvLWNvbnRlbnQgKHotaW5kZXggMiB0aGVyZSksIHNvIHRoZSBDVEEgc3RheXMgY2xpY2thYmxlIGFuZFxuICAgICBlbXB0eSBhcmVhcyBnbyB0byB0aGUgc2xpZGUncyBsYW5kaW5nIHBhZ2UuICovXG4gIC5oZXJvLXNsaWRlLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLyogQXJyb3dzICsgZG90cyAoQmFubmVyIFNsaWRlc2hvdyBTeXN0ZW0pOiByZW5kZXJlZCBieSB0aGUgYmxhZGUgb25seSB3aGVuXG4gICAgIGVuYWJsZWQgQU5EIDIrIHNsaWRlczsgdGhlIGJ1bmRsZSBKUyBwb2ludHMgU3dpcGVyIGF0IHRoZW0uICovXG4gIC5wcy1oYl9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogcmVtYyg0NnB4KTtcbiAgICBoZWlnaHQ6IHJlbWMoNDZweCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogcmVtYygyOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gICAgJi0tcHJldiB7IGxlZnQ6IHJlbWMoMTZweCk7IH1cbiAgICAmLS1uZXh0IHsgcmlnaHQ6IHJlbWMoMTZweCk7IH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgd2lkdGg6IHJlbWMoMzRweCk7XG4gICAgICBoZWlnaHQ6IHJlbWMoMzRweCk7XG4gICAgICBmb250LXNpemU6IHJlbWMoMjJweCk7XG4gICAgfVxuICB9XG5cbiAgLnBzLWhiX19kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiByZW1jKDE0cHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgb3BhY2l0eTogMTsgfVxuICB9XG5cbiAgLnN3aXBlci1zY2FsZS1lZmZlY3QgLnN3aXBlci1zbGlkZS1jb3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgLnN3aXBlci1zY2FsZS1lZmZlY3QgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtc2NhbGUgLnN3aXBlci1zbGlkZS1jb3ZlciB7XG4gICAgdHJhbnNpdGlvbjogNnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICAgIGNvbG9yOiAkY29sb3JfbmV1dHJhbDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWZWhpY2xlIHBpY2tlciBwbGFjZW1lbnQgKHNob3dWZWhpY2xlU2VsZWN0KSDigJQgMjAyNi0wOS0wNVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkVGT1JFOiAucHMtaGItdmVoaWNsZS1vdmVybGFwIHdhcyBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOi01NHB4IG9uICNoZXJvLFxuLy8gaS5lLiBhbmNob3JlZCB0byB0aGUgaGVybydzIGJvdHRvbSBlZGdlIGFuZCBncm93aW5nIFVQV0FSRC4gSXRzIGhlaWdodCBpc1xuLy8gd2hhdGV2ZXIgdGhlIG1lcmNoYW50IGNvbmZpZ3VyZWQgKGdhcmFnZSB2aWV3ICsgZXZlcnkgdmVoaWNsZSBmaWVsZCB0aGVcbi8vIHBpY2tlciBzaG93cywgYW4gZXhwYW5kZWQgXCJBZGQgVmVoaWNsZVwiIHdpdGggeWVhci9tYWtlL21vZGVsL3N1Ym1vZGVsL2VuZ2luZVxuLy8gL2JvZHkgYWxsIHByZS1maWxsZWTigKYpLCBzbyBvbiBhIDYwMHB4IHBob25lIGhlcm8gdGhlIGNhcmQgY292ZXJlZCB0aGUgdG9wXG4vLyA2MCUgb2YgdGhlIGltYWdlIGFuZCB0aGUgaGVhZGxpbmUsIHdoaWxlIHRoZSBwYWdlIHJlc2VydmVkIGEgRklYRURcbi8vIG1hcmdpbi1ib3R0b20gKDEwMHB4IGF0IHhzL3NtLCBub3RoaW5nIG9uIGRlc2t0b3ApIHRoYXQgd2FzIHRvbyBtdWNoIGZvciBhXG4vLyBjb21wYWN0IGdhcmFnZSBjYXJkIGFuZCB0b28gbGl0dGxlIGZvciBhIHRhbGwgb25lLiBPd25lcjogXCJpdCBzaG91bGQgcHVzaFxuLy8gZXZlcnl0aGluZyBkb3duLCBhbmQgdGhlIHNwYWNlIHVuZGVybmVhdGggc2hvdWxkIGJlIGR5bmFtaWNcIi5cbi8vXG4vLyBOT1c6IHRoZSB3cmFwcGVyIGlzIGluIG5vcm1hbCBmbG93IEFGVEVSIC5zd2lwZXItY29udGFpbmVyICh0aGUgaGVybydzXG4vLyBoZWlnaHQgaXMgdGhlIHNsaWRlc2hvdydzOyAuaGVyby1jb250ZW50IGlzIGFic29sdXRlIGluc2lkZSBpdHMgc2xpZGUsIHNvXG4vLyBub3RoaW5nIGluc2lkZSB0aGUgaW1hZ2UgbW92ZXMpLiBBIGZpeGVkIG92ZXJsYXAgcHVsbHMgdGhlIGNhcmQgdXAgb3ZlciB0aGVcbi8vIGltYWdlJ3MgYm90dG9tIGVkZ2UgYnkgLS1wcy1oYi1waWNrZXItb3ZlcmxhcCAoMjYwcHggZGVza3RvcCwgMjAwcHggb25cbi8vIHBob25lcyDigJQgb3duZXIgMjAyNi0wOS0wNTogXCJpdCBzaG91bGQgYmUgbW92ZWQgdXAgYSBsb3QsIGFsbW9zdCBsaWtlIHRoZVxuLy8gb3JpZ2luYWwgcG9zaXRpb24sIGJ1dCBleHRlbmQgZG93blwiKSwgYW5kIGV2ZXJ5dGhpbmcgYmVsb3cgc2ltcGx5IGZvbGxvd3Ncbi8vIHRoZSBjYXJkJ3MgcmVhbCBoZWlnaHQuIFN0eWxlLXRhYiB0b2tlbnMgKGhlcm8tYmFubmVyIGRlZmluaXRpb24pOlxuLy8gICAtLXBzLWhiLXBpY2tlci1vdmVybGFwIC8gLS1wcy1oYi1waWNrZXItb3ZlcmxhcC1tICAgaG93IGZhciB1cCB0aGUgY2FyZCB0dWNrc1xuLy8gICAtLXBzLWhiLXBpY2tlci1nYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhIHNwYWNlIHVuZGVyIHRoZSBjYXJkXG4vLyBPcGVuIGRyb3Bkb3duIHBhbmVscyBhcmUgc3RpbGwgYWJzb2x1dGUgaW5zaWRlIHRoZWlyIGZpZWxkICh0aGV5IG92ZXJsYXkgdGhlXG4vLyBuZXh0IHNlY3Rpb24pIOKAlCB0aGF0IG9ubHkgaGFwcGVucyBvbiBhIHNob3BwZXIncyB0YXA7IHBhZ2UgbG9hZCBubyBsb25nZXJcbi8vIHBvcHMgb25lIG9wZW4gKHNlZSBWZWhpY2xlV2lkZ2V0Q29yZSBhdXRvT3BlbkZpcnN0KS5cbi8vXG4vLyBEZWJ1ZyBieSBoYW5kOiAjaGVybyBzaG91bGQgYmUgdGFsbGVyIHRoYW4gLnN3aXBlci1jb250YWluZXIgYnkgZXhhY3RseVxuLy8gKGNhcmQgaGVpZ2h0IOKIkiBvdmVybGFwKTsgdGhlIG5leHQgc2VjdGlvbidzIHRvcCBzaG91bGQgZXF1YWwgdGhlIGNhcmQnc1xuLy8gYm90dG9tICsgZ2FwLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIENPTExJU0lPTiBHVUFSRCAoMjAyNi0xMC0wMiwgb3duZXIgcmVwb3J0IG9uIHRoZSBIb3VzdG9uIEF1dG8gUGFydHMgYnVpbGQpOlxuLy8gdGhlIG92ZXJsYXAgaXMgYSBmaXhlZCBkaXN0YW5jZSwgYnV0IHRoZSB0ZXh0IGJsb2NrIGFib3ZlIGl0IGlzIG5vdCDigJQgaXQgaXNcbi8vIGFic29sdXRlbHkgY2VudHJlZCBpbiBhIHZpZXdwb3J0LWhlaWdodCBpbWFnZSwgc28gYSBoZWFkbGluZSB0aGF0IHdyYXBzIG9uZVxuLy8gbW9yZSBsaW5lLCBvciBhIHNob3J0IHBob25lICgzNjDDlzY0MCksIHJhbiB0aGUgdHJ1c3QgYmFkZ2VzIGFuZCBldmVuIHRoZSBDVEFcbi8vIHVuZGVyIHRoZSBjYXJkLiBJdCBoYXBwZW5lZCBvbiBQYXJ0cyBvbiB0aGUgR28gdG9vLCBhdCAzNjDDlzY0MC4gVGhlIGZpeGVkXG4vLyBvdmVybGFwIGNhbm5vdCBrbm93IHRoZSB0ZXh0IGhlaWdodCwgc28gaW5kZXguanMgbWVhc3VyZXMgaXQgYW5kIHNldHNcbi8vIC0tcHMtaGItcGlja2VyLXB1c2ggb24gI2hlcm86IGp1c3QgZW5vdWdoIHB4IHRvIGtlZXAgdGhlIGNhcmQgYSBzbWFsbCBnYXBcbi8vIGJlbG93IHRoZSBCT1RUT00gb2YgdGhlIHRhbGxlc3Qgc2xpZGUncyB0ZXh0LCBhbmQgMCB3aGVuZXZlciB0aGV5IGRvbid0XG4vLyBtZWV0IOKAlCBzbyBoZXJvZXMgdGhhdCBuZXZlciBjb2xsaWRlZCByZW5kZXIgZXhhY3RseSBhcyBiZWZvcmUuIFBST0RVQ0VSOlxuLy8gZ3VhcmRQaWNrZXJPdmVybGFwKCkgaW4gaW5kZXguanMgKGtlZXAgdGhlIHZhcmlhYmxlIG5hbWUgaW4gc3RlcCkuXG4vLyBEZWJ1ZyBieSBoYW5kOiBvbiBhbiBvdmVybGFwcGluZyBsYXlvdXQgI2hlcm8gY2FycmllcyBhbiBpbmxpbmVcbi8vIC0tcHMtaGItcGlja2VyLXB1c2g7IGRlbGV0ZSBpdCBpbiBkZXZ0b29scyB0byBzZWUgdGhlIG9sZCBjb2xsaXNpb24uXG4jaGVybyAucHMtaGItdmVoaWNsZS1vdmVybGFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwOyAgICAgICAgICAgIC8vIGFib3ZlIHRoZSBmb2xsb3dpbmcgc2VjdGlvbiwgc2FtZSBhcyB0aGUgb2xkIGFuY2hvclxuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXBzLWhiLXBpY2tlci1vdmVybGFwLCAyNjBweCkgKyB2YXIoLS1wcy1oYi1waWNrZXItcHVzaCwgMHB4KSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBzLWhiLXBpY2tlci1nYXAsIDBweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXBzLWhiLXBpY2tlci1vdmVybGFwLW0sIHZhcigtLXBzLWhiLXBpY2tlci1vdmVybGFwLCAyMDBweCkpICsgdmFyKC0tcHMtaGItcGlja2VyLXB1c2gsIDBweCkpO1xuICB9XG5cbiAgLnBzLWhiLXZlaGljbGUtb3ZlcmxhcF9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShzbSkge1xuICAjaGVybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtYygxMDBweCk7XG4gICAgLy8gVGhlIDEwMHB4IHJlc2VydmUgZXhpc3RlZCBvbmx5IGZvciB0aGUgYWJzb2x1dGVseS1wb3NpdGlvbmVkIHBpY2tlcjtcbiAgICAvLyB3aXRoIHRoZSBwaWNrZXIgaW4gZmxvdyBpdCBpcyBkZWFkIHNwYWNlIHVuZGVyIHRoZSBjYXJkLlxuICAgICYucHMtaGItLWhhcy1waWNrZXIgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyNXZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoeHMpIHtcbiAgI2hlcm8ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbWMoMTAwcHgpO1xuICAgICYucHMtaGItLWhhcy1waWNrZXIgeyBtYXJnaW4tYm90dG9tOiAwOyB9IC8vIHNlZSBcIlZlaGljbGUgcGlja2VyIHBsYWNlbWVudFwiXG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUFJPTU8gQkFOTkVSIFNUWUxFU1xuICAgVW5jb21tZW50IHRoZSBwcm9tby1iYW5uZXIgYmxvY2sgaW4gaW5kZXguYmxhZGUucGhwIHdoZW4gcnVubmluZyBhIHByb21vLlxuICAgVGhlIGJhbm5lciBzaXRzIGluc2lkZSAuaGVyby1jb250ZW50LCBhYm92ZSB0aGUgaGVhZGxpbmUuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVybyAucHJvbW8tYmFubmVyIHtcbiAgLyogbGl2ZXMgaW5zaWRlIC5oZXJvLWNvbnRlbnQsIGFib3ZlIHRoZSBoZWFkbGluZSAqL1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgcmVtYygxNik7ICAgICAgLyoga2VlcHMgZWRnZXMgb2ZmIHNjcmVlbiBvbiBzbWFsbCB2aWV3cG9ydHMgKi9cbiAgbWFyZ2luOiAwIGF1dG8gcmVtYygyMCk7ICAvKiBzcGFjaW5nIGJlbG93IHRoZSBiYW5uZXIgYmVmb3JlIGhlYWRsaW5lICovXG4gIHotaW5kZXg6IDEyOyAgICAgICAgICAgICAvKiBhYm92ZSBzbGlkZSBiYWNrZ3JvdW5kICovXG5cbiAgcGljdHVyZSwgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW1jKDEyODApOyAgLyogY2FwIHdpZHRoIG9uIHVsdHJhLXdpZGUgc2NyZWVucyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbWMoOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIHJlbWMoMjQpIHJnYmEoMCwwLDAsLjM1KTtcbiAgfVxuXG4gIC8qIFRpZ2h0ZW4gc3BhY2luZyAmIGxldCB0aGUgdGFsbGVyIG1vYmlsZSBhcnQgYnJlYXRoZSAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAvL21hcmdpbi1ib3R0b206IHJlbWMoMjQpO1xuICB9XG59XG5cbi8qIFdoZW4gcHJvbW8gYmFubmVyIGlzIGFjdGl2ZSwgYWRqdXN0IGhlcm8tY29udGVudCBwb3NpdGlvbmluZyAqL1xuI2hlcm8gLmhlcm8tY29udGVudDpoYXMoLnByb21vLWJhbm5lcikge1xuICAvKiBnaXZlIHRoZSBjb250ZW50IGJyZWF0aGluZyByb29tIHVuZGVyIHRoZSBiYW5uZXIgKi9cbiAgdG9wOiA1JTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICAuaGVyby1oZWFkbGluZSB7IG1hcmdpbi10b3A6IHJlbWMoOCk7IH1cbiAgLmhlcm8tc3ViIHsgbWFyZ2luLXRvcDogcmVtYyg4KTsgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHRvcDogMiU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSEVSTyBDVEEgQlVUVE9OICYgVFJVU1QgQkFER0VTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVybyAuaGVyby1jdGEge1xuICBtYXJnaW4tdG9wOiByZW1jKDE4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idG4ge1xuICAgIC8vIFRva2VuLWRyaXZlbiBDVEE6IGRlZmF1bHRzIGJ5dGUtbWF0Y2ggdGhlIGNvbXBpbGVkIC5idG4tcHJpbWFyeSB2YWx1ZXMsXG4gICAgLy8gc28gbm90aGluZyBjaGFuZ2VzIHVudGlsIHRoZSBlZGl0b3Igc2V0cyAtLXBzLWhiLWNvbG9yLWN0YS0qLlxuICAgIC0tYnMtYnRuLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tcHMtaGItY29sb3ItY3RhLXRleHQsICNmZmYpO1xuICAgIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tcHMtaGItY29sb3ItY3RhLXRleHQsICNmZmYpO1xuICAgIC0tYnMtYnRuLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tcHMtaGItY29sb3ItY3RhLWJnLCAjMDAxODc3KTtcbiAgICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICAgICAgIHZhcigtLXBzLWhiLWNvbG9yLWN0YS1iZywgIzAwMTg3Nyk7XG4gICAgLS1icy1idG4taG92ZXItYmc6ICAgICAgICAgICB2YXIoLS1wcy1oYi1jb2xvci1jdGEtYmcsICMwMDE0NjUpO1xuICAgIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tcHMtaGItY29sb3ItY3RhLWJnLCAjMDAxMzVmKTtcblxuICAgIGZvbnQtc2l6ZTogcmVtYygxOCk7XG4gICAgcGFkZGluZzogcmVtYygxMiwgMzYpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIG1hcmdpbi10b3A6IHJlbWMoMTIpO1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiByZW1jKDE1KTtcbiAgICAgIHBhZGRpbmc6IHJlbWMoMTAsIDI4KTtcbiAgICB9XG4gIH1cbn1cblxuI2hlcm8gLnRydXN0LWJhZGdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHJlbWMoMjApO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IHJlbWMoMTUpO1xuICBmb250LXNpemU6IHJlbWMoMTEpO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiByZW1jKDUpO1xuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IHJlbWMoMTQpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgZ2FwOiByZW1jKDEwKTtcbiAgICBmb250LXNpemU6IHJlbWMoOSk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICBnYXA6IHJlbWMoOCwgNik7XG4gICAgZm9udC1zaXplOiByZW1jKDgpO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdIRUVMICYgVElSRSBWSVNVQUxJWkVSIENUQSBXSURHRVRcbiAgIEEgY29tcGFjdCwgcHJlbWNpdW0gY2FsbC10by1hY3Rpb24gZm9yIHRoZSB2aXN1YWxpemVyIHRvb2wuXG4gICBTaXRzIGluIHRoZSBoZXJvLW5ld3MgYXJlYSwgcmVwbGFjZXMgdGhlIG9sZCBmdWxsLXdpZHRoIGJhbm5lciBpbWFnZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNoZXJvIC52aXN1YWxpemVyLWN0YSB7XG4gIG1hcmdpbi10b3A6IHJlbWMoMjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBtYXJnaW4tdG9wOiByZW1jKDE2KTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiByZW1jKDUyMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogcmVtYygxNik7XG4gICAgcGFkZGluZzogcmVtYygxNCwgMjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtYygxMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblxuICAgICAgLnZpc3VhbGl6ZXItY3RhX19hcnJvdyBpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgICB9XG5cbiAgICAgIC52aXN1YWxpemVyLWN0YV9faWNvbiBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBwYWRkaW5nOiByZW1jKDEyLCAxNik7XG4gICAgICBnYXA6IHJlbWMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAjZmY0NDQ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAgICAgd2lkdGg6IHJlbWMoNTYpO1xuICAgICAgaGVpZ2h0OiByZW1jKDU2KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHdpZHRoOiByZW1jKDQ0KTtcbiAgICAgICAgaGVpZ2h0OiByZW1jKDQ0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbWMoMik7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgJl9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiByZW1jKDkpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2NjMDAwMCwgI2ZmMzMzMyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogcmVtYygyLCA4KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW1jKDMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPc3dhbGQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogcmVtYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBmb250LXNpemU6IHJlbWMoMTUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtYygxMik7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBmb250LXNpemU6IHJlbWMoMTEpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IHJlbWMoMjIpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG5cbiAgICBpIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBmb250LXNpemU6IHJlbWMoMTgpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlbWUgcGFsZXR0ZSDigJQgVE9LRU4tQkFDS0VEIChSb3VuZCAxNCwgQ09MT1JTX1RPS0VOU19SRUNPTkNJTElBVElPTi5tZCkuXG4vL1xuLy8gRXZlcnkgJGNvbG9yXyogdmFyIHJlc29sdmVzIHRvIGEgVGhlbWUgQnVpbGRlciBnbG9iYWwgZGVzaWduIHRva2VuXG4vLyAodmFyKC0tcHMtY29sb3ItKiwgPGJyYW5kIGhleCBmYWxsYmFjaz4pKS4gUmVuZGVyaW5nIGlzIElERU5USUNBTCB0byB0aGUgb2xkXG4vLyBzdGF0aWMgcGFsZXR0ZSB1bnRpbCB0aGUgYmFja2VuZCB0aGVtZSBlZGl0b3IgcHVibGlzaGVzIGEgdG9rZW4gdmFsdWUg4oCUIHRoZW5cbi8vIHRoYXQgdmFsdWUgd2lucyBhY3Jvc3MgdGhlIGVudGlyZSBjb21waWxlZCBzdHlsZXNoZWV0IChnbG9iYWwgc2hlZXQgQU5EIGV2ZXJ5XG4vLyBjb21wb25lbnQgYnVuZGxlLCBzaW5jZSB0aGV5IGFsbCBpbXBvcnQgdGhpcyBmaWxlIHZpYSBfY2F0YWxvZy9nbG9iYWxzKS5cbi8vXG4vLyBSVUxFUzpcbi8vICAtIFNhc3MgY29sb3IgZnVuY3Rpb25zIChsaWdodGVuL2Rhcmtlbi9yZ2JhL21peCkgQ0FOTk9UIG9wZXJhdGUgb24gdmFyKCkuXG4vLyAgICBVc2UgdGhlICpfaGV4IGxpdGVyYWxzIGZvciB0aG9zZSDigJQgQm9vdHN0cmFwJ3MgJHRoZW1lLWNvbG9ycyBtYXRoIGRvZXNcbi8vICAgIChvdmVycmlkZXMvX3ZhcmlhYmxlcy5zY3NzKSwgYW5kIHNvIGRvZXMgdGhlIHNpdGUtc2VhcmNoIG1vZGFsIGdyYWRpZW50LlxuLy8gIC0gRGVyaXZlZCBzaGFkZXMgYXJlIE5PVCBjb21wdXRlZCBmcm9tIHRoZSBiYXNlOiBlYWNoIGlzIGl0cyBvd24gdG9rZW4gd2l0aFxuLy8gICAgaXRzIG93biBmYWxsYmFjayAodGhlIGxlZ2FjeSB2YWx1ZXMgd2VyZSBuZXZlciBhbGdvcml0aG1pYyB0aW50cykuXG4vLyAgLSBUaGUgSklTLWZvc3NpbCB2YXJzICgkY29sb3JfamlzKikgYW5kIHRoZSAkY29sb3JfcHJpbWFyeV9saWdodGVzdCBhbGlhc1xuLy8gICAgd2VyZSByZXRpcmVkIGhlcmUgKHplcm8gY2FsbGVycyBhZnRlciB0aGUgUm91bmQgMTMgc3dlZXApLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8g4pSA4pSAIFJhdyBicmFuZCBsaXRlcmFscyDigJQgT05MWSBmb3IgU2FzcyBjb2xvciBtYXRoIChCb290c3RyYXAgdGhlbWUgY29sb3JzLFxuLy8gICAgbGlnaHRlbigpL3JnYmEoKSBjYWxsIHNpdGVzKS4gRXZlcnl0aGluZyBlbHNlIHVzZXMgdGhlIHRva2VuLWJhY2tlZCB2YXJzLlxuJGNvbG9yX3ByaW1hcnlfaGV4OiAgICMwMDE4Nzc7XG4kY29sb3Jfc2Vjb25kYXJ5X2hleDogIzA5MDkxNztcblxuLy8g4pSA4pSAIFByaW1hcnkgKGJyYW5kKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9wcmltYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICN7JGNvbG9yX3ByaW1hcnlfaGV4fSk7XG4kY29sb3JfcHJpbWFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LWxpZ2h0LCAjZjk5ZDFhKTsgICAvLyBvcmFuZ2UgYWNjZW50IChub3QgYSB0aW50KVxuJGNvbG9yX3ByaW1hcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1kYXJrLCAjNGI4NGMwKTsgICAgLy8gbGlnaHRlciBibHVlIChsZWdhY3kgbmFtaW5nKVxuJGNvbG9yX3ByaW1hcnlfZGFya2VyOiAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1ob3ZlciwgI3skY29sb3JfcHJpbWFyeV9oZXh9KTsgLy8gbGVnYWN5IHNlbGYtYWxpYXMg4oaSIGhvdmVyIHRva2VuXG5cbi8vIOKUgOKUgCBTZWNvbmRhcnkgKGRhcmsgYmFuZHMgLyBiYWNrZ3JvdW5kcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3Jfc2Vjb25kYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXNlY29uZGFyeSwgI3skY29sb3Jfc2Vjb25kYXJ5X2hleH0pO1xuJGNvbG9yX3NlY29uZGFyeV9kYXJrZXI6ICB2YXIoLS1wcy1jb2xvci1zZWNvbmRhcnktZGFya2VyLCAjMDAwMDAwKTtcbiRjb2xvcl9zZWNvbmRhcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3Itc2Vjb25kYXJ5LWRhcmssICMxNDE2MTgpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci10ZXh0LTIsICM1NzU3NTcpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodGVyOiB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICM3YzdjN2MpO1xuXG4vLyDilIDilIAgTmV1dHJhbHMgLyBzdXJmYWNlcyAvIGJvcmRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3JfbmV1dHJhbDogICB2YXIoLS1wcy1jb2xvci1uZXV0cmFsLCAjZmZmZmZmKTtcbiRjb2xvcl9uZXV0cmFsXzE6IHZhcigtLXBzLWNvbG9yLXN1cmZhY2UtYWx0LCAjZjBmMGYwKTtcbiRjb2xvcl9uZXV0cmFsXzI6IHZhcigtLXBzLWNvbG9yLWJvcmRlci0yLCAjYTdhN2E3KTtcbiRjb2xvcl9uZXV0cmFsXzM6IHZhcigtLXBzLWNvbG9yLWJvcmRlciwgI2RiZGJkYik7XG4kY29sb3ItbmV1dHJhbF80OiB2YXIoLS1wcy1jb2xvci1zdXJmYWNlLWFsdCwgI2VmZWZlZik7XG5cbi8vIOKUgOKUgCBTZW1hbnRpYyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9yZWQ6ICAgICAgICB2YXIoLS1wcy1jb2xvci1kYW5nZXIsICNmZjFlMDApO1xuJGNvbG9yX3RleHRfbGlnaHQ6IHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG5cbi8vIFByZWNvbXB1dGVkIHRyYW5zbHVjZW50IG92ZXJsYXkg4oCUIGEgZmlyc3QtY2xhc3MgdG9rZW4gKFNhc3MgY2FuJ3QgcmdiYSgpIGFcbi8vIHZhcigpOyB0aGUgbGVnYWN5IHZhbHVlIHdhcyByZ2JhKCRjb2xvcl9zZWNvbmRhcnlfZGFya2VyLCAuOCkgPSByZ2JhIGJsYWNrKS5cbiRvdmVybGF5LWRhcms6IHZhcigtLXBzLWNvbG9yLW92ZXJsYXktZGFyaywgcmdiYSgwLCAwLCAwLCAwLjgpKTtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENBVEFMT0cg4oCUIGdsb2JhbHMgYnJpZGdlIGZvciByZWxvY2F0ZWQgbGVnYWN5IHN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIHJlbG9jYXRlZCBsZWdhY3kgc3R5bGVzIChwcm9kdWN0LXRvb2xiYXIsIGxlZ2FjeSBwcm9kdWN0IGNhcmQsIGFuZCBsYXRlclxuLy8gZmFjZXRzL2RldGFpbCkgcmVmZXJlbmNlIHlvdXIgZnJhbWV3b3JrJ3MgdGhlbWUgQ09MT1IgdmFyaWFibGVzIHBsdXMgYSBmZXdcbi8vIHV0aWxpdGllcyAocmVtYygpLCBtZWRpYS1icmVha3BvaW50LWRvd24vdXAsICVjaGV2cm9uIHBsYWNlaG9sZGVycykuIEJlY2F1c2Vcbi8vIGVhY2ggY29tcG9uZW50IGNvbXBpbGVzIGFzIGl0cyBvd24gV2VicGFjayBidW5kbGUsIGVhY2ggbXVzdCBzZWUgdGhlc2UuXG4vL1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHNlbGYtY29udGFpbmVkIHNvIHRoZSBjb21wb25lbnRzIGNvbXBpbGUgb24gdGhlaXIgb3duLlxuLy8gVGhleSBsaXZlIE9OTFkgaW5zaWRlIHRoZXNlIGNvbXBvbmVudCBidW5kbGVzIGFuZCBkbyBub3QgYWZmZWN0IHlvdXIgZ2xvYmFsXG4vLyBidWlsZCAoc2VwYXJhdGUgY29tcGlsYXRpb24gdW5pdHMpLiBJZiB5b3UnZCByYXRoZXIgdXNlIHlvdXIgZnJhbWV3b3JrJ3Ncbi8vIHZlcnNpb25zLCBpbXBvcnQgdGhlbSBoZXJlIOKAlCB5b3VyIHZhbHVlcyB0aGVuIHRha2UgcHJlY2VkZW5jZSBmb3IgdGhlIGNvbG9yc1xuLy8gKHdoaWNoIHVzZSAhZGVmYXVsdCksIGFuZCB5b3UgY2FuIGRlbGV0ZSB0aGUgbWF0Y2hpbmcgdXRpbGl0eSBkZWZpbml0aW9ucy5cbi8vXG4vLyAgID4+PiBPUFRJT05BTDogQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7ICAgLy8geW91ciByZWFsIHRoZW1lIHZhcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCBcInN0eWxlcy92YXJpYW50cy9jb2xvcnNcIjtcblxuLy8g4pSA4pSAIFRoZW1lIGNvbG9yczogc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBpcyBzdHlsZXMvdmFyaWFudHMvX2NvbG9ycy5zY3NzXG4vLyAgICAoaW1wb3J0ZWQgYWJvdmU7IHRva2VuLWJhY2tlZCBzaW5jZSBSb3VuZCAxNCDigJQgZXZlcnkgJGNvbG9yXyogcmVzb2x2ZXMgdG9cbi8vICAgIHZhcigtLXBzLWNvbG9yLSosIDxicmFuZCBoZXg+KSkuIFRoZSBvbGQgZHVwbGljYXRlICMzMDVDREUgcGFsZXR0ZSB0aGF0XG4vLyAgICBsaXZlZCBoZXJlIHdhcyBkZWFkIHdlaWdodCAodGhlIGltcG9ydCdzIG5vbi0hZGVmYXVsdCBkZWZpbml0aW9ucyBhbHdheXNcbi8vICAgIHdvbikgYW5kIHdhcyByZW1vdmVkIHBlciBDT0xPUlNfVE9LRU5TX1JFQ09OQ0lMSUFUSU9OLm1kIFBoYXNlIDIuXG4vLyAgICBPbmx5IHRoZSB2YXJzIHZhcmlhbnRzL2NvbG9ycyBkb2VzIE5PVCBkZWZpbmUgcmVtYWluLCB0b2tlbi1tYXBwZWQgb250b1xuLy8gICAgdGhlIHByaW1hcnkgYWNjZW50IHBlciB0aGUgcmVjb25jaWxpYXRpb24gdGFibGU6XG4kaGVhZGVyLW1haW4tdGV4dC1jb2xvcjogIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICMzMDVDREUpICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJGhlYWRlci1iYXNlLWNvbG9yOiAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBjaGVja2VkLWNoZWNrYm94IGZpbGwgKGJyYW5kKVxuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBkZWZhdWx0IGNvbnRyb2wgYWNjZW50XG5cbi8vIOKUgOKUgCByZW1jKCk6IHB4IOKGkiByZW0gKGUuZy4gcmVtYygxMikgLT4gLjc1cmVtOyByZW1jKDUsMTUpIC0+IC4zMTI1cmVtIC45Mzc1cmVtKVxuQGZ1bmN0aW9uIHJlbWMoJHZhbHVlcy4uLikge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJHYgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2ID09IDAge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIDApO1xuICAgIH0gQGVsc2UgaWYgdW5pdGxlc3MoJHYpIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAoJHYgLyAxNikgKiAxcmVtKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdik7IC8vIGFscmVhZHkgaGFzIGEgdW5pdCDigJQgcGFzcyB0aHJvdWdoXG4gICAgfVxuICB9XG4gIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7IEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpOyB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8g4pSA4pSAIEJvb3RzdHJhcC00LXN0eWxlIGJyZWFrcG9pbnQgbWl4aW5zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGdyaWQtYnJlYWtwb2ludHM6ICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gX2JwLW1pbigkbmFtZSkgeyBAcmV0dXJuIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRuYW1lKTsgfVxuQGZ1bmN0aW9uIF9icC1uZXh0KCRuYW1lKSB7XG4gICRuYW1lczogbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaTogaW5kZXgoJG5hbWVzLCAkbmFtZSk7XG4gIEBpZiAkaSBhbmQgJGkgPCBsZW5ndGgoJG5hbWVzKSB7IEByZXR1cm4gbnRoKCRuYW1lcywgJGkgKyAxKTsgfVxuICBAcmV0dXJuIG51bGw7XG59XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgQGlmICRtaW4gYW5kICRtaW4gIT0gMCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbmV4dDogX2JwLW5leHQoJG5hbWUpO1xuICBAaWYgJG5leHQge1xuICAgICRtYXg6IF9icC1taW4oJG5leHQpIC0gMC4wMnB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgJG5leHQ6IF9icC1uZXh0KCRuYW1lKTtcbiAgQGlmICRuZXh0IHtcbiAgICAkbWF4OiBfYnAtbWluKCRuZXh0KSAtIDAuMDJweDtcbiAgICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgfSBAZWxzZSBpZiAkbWluIGFuZCAkbWluICE9IDAge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlcikge1xuICAkbWluOiBfYnAtbWluKCRsb3dlcik7XG4gICRuZXh0OiBfYnAtbmV4dCgkdXBwZXIpO1xuICAkbWF4OiBpZigkbmV4dCwgX2JwLW1pbigkbmV4dCkgLSAwLjAycHgsIG51bGwpO1xuICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIGFuZCAkbWF4IHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1heCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHsgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSB7IEBjb250ZW50OyB9XG59XG5cbi8vIOKUgOKUgCBDaGV2cm9uIHBsYWNlaG9sZGVycyAodXNlZCBieSBsYXRlciBwaGFzZXM7IGhhcm1sZXNzIHRvIGtlZXApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJWNoZXZyb24ge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMTVlbSAwLjE1ZW0gMCAwO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDAuNjVlbTtcbiAgbGVmdDogMC4xNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC4xNWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMC42NWVtO1xufVxuJWNoZXZyb24tcmlnaHQgIHsgbGVmdDogMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4lY2hldnJvbi1ib3R0b20geyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4lY2hldnJvbi1sZWZ0ICAgeyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuIiwiQGltcG9ydCAnc3dpcGVyLXZhcnMuc2Nzcyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3N3aXBlci1pY29ucyc7XG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpXG4gICAgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skdGhlbWVDb2xvcn07XG59XG4uc3dpcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLXBvaW50ZXItZXZlbnRzIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgJi5zd2lwZXItdmVydGljYWwge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIH1cbn1cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWF1dG9oZWlnaHQge1xuICAmLFxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB9XG59XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItM2Qge1xuICAmLFxuICAmLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIH1cbiAgLnN3aXBlci13cmFwcGVyLFxuICAuc3dpcGVyLXNsaWRlLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3cge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG59XG5cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRm9yIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG59XG4uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICB9XG59XG4uc3dpcGVyLXZlcnRpY2FsLnN3aXBlci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgfVxufVxuLnN3aXBlci1jZW50ZXJlZCB7XG4gID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9yZGVyOiA5OTk5O1xuICB9XG4gICYuc3dpcGVyLWhvcml6b250YWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgICB9XG4gIH1cblxuICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICB9XG59XG5cblxuXG4iLCIuc3dpcGVyLWZhZGUge1xuICAmLnN3aXBlci1mcmVlLW1vZGUge1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAmLFxuICAgICYgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zd2lwZXItdmFycy5zY3NzJztcblxuOnJvb3Qge1xuICAvKlxuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplOiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXdpZHRoOiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodDogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eTogMC4yO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5OiAxO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcDogNHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXA6IDZweDtcbiAgKi9cbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDtcbiAgJi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyxcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgfVxufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0LCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSwgOHB4KSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsICMwMDApO1xuICBvcGFjaXR5OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgMC4yKTtcbiAgQGF0LXJvb3QgYnV0dG9uI3smfSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlICYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6b25seS1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5LCAxKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xufVxuXG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsXG4uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsIDZweCkgMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgICB9XG4gIH1cbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLFxuLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbjogMCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXAsIDRweCk7XG4gIH1cbiAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgICB9XG4gIH1cbn1cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB9XG4gIC5zd2lwZXItcnRsICYgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwgPiAmLFxuICAmLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsXG4gIC5zd2lwZXItdmVydGljYWwgPiAmLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLFxuICAmLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICAuc3dpcGVyLXZlcnRpY2FsID4gJixcbiAgJi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbCxcbiAgLnN3aXBlci1ob3Jpem9udGFsID4gJi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSxcbiAgJi5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/