/*!
 * 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)
 */
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
:root{--mainColor: hsl(190, 74%, 30%);--mainColor_h: 190;--mainColor_s: 74%;--mainColor_l: 30%;--secondaryColor: hsl(0, 0%, 98%);--secondaryColor_h: 0;--secondaryColor_s: 0%;--secondaryColor_l: 98%;--titleColor: hsl(0, 75%, 45%);--titleColor_h: 0;--titleColor_s: 75%;--titleColor_l: 45%;--textColor: hsl(345, 6%, 13%);--textColor_h: 345;--textColor_s: 6%;--textColor_l: 13%;--CTA: hsl(35, 94%, 55%);--CTA_h: 35;--CTA_s: 94%;--CTA_l: 55%;--mainFont: "Figtree", sans-serif;--secondaryFont: "Comic Neue", cursive;--h1-fs: 24px;--h2-fs: 32px;--h3-fs: 20px;--intro-fs: 20px}@media (min-width:768px) and (max-width:1024px){:root{--h1-fs: 26px;--h2-fs: 32px;--h3-fs: 25px}}@media (min-width:1025px){:root{--h1-fs: 28px;--h2-fs: 26px;--h3-fs: 30px}}:root{--container-max-width: calc(800px + 32px);--elements-flow: 10px;--default-radius: 16px}@media (max-width:374px){:root{--elements-flow: 8px}}@media (min-width:768px) and (max-width:1024px){:root{--elements-flow: 16px}}@media (min-width:1025px){:root{--elements-flow: 16px}}@media (max-width:767px){.nextStep{box-shadow:0 2px 4px rgba(0,0,0,.16)}}@media (min-width:768px) and (max-width:1024px){.nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}@media (min-width:1025px){.nextStep{box-shadow:0 3px 6px rgba(0,0,0,.16)}}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{margin:0;padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form{padding:0;border:0}legend{margin:0}:focus{outline:0}#vslVideoThumb.vjs-controls-disabled .vjs-big-play-button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{min-height:100dvh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--mainFont);font-size:16px;line-height:1.2;text-align:center;color:var(--textColor);display:flex;flex-direction:column}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}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}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}button{padding:0;background-color:transparent;border-width:0}.hidden,.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}h1,h3{font-weight:700;color:var(--titleColor)}h1,h2{line-height:1.2;font-size:var(--h1-fs)}h2{font-size:var(--h2-fs);font-weight:400}h2 small{display:block;margin-top:.25em;font-size:.8em;font-weight:300;color:hsl(calc(var(--textColor_h) - var(--textColor_h)),calc(var(--textColor_s) - var(--textColor_s)),calc(var(--textColor_l) + 42%))}h3{padding-block:calc(var(--elements-flow)*2);padding-inline:var(--elements-flow);font-size:var(--h3-fs);background-color:var(--mainColor);border-top-left-radius:var(--default-radius);border-top-right-radius:var(--default-radius)}b{font-weight:600}a,a:active,a:hover{text-decoration:underline}@media (max-width:991px){a,a:active,a:hover{color:var(--textColor)}}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.btn [disabled],.btn.disabled{pointer-events:none}.nextStep{align-self:center;width:100%;max-width:var(--max-cta-width);margin:0 auto;font-size:26px;font-weight:700;line-height:2.5;text-align:center;border:0;border-radius:50px;-webkit-animation:fadein 2s;animation:fadein 2s}.nextStep,.nextStep:hover{text-decoration:none;color:var(--textColor)}.nextStep.hidden{display:none;pointer-events:none}.nextStep--gradient{background-image:linear-gradient(to top,var(--CTA),hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) + 20%)));border:1px solid #000}.nextStep--solid{background-color:var(--CTA)}.nextStep--white{color:#fff}.nextStep--black{color:#000}.icon{display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box;pointer-events:none}@media (min-width:768px){body{background-color:var(--secondaryColor)}}body.fullScreenVsl .video,main{display:flex;flex-direction:column}.icon,main>section{overflow:hidden}[class^=container]{width:100%;max-width:var(--container-max-width);margin-right:auto;margin-left:auto;padding-right:16px;padding-left:16px}.video{position:relative;text-align:center}body.fullScreenVsl .video{justify-content:center;background-color:#000}@media (orientation:portrait){body.fullScreenVsl .video{width:100vw;height:auto}}@media (orientation:landscape){body.fullScreenVsl .video{height:100vh}}.video__placeholder{width:100%;opacity:0}.video--fullScreenInline .vjs-controls-disabled .vjs-big-play-button{display:block;visibility:visible}.video--fullScreenInline .vjs-control-bar{display:none}@media (max-width:767px) and (orientation:portrait){.video--fullScreenInline .bc-player-default_default.vjs-fluid.vjs-16-9:not(.vjs-audio-only-mode){padding-top:100%}}.video .video-js{overflow:hidden;border-radius:var(--default-radius)}body.fullScreenVsl .video .video-js{border-radius:0}@media (min-width:850px){body.fullScreenVsl .video .video-js{height:100%;padding-top:0!important}}.video .video-js .vjs-big-play-button{background-color:transparent;border:0}.video .video-js.video-js--default{position:absolute;top:0;left:0;overflow:hidden}.video .vjs-poster,.video--square .vjs-poster{background-size:cover}.video--square{max-width:480px;height:auto;margin-right:auto;margin-left:auto}.video--square #vslVideo{padding-top:100%}.video--fullscreen .vjs-control-bar{display:none}.video--fullscreen .vjs-big-play-centered:not(.vjs-fullscreen){cursor:pointer}.video.video--bigPlayWithText{position:relative;text-align:center;box-shadow:0 0 80px 80px red}.video.video--bigPlayWithText__placeholder{width:100%;opacity:0}.video.video--bigPlayWithText .video-js .vjs-big-play-button{height:var(--size);width:var(--size);color:#000;font-size:13.3em;background-color:transparent;background-color:rgba(0,0,0,.56);border:0;border-radius:50%;top:50%;left:50%;margin-top:calc(var(--size)*-.5);margin-left:calc(var(--size)*-.5);transform:scale(1);animation:pulsing 1s infinite}@media (max-width:767px){.video.video--bigPlayWithText .video-js .vjs-big-play-button{--size: 130px;--sizeInner: 100px}}@media (min-width:768px) and (max-width:849px){.video.video--bigPlayWithText .video-js .vjs-big-play-button{--size: 250px;--sizeInner: 200px}}@media (min-width:850px){.video.video--bigPlayWithText .video-js .vjs-big-play-button{--size: 380px;--sizeInner: 300px}}.video.video--bigPlayWithText .video-js .vjs-big-play-button::before{content:"";position:absolute;height:var(--sizeInner);width:var(--sizeInner);display:block;border-radius:50%;background-color:#fff;top:calc((var(--sizeInner) - var(--size))/2*-1);left:calc((var(--sizeInner) - var(--size))/2*-1)}@media (max-width:849px){.video.video--bigPlayWithText .video-js .vjs-big-play-button::before{left:50%;top:50%;transform:translate(-50%,-50%)}}.video.video--bigPlayWithText .video-js .vjs-big-play-button::after{content:"CLICK HERE TO PLAY VIDEO";width:var(--width);height:60px;font-size:24px;line-height:1.2;position:absolute;display:block;top:70px;left:calc(50% - (var(--width)/2));color:#201f1f;text-shadow:0 3px 6px #00000080;font-weight:700}@media (max-width:767px){.video.video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 76px;font-size:10px;top:29px}}@media (min-width:768px) and (max-width:849px){.video.video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 115px;font-size:15px;top:41px}}@media (min-width:850px){.video.video--bigPlayWithText .video-js .vjs-big-play-button::after{--width: 185px}}.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{content:"";position:absolute;width:var(--size);height:var(--size);display:block;transform:scaleX(-1) rotate(45deg);background:url(https://dtjlhiahlv53j.cloudfront.net/assets/nucific/biox4-vsl-page/d/arrow-right.svg) center/contain no-repeat}@media (max-width:767px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 20px;top:55px;right:18px}}@media (min-width:768px) and (max-width:849px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 36px;top:80px;right:45px}}@media (min-width:850px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::after{--size: 70px;top:125px;right:60px}}.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{display:block;content:""!important;background-color:#000;width:calc(var(--size)*2.3);height:calc(var(--size)*2.3)}@media (max-width:767px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 39px;top:10px;left:54%;transform:translateX(-50%) scale(.4)}}@media (min-width:768px) and (max-width:849px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 39px;top:50px;left:55%;transform:translate(-50%,-50%) scale(1)}}@media (min-width:850px){.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{--size: 40px;top:10px;left:55%;transform:translateX(-50%) scale(1.2)}}.video.video--bigPlayWithText .video-js .vjs-big-play-button .vjs-icon-placeholder::before{color:#000;position:relative;font-size:200px}:root{--footer-logo-width: 98px;--footer-logo-height: .62222em;--footer-statement-font-size: 12px;--footer-legal-font-size: 14px;--footer-address-font-size: 14px}@media (max-width:374px){:root{--footer-legal-font-size: 12px;--footer-address-font-size: 12px}}@media (min-width:768px){:root{--footer-statement-font-size: 14px;--footer-legal-font-size: 16px;--footer-address-font-size: 16px}}.footer{position:relative;z-index:1;display:flex;padding-block:calc(var(--elements-flow)*4);color:#000;background-color:#fff}.footer [class^=container]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(var(--elements-flow)*2)}.footer__logo{display:flex;align-items:center;width:var(--footer-logo-width)}.footer--svg .footer__logo{font-size:var(--footer-logo-width)}.footer--img .footer__logo{width:55%}.footer__logo .icon{height:var(--footer-logo-height)}.footer__logo img,.header__logo img{width:100%}.footer__statement{font-size:var(--footer-statement-font-size);line-height:1.6}.footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--elements-flow);font-size:var(--footer-legal-font-size)}.footer__address{font-size:var(--footer-address-font-size);line-height:1.6}:root{--header-logo-width: 98px;--header-logo-height: .62222em}@media (min-width:768px){:root{--header-logo-width: 135px}}.header{position:relative;z-index:1;display:flex;padding-block:15px;color:#fff;background-color:#fff}.header [class^=container]{display:flex;align-items:center;justify-content:center}.header__logo{display:flex;align-items:center;width:var(--header-logo-width)}.header--svg .header__logo{font-size:var(--header-logo-width)}.header--img .header__logo{width:55%}.header__logo .icon{height:var(--header-logo-height)}.seenOn{padding-block:calc(var(--elements-flow)*4);background-color:var(--mainColor)}.seenOn__title{position:relative;color:#fff;margin-bottom:calc(var(--elements-flow)*2);z-index:1}.seenOn__title span{background-color:var(--mainColor);padding-inline:calc(var(--elements-flow)*2)}.seenOn__title:before{content:"";position:absolute;top:50%;left:50%;display:block;width:100%;height:2px;background-color:#fff;opacity:.5;transform:translate(-50%,-50%);z-index:-1}@media (min-width:768px){.seenOn__title:before{width:90%}}.seenOn__list{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--elements-flow)/2)}@media (max-width:767px){.seenOn__list{flex-wrap:wrap;gap:calc(var(--elements-flow)*2)}.seenOn__item{flex:0 1 calc(50% - calc(var(--elements-flow)*2));width:calc(50% - calc(var(--elements-flow)*2))}}.seenOn__item img{max-width:100%;height:auto}:root{--vsl-radius: calc(var(--default-radius) * 2);--soundBanner-fs: 16px;--max-cta-width: 340px}@media (min-width:768px){:root{--soundBanner-fs: 20px}}.vsl{position:relative;padding-block:calc(var(--elements-flow)*2) calc(var(--elements-flow)*4);background-color:var(--secondaryColor)}body.fullScreenVsl .vsl{padding-top:0}body.fullScreenVsl .vsl [class^=container]{padding-inline:0;max-width:none}.vsl__title{margin-bottom:calc(var(--elements-flow)*2)}body.fullScreenVsl .vsl__title{display:none}.vsl__title--dynamic-title{display:flex;flex-direction:column}.vsl__title--dynamic-title b{display:block;margin-top:.5em;font-weight:300;color:var(--titleColor)}.vsl__subtitle{margin-bottom:.83333em;text-align:center}.vsl .fadeIn,.vsl .fadeOut{animation-name:appear;animation-duration:.5s}.vsl .fadeOut{animation-name:disappear}.vsl .soundBanner{display:flex;justify-content:center;align-items:center;gap:calc(var(--elements-flow)/1.5);padding:calc(var(--elements-flow)*2) var(--elements-flow)}.vsl .soundBanner__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:calc(var(--elements-flow)/2);margin:0}@media (min-width:768px){.vsl .soundBanner__content{flex-direction:row;gap:calc(var(--elements-flow)/4)}}.vsl .soundBanner__content,.vsl .soundBanner__content b{font-size:var(--soundBanner-fs);font-weight:700;line-height:1.2;color:#000;letter-spacing:normal}.vsl .soundBanner__content b{color:var(--titleColor)}.vsl .icon.icon--speaker{font-size:1.875em;color:var(--titleColor)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9za2lucy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvc2tpbnMvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy92YXJpYWJsZXMvX3NwYWNpbmcuc2NzcyIsImFic3RyYWN0cy9wbGFjZWhvbGRlcnMvX3NoYWRvd3Muc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCIuLi9jb21wb25lbnRzL192c2wvaW5kZXguc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwiYmFzZS9faGVscGVyLWNsYXNzZXMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9fdmFyaWFibGVzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci9pbmRleC5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWFkZXIvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVhZGVyL192YXJpYWJsZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvc2Vlbk9uL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL3ZzbFNlY3Rpb24vX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy92c2xTZWN0aW9uL2luZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBLEssQ0FDSSwrQixDQUNBLGtCLENBQ0Esa0IsQ0FDQSxrQixDQUVBLGlDLENBQ0EscUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsOEIsQ0FDQSxpQixDQUNBLG1CLENBQ0EsbUIsQ0FFQSw4QixDQUNBLGtCLENBQ0EsaUIsQ0FDQSxrQixDQUVBLHdCLENBQ0EsVyxDQUNBLFksQ0FDQSxZLENDeEJBLGlDLENBQ0Esc0MsQ0FHQSxhLENBQ0EsYSxDQUNBLGEsQ0FDQSxnQixDQ3FqQkEsZ0REN2pCSixLLENBV1EsYSxDQUNBLGEsQ0FDQSxlLEFDZ2pCSiwwQkQ3akJKLEssQ0FpQlEsYSxDQUNBLGEsQ0FDQSxlRWxCUixLLENBRUkseUMsQ0FDQSxxQixDQUNBLHNCLENEd2pCQSx5QkM1akJKLEssQ0FPUSxzQixBRHFqQkosZ0RDNWpCSixLLENBV1EsdUIsQURpakJKLDBCQzVqQkosSyxDQWVRLHVCLEFENmlCSix5QkVuaEJKLFMsQ0FFUSxzQyxBRmloQkosZ0RFbmhCSixTLENBTVEsc0MsQUY2Z0JKLDBCRW5oQkosUyxDQVVRLHNDQy9DUixDLENBQUEsSSxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE8sQ0FBQSxLLENBQUEsSyxDQUFBLEMsQ0FBQSxHLENBQUEsVSxDQUFBLEksQ0FBQSxNLENBQUEsTyxDQUFBLE0sQ0FBQSxJLENBQUEsSSxDQUFBLEUsQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxHLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsSyxDQUFBLFUsQ0FBQSxNLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsQyxDQUFBLE0sQ0FBQSxHLENBQUEsRyxDQUFBLEssQ0FBQSxFLENBQUEsSSxDQUFBLEksQ0FBQSxHLENBQUEsTSxDQUFBLEUsQ0FBQSxNLENBQUEsQyxDQUFBLEcsQ0FBQSxDLENBQUEsSSxDQUFBLEMsQ0FBQSxJLENBQUEsTyxDQUFBLEssQ0FBQSxJLENBQUEsTSxDQUFBLE0sQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxLLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxDLENBQUEsRSxDQUFBLEcsQ0FBQSxLLENBYUUsUSxDQUNELFMsQ0FDQSxRLENBRUEsWSxDQUNBLHVCLENBbEJELEcsQ0FhRSxRLENBQ0QsUyxDQUdBLFksQ0FqQkQsUSxDQUFBLE0sQ0FBQSxJLENBQUEsTSxDQWlCQyxZLENBQ0EsdUIsQ0FsQkQsTSxDQUFBLEksQ0FjQyxTLENBQ0EsUSxDQWZELE0sQ0FhRSxRLENBU0YsTSxDQUNJLFMsQ0N3T0oseUQsQ0RwT0EsTyxDQUFBLEssQ0FBQSxPLENBQUEsVSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsRyxDQUFBLE8sQ0FFQyxhLENBR0QsSSxDRXZCSSxpQixDQUNBLHNCLENBQXlCLGtDLENBQXFDLGlDLENBRTlELGlDLENDZkEsMkIsQ0FDQSxjLENBQ0EsZSxDQUNBLGlCLENBQ0Esc0IsQ0NMQSxZLENBQ0EscUIsQ0p1Q0osRSxDQUFBLEUsQ0FDQyxlLENBR0QsVSxDQUFBLEMsQ0FDQyxXLENBR0QsZ0IsQ0FBQSxpQixDQUFBLE8sQ0FBQSxRLENBR0MsWSxDQUdELEssQ0E0UUksd0IsQ0FDQSxnQixDQXhRSixnRCxDQUFBLDZDLENBQUEsaUQsQ0FBQSxxRCxDQUlJLHVCLENBQ0Esb0IsQ0FHSixrQixDQUVJLG9CLENBZ0JKLEssQ0FBQSxNLENBQUEsSyxDQUdJLG9CLENBQ0EsZSxDQUNBLE8sQ0FDQSxjLENBUUosVUFBQSxXLENBQ0ksWSxDQUNBLFEsQ0FRSixRLENBQ0ksWSxDQVVKLEksQ0FDSSxjLENBQ0EsNkIsQ0FDQSx5QixDQU9KLE8sQ0FDSSxtQixDQU9KLFEsQ0FBQSxPLENBRUksUyxDQVFKLEcsQ0FDSSxRLENBQ0EsOEIsQ0FvTUEscUIsQ0E3S0osUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FBQSxLLENBQUEsTSxDQU1JLHVCLENBTkosTSxDQUFBLEssQ0FBQSxNLENBQUEsUSxDQUlJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQUEsSyxDQUVJLGtCLENBVUosTSxDQUFBLE0sQ0FFSSxtQixDQWFKLE0sQ0FJSSx5QixDQUVBLGlCLENBTkosdUIsQ0FBQSxpQixDQUFBLGtCLENBSUkseUIsQ0FDQSxjLENBQ0EsaUIsQ0FPSixnQixDQUFBLG9CLENBRUksYyxDQVVKLG9CLENBQUEsaUIsQ0FFSSxxQixDQUNBLFMsQ0FDQSxZLENBQ0EsVyxDQVNKLGtCLENBQ0ksNEIsQ0FDQSwyQixDQUNBLDhCLENBQ0Esc0IsQ0FRSixnRCxDQUFBLDZDLENBRUksdUIsQ0FPSix3QixDQUFBLHVCLENBRUksUSxDQUNBLFMsQ0VuUnNCLFEsQ0YyUjFCLFEsQ0FDSSxhLENBQ0Esa0IsQ0FZSixJLENBQUEsSyxDQUFBLE0sQ0FkQSxRLENBbUJJLFUsQ0FJSixnQixDQUNJLGtCLENBQ0EsZ0IsQ0FHSixXLENBQ0ksa0IsQ0FDQSxnQixDQWFKLFEsQ0FDSSxlLENBR0osWSxDQUNJLGEsQ0FDQSxlLENBQ0EsVSxDQUNBLGMsQ0V6V0osSSxDQUNJLHFCLENBSUosQyxDQUFBLE8sQ0FBQSxRLENBRVcsa0IsQ0FXWCxDLENBRUEsTSxDQUYyQixhLENBQWdCLGMsQ0FFM0MsTSxDQUNJLFMsQ0FDQSw0QixDQUErQyxjLENHekJuRCxPLENBQUEsSyxDQUNJLHNCLENBR0osSyxDQUNJLHVCLENBR0osVSxDQUNJLDJCLENGQUosRSxDQXFCQSxFLENBSUksZSxDQUNBLHVCLENBMUJKLEUsQ0FPQSxFLENBSEksZSxDQUhBLHNCLENBTUosRSxDQUNJLHNCLENBQ0EsZSxDQUdBLFEsQ0FDSSxhLENBQ0EsZ0IsQ0FDQSxjLENBQ0EsZSxDQUNBLHFJLENBSVIsRSxDQUNJLDBDLENBQ0EsbUMsQ0FDQSxzQixDQUdBLGlDLENBQ0EsNEMsQ0FDQSw2QyxDQUdKLEMsQ0FDSSxlLENBSUEsQyxDQUFBLFEsQ0FBQSxPLENBR0kseUIsQ040Z0JKLHlCTS9nQkEsQyxDQUFBLFEsQ0FBQSxPLENBTVEsd0IsQU55Z0JSLHdDUzVqQkosYSxDQUVRLGdCQUlSLEksQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FBcUIsZSxDQUFrQixhLENBRS9FLGUsQ0FBQSxhLENBQ0ksbUIsQ0FNUixTLENBRUksaUIsQ0FDQSxVLENBQ0EsOEIsQ0FDQSxhLENBQ0EsYyxDQUNBLGUsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxRLENBQ0Esa0IsQ0FDQSwyQixDQUNBLG1CLENBYkosUyxDQWVJLGUsQ0FFSSxvQixDQUNBLHNCLENBR0osZ0IsQ0FDSSxZLENBQ0EsbUIsQ0FHSixtQixDQUNJLDJHLENBQ0EscUIsQ0FHSixnQixDQUNJLDJCLENBR0osZ0IsQ0FDSSxVLENBR0osZ0IsQ0FDSSxVLENDeERSLEssQ0FDc0Isb0IsQ0FBdUIsUyxDQUFZLFUsQ0FBYSxRLENBQ2xFLGlCLENBQW9CLHFCLENBQXdCLGEsQ0FDNUMsWSxDQUNBLGEsQ0FDQSxzQixDQUF5QixtQixDVnVqQnpCLHlCTzdqQkosSSxDQUtRLHdDSENKLHlCLENHR0osSSxDQUNJLFksQ0FDQSxxQixDR1ZKLEssQ0hhQSxZLENBQ0ksZSxDQUdKLGtCLENBQ0ksVSxDQUNBLG9DLENBQ0EsaUIsQ0FDQSxnQixDQUNBLGtCLENBQ0EsaUIsQ0h0QkosTSxDQUNJLGlCLENBQ0EsaUIsQ0FFQSx5QixDQUdJLHNCLENBQ0EscUIsQ0ptakJKLDhCSXZqQkEseUIsQ0FPUSxXLENBQ0EsYSxBSitpQlIsK0JJdmpCQSx5QixDQVlRLGNBSVIsbUIsQ0FDSSxVLENBQ0EsUyxDQUlBLG9FLENBQ0ksYSxDQUNBLGtCLENBR0oseUMsQ0FDSSxZLENKMmhCUixvREl2aEJRLDJFQUFBLHFCLENBQ0ksa0JBS1osZ0IsQ0FDSSxlLENBQ0EsbUMsQ0FFQSxtQyxDQUNJLGUsQ0o0Z0JSLHlCSTdnQkksbUMsQ0FJUSxXLENBQ0EseUJBSVIscUMsQ0FDSSw0QixDQUNBLFEsQ0FHSixrQyxDQUNJLGlCLENBQW9CLEssQ0FBUSxNLENBQVMsZSxDQUk3QyxrQixDQWNJLDBCLENBYkEscUIsQ0FHSixjLENBQ0ksZSxDQUNBLFcsQ0FDQSxpQixDQUNBLGdCLENBRUEsd0IsQ0FDSSxnQixDQVNKLG1DLENBQ0ksWSxDQUdKLDhDQUFBLGdCLENBQ0ksYyxDQUlSLDZCLENBQ0ksaUIsQ0FDQSxpQixDQUNBLDRCLENBRUEsMEMsQ0FDSSxVLENBQWEsUyxDQUliLDRELENBQ0ksa0IsQ0FDQSxpQixDQUNBLFUsQ0FDQSxnQixDQUFtQiw0QixDQUNuQixnQyxDQUNBLFEsQ0FDQSxpQixDQUNBLE8sQ0FDQSxRLENBQ0EsZ0MsQ0FDQSxpQyxDQUNBLGtCLENBQ0EsNkIsQ0pzY1oseUJJbmRRLDRELENBZ0JRLGEsQ0FDQSxvQixBSmtjaEIsK0NJbmRRLDRELENBcUJRLGEsQ0FDQSxvQixBSjZiaEIseUJJbmRRLDRELENBMEJRLGEsQ0FDQSxvQkFHSixvRSxDQUNJLFUsQ0FDQSxpQixDQUNBLHVCLENBQ0Esc0IsQ0FDQSxhLENBQ0EsaUIsQ0FDQSxxQixDQUNBLCtDLENBQ0EsZ0QsQ0o0YWhCLHlCSXJiWSxvRSxDQVlRLFEsQ0FDQSxPLENBQ0EsZ0NBR1IsbUUsQ0FDSSxrQyxDQUVBLGtCLENBQ0EsVyxDQUNBLGMsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxhLENBQ0EsUSxDQUNBLGlDLENBQ0EsYSxDQUNBLCtCLENBQ0EsZSxDSnVaaEIseUJJcGFZLG1FLENBZ0JRLGEsQ0FDQSxjLENBQ0EsVSxBSmtacEIsK0NJcGFZLG1FLENBc0JRLGMsQ0FDQSxjLENBQ0EsVSxBSjRZcEIseUJJcGFZLG1FLENBNEJRLGdCQUtKLHlGLENBQ0ksVSxDQUNBLGlCLENBQ0EsaUIsQ0FDQSxrQixDQUNBLGEsQ0FHQSxrQyxDQUNBLDZILENKMFhwQix5QkluWWdCLHlGLENBWVEsWSxDQUNBLFEsQ0FDQSxZLEFKcVh4QiwrQ0luWWdCLHlGLENBa0JRLFksQ0FDQSxRLENBQ0EsWSxBSitXeEIseUJJbllnQix5RixDQXdCUSxZLENBQ0EsUyxDQUNBLFlBSVIsMEYsQ0FDSSxhLENBQ0Esb0IsQ0FDQSxxQixDQUdBLDJCLENBQ0EsNEIsQ0o4VnBCLHlCSXJXZ0IsMEYsQ0FVUSxZLENBQ0EsUSxDQUNBLFEsQ0FDQSxzQyxBSndWeEIsK0NJcldnQiwwRixDQWlCUSxZLENBQ0EsUSxDQUNBLFEsQ0FDQSx5QyxBSmlWeEIseUJJcldnQiwwRixDQXdCUSxZLENBQ0EsUSxDQUNBLFEsQ0FDQSx1Q0FNUiwwRixDQUNJLFUsQ0FDQSxpQixDQUNBLGUsQ081UHhCLEssQ0FDSSx5QixDQUNBLDhCLENBQ0Esa0MsQ0FDQSw4QixDQUNBLGdDLENYd2pCQSx5Qlc3akJKLEssQ0FRUSw4QixDQUNBLGtDLEFYb2pCSix5Qlc3akJKLEssQ0FhUSxrQyxDQUNBLDhCLENBQ0Esa0NDYlIsTyxDQUNJLGlCLENBQ0EsUyxDQUNBLFksQ0FDQSwwQyxDQUNBLFUsQ0FDQSxxQixDQUVBLDBCLENBQ0ksWSxDQUNBLGtCLENBQ0Esc0IsQ0FDQSxxQixDQUNBLGdDLENBR0osYSxDQUNJLFksQ0FDQSxrQixDQUNBLDhCLENBRUEsMEIsQ0FDSSxrQyxDQUdKLDBCLENBQ0ksUyxDQUdKLG1CLENBQ0ksZ0MsQ0FHSixpQixDQ0ZBLGlCLENER0ksVSxDQUlSLGtCLENBQ0ksMkMsQ0FDQSxlLENBR0osYyxDQUNJLFksQ0FDQSxjLENBQ0Esa0IsQ0FDQSxzQixDQUNBLHdCLENBQ0EsdUMsQ0FHSixnQixDQUNJLHlDLENBQ0EsZSxDRXhEUixLLENBQ0kseUIsQ0FDQSw4QixDZDJqQkEseUJjN2pCSixLLENBS1EsNEJESFIsTyxDQUNJLGlCLENBQ0EsUyxDQUNBLFksQ0FDQSxrQixDQUNBLFUsQ0FDQSxxQixDQUVBLDBCLENBQ0ksWSxDQUNBLGtCLENBQ0Esc0IsQ0FHSixhLENBQ0ksWSxDQUNBLGtCLENBQ0EsOEIsQ0FFQSwwQixDQUNJLGtDLENBR0osMEIsQ0FDSSxTLENBR0osbUIsQ0FDSSxnQyxDRTlCWixPLENBQ0ksMEMsQ0FDQSxpQyxDQUVBLGMsQ0FDSSxpQixDQUNBLFUsQ0FDQSwwQyxDQUNBLFMsQ0FFQSxtQixDQUNJLGlDLENBQ0EsMkMsQ0FHSixxQixDQUNJLFUsQ0FDQSxpQixDQUNBLE8sQ0FDQSxRLENBQ0EsYSxDQUNBLFUsQ0FDQSxVLENBQ0EscUIsQ0FDQSxVLENBQ0EsOEIsQ0FDQSxVLENmbWlCUix5QmU5aUJJLHFCLENBY1EsV0FLWixhLENBQ0ksWSxDQUNBLDZCLENBQ0Esa0IsQ0FDQSxnQyxDZnVoQkoseUJlM2hCQSxhLENBT1EsYyxDQUNBLGdDLENBSVIsYSxDQUVRLGlELENBQ0EsZ0RBR0osaUIsQ0FDSSxjLENBQ0EsVyxDQ3REWixLLENBQ0ksNkMsQ0FFQSxzQixDQUVBLHNCLENoQndqQkEseUJnQjdqQkosSyxDQVFRLHdCQ05SLEksQ0FDSSxpQixDQUNBLHVFLENBQ0Esc0MsQ0FFQSx1QixDQUNJLGEsQ0FJQSwwQyxDQUNJLGdCLENBQ0EsYyxDQUlSLFcsQ0FDSSwwQyxDQUVBLDhCLENBQ0ksWSxDQUdKLDBCLENBQ0ksWSxDQUNBLHFCLENBRUEsNEIsQ0FDSSxhLENBQ0EsZSxDQUNBLGUsQ0FDQSx1QixDQUtaLGMsQ0FDSSxzQixDQUNBLGlCLENBR0osWSxDQUtBLGEsQ0FKSSxxQixDQUNBLHNCLENBR0osYSxDQUNJLHdCLENBSUosaUIsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxrQixDQUNBLGtDLENBQ0EseUQsQ0FHSiwwQixDQUNJLFksQ0FDQSxxQixDQUNBLHNCLENBQ0Esc0IsQ0FDQSxnQyxDQUNBLFEsQ2pCMGZKLHlCaUJoZ0JBLDBCLENBU1Esa0IsQ0FDQSxrQ0FJUiwwQixDQUFBLDRCLENBRUksK0IsQ0FDQSxlLENBQ0EsZSxDQUNBLFUsQ0FDQSxxQixDQUdKLDRCLENBQ0UsdUIsQ0FHRix3QixDQUNJLGlCLENBQ0EsdUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tIHYwMlxuOnJvb3Qge1xuICAgIC0tbWFpbkNvbG9yOiAgICAgICAgaHNsKDE5MCwgNzQlLCAzMCUpO1xuICAgIC0tbWFpbkNvbG9yX2g6ICAgICAgMTkwO1xuICAgIC0tbWFpbkNvbG9yX3M6ICAgICAgNzQlO1xuICAgIC0tbWFpbkNvbG9yX2w6ICAgICAgMzAlO1xuICAgIFxuICAgIC0tc2Vjb25kYXJ5Q29sb3I6ICBoc2woMCwgMCUsIDk4JSk7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9oOiAgMDtcbiAgICAtLXNlY29uZGFyeUNvbG9yX3M6ICAwJTtcbiAgICAtLXNlY29uZGFyeUNvbG9yX2w6ICA5OCU7XG5cbiAgICAtLXRpdGxlQ29sb3I6ICAgICAgaHNsKDAsIDc1JSwgNDUlKTtcbiAgICAtLXRpdGxlQ29sb3JfaDogICAgICAwO1xuICAgIC0tdGl0bGVDb2xvcl9zOiAgICAgIDc1JTtcbiAgICAtLXRpdGxlQ29sb3JfbDogICAgICA0NSU7XG5cbiAgICAtLXRleHRDb2xvcjogICAgICAgICAgaHNsKDM0NSwgNiUsIDEzJSk7XG4gICAgLS10ZXh0Q29sb3JfaDogICAgICAgICAgMzQ1O1xuICAgIC0tdGV4dENvbG9yX3M6ICAgICAgICAgIDYlO1xuICAgIC0tdGV4dENvbG9yX2w6ICAgICAgICAgIDEzJTtcbiAgICBcbiAgICAtLUNUQTogICAgICAgICAgICAgICAgaHNsKDM1LCA5NCUsIDU1JSk7XG4gICAgLS1DVEFfaDogICAgICAgICAgICAgICAgMzU7XG4gICAgLS1DVEFfczogICAgICAgICAgICAgICAgOTQlO1xuICAgIC0tQ1RBX2w6ICAgICAgICAgICAgICAgIDU1JTtcbn1cblxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4kZ3Jhbml0ZS1ncmV5OiAgICAgICAgICAgICAgIzYyNWU1ZDtcbiRjbGF5LWJyb3duOiAgICAgICAgICAgICAgICAjYmE3YzNiO1xuJHdhcm0tZ3JleTogICAgICAgICAgICAgICAgICM3MDcwNzA7XG5cbi8vLSBhcHBseSBjb2xvcnNcbiRtYWluQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tbWFpbkNvbG9yKTsgLy9oc2woMTkwLCA3NCUsIDMwJSlcbiRtYWluQ29sb3JMaWdodDogICAgICAgICAgICAgICAgaHNsKCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfaCkgKyAxICksIGNhbGMoIHZhcigtLW1haW5Db2xvcl9zKSAtIDQzJSApLCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfbCkgKyA2MyUgKSApO1xuJG1haW5Db2xvck9wYWNpdHk6ICAgICAgICAgICAgICBoc2xhKHZhcigtLW1haW5Db2xvcl9oKSwgdmFyKC0tbWFpbkNvbG9yX3MpLCB2YXIoLS1tYWluQ29sb3JfbCksIC4zICk7XG4kbWFpbkNvbG9yTGlnaHRPcGFjaXR5OiAgICAgICAgIGhzbGEoY2FsYyggdmFyKC0tbWFpbkNvbG9yX2gpICsgMSApLCBjYWxjKCB2YXIoLS1tYWluQ29sb3JfcykgLSA0MyUgKSwgY2FsYyggdmFyKC0tbWFpbkNvbG9yX2wpICsgNjMlICksIC44ICk7XG5cbiRzZWNvbmRhcnlDb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tc2Vjb25kYXJ5Q29sb3IpO1xuJHNlY29uZGFyeUNvbG9yT3BhY2l0eTogICAgICAgICBoc2xhKHZhcigtLXNlY29uZGFyeUNvbG9yX2gpLCB2YXIoLS1zZWNvbmRhcnlDb2xvcl9zKSwgdmFyKC0tc2Vjb25kYXJ5Q29sb3JfbCksIC45NSApO1xuXG4kdGl0bGVDb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLXRpdGxlQ29sb3IpO1xuJHRleHRDb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS10ZXh0Q29sb3IpO1xuJHRleHRDb2xvckxpZ2h0OiAgICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRleHRDb2xvcl9oKSAtIHZhcigtLXRleHRDb2xvcl9oKSApLCBjYWxjKCB2YXIoLS10ZXh0Q29sb3JfcykgLSB2YXIoLS10ZXh0Q29sb3JfcykgKSwgY2FsYyggdmFyKC0tdGV4dENvbG9yX2wpICsgNDIlICkgKTtcblxuJGhpZ2hsaWdodEJnQ29sb3I6ICAgICAgICAgICAgICBoc2woIGNhbGMoIHZhcigtLXRlcnRpYXJ5Q29sb3JfaCkgKyAxICksIHZhcigtLXRlcnRpYXJ5Q29sb3JfcykgLCBjYWxjKCB2YXIoLS10ZXJ0aWFyeUNvbG9yX2wpICsgMjMlICkgKTtcblxuJGJ1dHRvbkNvbG9yU3RhcnQ6ICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuJGJ1dHRvbkNvbG9yRW5kOiAgICAgICAgICAgICAgICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGMoIHZhcigtLUNUQV9sKSArIDIwJSApICk7IC8vLSBoc2woMTIwLCAxMDAlLCA0MCUpXG4kYnV0dG9uR3JhZGllbnQ6ICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuJGJ1dHRvbkNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS1DVEEpO1xuXG4kaGVhZGVyQ29sb3I6ICAgICAgICAgICAgICAgICAgICR0aXRsZUNvbG9yO1xuJGJnQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kYmdDb2xvck9wYWNpdHk6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjkpO1xuXG4kbWFpblNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgNXB4IDVweCAwICNjYWM5Yzk7XG4kYnV0dG9uVGV4dFNoYWRvdzogICAgICAgICAgICAgICRjbGF5LWJyb3duO1xuJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDogICAgICAkd2FybS1ncmV5O1xuXG4kYm94U2hhZG93OiAgICAgICAgICByZ2JhKGJsYWNrLCAuMTYpOyIsIjpyb290IHtcclxuICAgIC0tbWFpbkZvbnQ6IFwiRmlndHJlZVwiLCBzYW5zLXNlcmlmO1xyXG4gICAgLS1zZWNvbmRhcnlGb250OiAnQ29taWMgTmV1ZScsIGN1cnNpdmU7XHJcblxyXG4gICAgLy8tIFR5cG9ncmFwaHlcclxuICAgIC0taDEtZnM6IDI0cHg7XHJcbiAgICAtLWgyLWZzOiAzMnB4O1xyXG4gICAgLS1oMy1mczogMjBweDtcclxuICAgIC0taW50cm8tZnM6IDIwcHg7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1oMS1mczogMjZweDtcclxuICAgICAgICAtLWgyLWZzOiAzMnB4O1xyXG4gICAgICAgIC0taDMtZnM6IDI1cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLWgxLWZzOiAyOHB4O1xyXG4gICAgICAgIC0taDItZnM6IDI2cHg7XHJcbiAgICAgICAgLS1oMy1mczogMzBweDtcclxuICAgIH1cclxufVxyXG5cclxuJG1haW5Gb250OiB2YXIoLS1tYWluRm9udCk7XHJcbiRzZWNvbmRhcnlGb250OiB2YXIoLS1zZWNvbmRhcnlGb250KTsiLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBtb2JpbGVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ21vYmlsZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdtb2JpbGUnOiAzNzVweCxcclxuICAvLyAndGFibGV0JzogNzY4cHgsXHJcbiAgLy8gJ2Rlc2t0b3AnOiAxMDI0cHhcclxuICAnbW9iaWxlLW1pZCc6IDUyMHB4LFxyXG4gICdtb2JpbGUtbWF4JzogNTc1cHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICd0YWJsZXQtbWlkJzogODUwcHgsXHJcbiAgJ2Jvb3QtZGVza3RvcCc6IDk5MnB4LFxyXG4gICdkZXNrdG9wJzogMTAyNXB4LFxyXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweCxcclxuICAnZGVza3RvcC1tYXgnOiAxOTIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLSBtb2JpbGUgb25seVxyXG4vLy8vLSAoJzx0YWJsZXQnKSAtIG1heC13aWR0aDogNzY3cHhcclxuLy8tIHRhYmxldCBvbmx5XHJcbi8vLy8tICgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSAtIG1pbi13aWR0aDogNzY4cHg7IG1heC13aWR0aDogMTAyNHB4XHJcbi8vLSBkZXNrdG9wIG9ubHlcclxuLy8vLy0gKCc+PWRlc2t0b3AnKSAtIG1pbi13aWR0aDogMTAyNXB4XHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdob3Zlcic6ICcoaG92ZXI6IGhvdmVyKScsXHJcbiAgJ2ZpbmUnOiAnKHBvaW50ZXI6IGZpbmUpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8tIERlZmluZSBzcGFjaW5nc1xyXG46cm9vdCB7XHJcbiAgICAvLy0gU3BhY2luZ1xyXG4gICAgLS1jb250YWluZXItbWF4LXdpZHRoOiBjYWxjKDgwMHB4ICsgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcclxuICAgIC0tZWxlbWVudHMtZmxvdzogMTBweDtcclxuICAgIC0tZGVmYXVsdC1yYWRpdXM6IDE2cHg7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XHJcbiAgICAgICAgLS1lbGVtZW50cy1mbG93OiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAtLWVsZW1lbnRzLWZsb3c6IDE2cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLWVsZW1lbnRzLWZsb3c6IDE2cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiJXRleHQtc2hhZG93IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAxcHggMnB4IDJweCAkbWFpblNoYWRvdztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAzcHggM3B4ICRtYWluU2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCA1cHggM3B4ICRtYWluU2hhZG93O1xyXG4gICAgfVxyXG59XHJcblxyXG4lYnRuLXRleHQtc2hhZG93IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggJGJ1dHRvblRleHRTaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDNweCA2cHggJGJ1dHRvblRleHRTaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAzcHggNnB4ICRidXR0b25UZXh0U2hhZG93O1xyXG4gICAgfVxyXG59XHJcblxyXG4lYnRuLXRleHQtc2hhZG93LWRpc2FibGVkIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggJGJ1dHRvblRleHRTaGFkb3dEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgM3B4IDZweCAkYnV0dG9uVGV4dFNoYWRvd0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgM3B4IDZweCAkYnV0dG9uVGV4dFNoYWRvd0Rpc2FibGVkO1xyXG4gICAgfVxyXG59XHJcblxyXG4lYm94LXNoYWRvdyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggJGJveFNoYWRvdztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4ICRib3hTaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggJGJveFNoYWRvdztcclxuICAgIH1cclxufVxyXG4iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAyICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXG4gKiAgICBhbmQgQ2hyb21lLlxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmNocm9tZWZyYW1lIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5cclxuLnZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBib2R5LmZ1bGxTY3JlZW5Wc2wgJiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCJwb3J0cmFpdFwiKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCJsYW5kc2NhcGVcIikge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1mdWxsU2NyZWVuSW5saW5lIHtcclxuICAgICAgICAudmpzLWNvbnRyb2xzLWRpc2FibGVkIC52anMtYmlnLXBsYXktYnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudmpzLWNvbnRyb2wtYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiLCBcInBvcnRyYWl0XCIpIHtcclxuICAgICAgICAgICAgLmJjLXBsYXllci1kZWZhdWx0X2RlZmF1bHQudmpzLWZsdWlkLnZqcy0xNi05Om5vdCgudmpzLWF1ZGlvLW9ubHktbW9kZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnZpZGVvLWpzIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZmF1bHQtcmFkaXVzKTtcclxuXHJcbiAgICAgICAgYm9keS5mdWxsU2NyZWVuVnNsICYge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldC1taWRcIikge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudmlkZW8tanMtLWRlZmF1bHQgeyBcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC52anMtcG9zdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNxdWFyZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgICAgICAjdnNsVmlkZW8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudmpzLXBvc3RlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLWZ1bGxzY3JlZW4ge1xyXG4gICAgICAgIC52anMtY29udHJvbC1iYXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnZqcy1iaWctcGxheS1jZW50ZXJlZDpub3QoLnZqcy1mdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiN7Jn0tLWJpZ1BsYXlXaXRoVGV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHZpZGVvLXN0cnVjdHVyZSwgZ3JhZGllbnQpO1xyXG4gICAgXHJcbiAgICAgICAgJl9fcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAudmlkZW8tanMge1xyXG4gICAgICAgICAgICAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzLjNlbTsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMCBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNTYpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNpemUpICogLS41KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNpemUpICogLS41KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHB1bHNpbmcgMXMgaW5maW5pdGU7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogMTMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zaXplSW5uZXI6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAyNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAtLXNpemVJbm5lcjogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAzODBweDtcclxuICAgICAgICAgICAgICAgICAgICAtLXNpemVJbm5lcjogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplSW5uZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXplSW5uZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygodmFyKC0tc2l6ZUlubmVyKSAtIHZhcigtLXNpemUpKSAvIDIgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygodmFyKC0tc2l6ZUlubmVyKSAtIHZhcigtLXNpemUpKSAvIDIgKiAtMSk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIkNMSUNLIEhFUkUgVE8gUExBWSBWSURFT1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAodmFyKC0td2lkdGgpIC8gMikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjAxRjFGO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwcHggM3B4IDZweCAjMDAwMDAwODA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLS13aWR0aDogNzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLXdpZHRoOiAxMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0td2lkdGg6IDE4NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vZHRqbGhpYWhsdjUzai5jbG91ZGZyb250Lm5ldC9hc3NldHMvbnVjaWZpYy9iaW94NC12c2wtcGFnZS9kL2Fycm93LXJpZ2h0LnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUpICogMi4zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNpemUpICogMi4zKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogMzlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDU0JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zaXplOiAzOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMS4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgLnZqcy1pY29uLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4gXHJcbiN2c2xWaWRlb1RodW1iLnZqcy1jb250cm9scy1kaXNhYmxlZCAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufSIsIi8vLSBSZXNldCBFeHRlbmRlZCAtIE9uIHRoaXMgcGFydGlhbCBJJ2xsIGV4dGVuZCB0aGUgRXJpYyBNZXllciByZXNldCBmaWxlIGJ5IGFkZGluZyBtb2Rlcm4gYW5kIHVzZWZ1bGwgc2VsZWN0b3JzXHJcblxyXG4vLy0gT3ZlcnJpZGUgZGVmYXVsdCBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgc28gd2lkdGggaXMgbm90IGFmZmVjdGVkIGJ5IHBhZGRpbmcgYW5kIGJvcmRlciBwcm9wZXJ0aWVzXHJcbmh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8tIEluaGVyaXQgcm9vdCBib3gtc2l6aW5nIHZhbHVlIHRvIGFsbCBET00gZWxlbWVudHNcclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cclxuXHJcbi8vLSBTZXQgYm9keSB0byBmaWxsIHZpZXdwb3J0LCBvcHRpbWl6ZSB0ZXh0LXJlbmRlcmluZyBhbmQgc21vb3RoIHNjcm9sbGluZ1xyXG5ib2R5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDsgXHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAvLy0gTm90ZSB0ZXh0LXJlbmRlcmluZyBzaG91bGQgYmUgY2hvc2VuIGRlcGVuZGluZyBvbiB1c2VkIGZvbnQtZmFtaWx5IGFuZCBwZXJmb3JtYW5jZSBnb2Fsc1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLy8tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90ZXh0LXJlbmRlcmluZ1xyXG59XHJcblxyXG4vLy0gUmVzZXQgYW5jaG9yIGxvb2sgJiBiZWhhdmlvdXJcclxuYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuYnV0dG9uIHsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLXdpZHRoOiAwOyBjdXJzb3I6cG9pbnRlcjsgXHJcbn1cclxuXHJcbi8vLSBBZGl0aW9uYWwgdG8gcmVzZXQuc2NzcywgcmVtb3ZlIG1hcmdpbiBvbiBGRjMrIFxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyB9XHJcbiIsIi8vLSBGb250IGZhbWlsaWVzXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJG1haW5Gb250O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDItZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAuMjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvckxpZ2h0O1xuICAgIH1cbn1cblxuaDMge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAgMik7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWVsZW1lbnRzLWZsb3cpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDMtZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJHRpdGxlQ29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1kZWZhdWx0LXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWRlZmF1bHQtcmFkaXVzKTtcbn1cblxuYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkbGVzcztcbn1cblxuYSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8Ym9vdC1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICB9XG59XG5cbm1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxubWFpbj5zZWN0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLy0gdG8gcmVtb3ZlIGhvcml6b250YWwgc2Nyb2xsIGNyZWF0ZWQgYnkgbmVnYXRpdmUgcG9zaXRpb24gb2YgZGVjb3JhdGl2ZSBiZy1pbWFnZXMgbG9jYXRlZCBvbiB0aGUgcmlnaHQgc2lkZVxufVxuXG5bY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbn0iLCIuaGlkZSwgLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC5iciB7XHJcbi8vICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvLy0gcHJlc2VydmUgd2hpdGVzcGFjZVxyXG5cclxuLy8gICAgICYtLW5vdC1zbWFsbC1tb2JpbGUge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScpIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgICYtLXNtYWxsLW1vYmlsZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLS1tb2JpbGUge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScsICc8dGFibGV0Jykge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJi0tbW9iaWxlLW1heCB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbWF4Jykge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJi0tdGFibGV0IHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLS10YWJsZXQtbGFuZHNjYXBlIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGRlc2t0b3AnLCAnbGFuZHNjYXBlJykge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJi0tZGVza3RvcCB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vLyAubm93cmFwIHtcclxuLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vIH1cclxuIiwiLy8tIEJ1dHRvbnMgcGFydGlhbFxuW3JvbGU9J2J1dHRvbiddIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLmJ0biB7IFxuICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWJhc2lzOiBhdXRvOyBtYXJnaW46IDAgYXV0bztcblxuICAgICYuZGlzYWJsZWQsIFtkaXNhYmxlZF0ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cblxuXG4ubmV4dFN0ZXAge1xuICAgIEBleHRlbmQgJWJveC1zaGFkb3c7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LWN0YS13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMi41O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlaW4gMnM7XG4gICAgYW5pbWF0aW9uOiBmYWRlaW4gMnM7XG5cbiAgICAmLFxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0Q29sb3IpO1xuICAgIH1cblxuICAgICYuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYtLWdyYWRpZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGJ1dHRvbkdyYWRpZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQ29sb3I7XG4gICAgfVxuXG4gICAgJi0td2hpdGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYtLWJsYWNrIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG4iLCIvLy0gUGFydGlhbCBmb3IgU1ZHIHNwcml0ZSBpY29uc1xyXG4uaWNvbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGZvbnQtc2l6ZTogMWVtOyAvKiBkZWZhdWx0LXNpemUgKi9cclxuICAgIGZpbGw6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3IgKi8gXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogZGVmYXVsdCBjb2xvciB3aGVuIGN1cnJlbnRDb2xvciBpcyB1c2VkICovXHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gICAgLS1mb290ZXItbG9nby13aWR0aDogOThweDtcclxuICAgIC0tZm9vdGVyLWxvZ28taGVpZ2h0OiAuNjIyMjJlbTtcclxuICAgIC0tZm9vdGVyLXN0YXRlbWVudC1mb250LXNpemU6IDEycHg7XHJcbiAgICAtLWZvb3Rlci1sZWdhbC1mb250LXNpemU6IDE0cHg7XHJcbiAgICAtLWZvb3Rlci1hZGRyZXNzLWZvbnQtc2l6ZTogMTRweDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlXCIpIHtcclxuICAgICAgICAtLWZvb3Rlci1sZWdhbC1mb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgLS1mb290ZXItYWRkcmVzcy1mb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICAgICAgLS1mb290ZXItc3RhdGVtZW50LWZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAtLWZvb3Rlci1sZWdhbC1mb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLS1mb290ZXItYWRkcmVzcy1mb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcblxyXG4uZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSo0KTtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiB2YXIoLS1mb290ZXItbG9nby13aWR0aCk7XHJcblxyXG4gICAgICAgIC5mb290ZXItLXN2ZyAmIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb290ZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9vdGVyLS1pbWcgJiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tZm9vdGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdGF0ZW1lbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9vdGVyLXN0YXRlbWVudC1mb250LXNpemUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGVnYWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1lbGVtZW50cy1mbG93KTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvb3Rlci1sZWdhbC1mb250LXNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2FkZHJlc3Mge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9vdGVyLWFkZHJlc3MtZm9udC1zaXplKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi5oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiAxNXB4O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiB2YXIoLS1oZWFkZXItbG9nby13aWR0aCk7XHJcblxyXG4gICAgICAgIC5oZWFkZXItLXN2ZyAmIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGVyLS1pbWcgJiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgICAtLWhlYWRlci1sb2dvLXdpZHRoOiA5OHB4O1xyXG4gICAgLS1oZWFkZXItbG9nby1oZWlnaHQ6IC42MjIyMmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgICAgIC0taGVhZGVyLWxvZ28td2lkdGg6IDEzNXB4O1xyXG4gICAgfVxyXG59IiwiLnNlZW5PbiB7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogNCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWluQ29sb3IpO1xyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW5Db2xvcik7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyAgXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpIC8gMik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpKTtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAqIDIpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjpyb290IHtcclxuICAgIC0tdnNsLXJhZGl1czogY2FsYyh2YXIoLS1kZWZhdWx0LXJhZGl1cykgKiAyKTtcclxuXHJcbiAgICAtLXNvdW5kQmFubmVyLWZzOiAxNnB4O1xyXG5cclxuICAgIC0tbWF4LWN0YS13aWR0aDogMzQwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIC0tc291bmRCYW5uZXItZnM6IDIwcHg7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcblxyXG4udnNsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAyKSBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogNCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XHJcblxyXG4gICAgYm9keS5mdWxsU2NyZWVuVnNsICYge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgIGJvZHkuZnVsbFNjcmVlblZzbCAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgKiAyKTtcclxuICAgICAgICBcclxuICAgICAgICBib2R5LmZ1bGxTY3JlZW5Wc2wgJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1keW5hbWljLXRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgIGIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGVDb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjgzMzMzZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYWRlSW4ge1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhcHBlYXI7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhZGVPdXQge1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkaXNhcHBlYXI7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XHJcbiAgICB9XHJcblxyXG4gICAgLnNvdW5kQmFubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpIC8gMS41KTtcclxuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWVsZW1lbnRzLWZsb3cpICogMikgdmFyKC0tZWxlbWVudHMtZmxvdyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zb3VuZEJhbm5lcl9fY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1lbGVtZW50cy1mbG93KSAvIDIpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tZWxlbWVudHMtZmxvdykgLyA0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zb3VuZEJhbm5lcl9fY29udGVudCxcclxuICAgIC5zb3VuZEJhbm5lcl9fY29udGVudCBiIHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLXNvdW5kQmFubmVyLWZzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNvdW5kQmFubmVyX19jb250ZW50IGIge1xyXG4gICAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5pY29uLmljb24tLXNwZWFrZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGl0bGVDb2xvcik7XHJcbiAgICB9XHJcbn1cclxuIl19 */
