/* Contao Open Source CMS, (c) 2005-2016 Leo Feyer, LGPL license */
@media(max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.ie7 img{-ms-interpolation-mode:bicubic}.ie8 img{width:auto}
/* Contao Open Source CMS, (c) 2005-2016 Leo Feyer, LGPL license */
body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li{float:left}.ce_gallery>ul li.col_first{clear:left}.float_left{float:left}.float_right{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
/* ColorBox, (c) 2011 Jack Moore, MIT license */
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url("../../assets/colorbox/images/loading.gif") no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url("../../assets/colorbox/images/controls.png") no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url("../../assets/colorbox/images/controls.png") no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url("../../assets/colorbox/images/controls.png") no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* MediaElement.js, (c) 2010-2014 John Dyer, MIT license */
.mejs-offscreen{position:absolute !important;top:-10000px;left:-10000px;overflow:hidden;width:1px;height:1px}.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0}.mejs-container:focus{outline:0}.me-plugin{position:absolute}.mejs-embed,.mejs-embed body{width:100%;height:100%;margin:0;padding:0;background:#000;overflow:hidden}.mejs-fullscreen{overflow:hidden !important}.mejs-container-fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:1000}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{width:100%;height:100%}.mejs-clear{clear:both}.mejs-background{position:absolute;top:0;left:0}.mejs-mediaelement{position:absolute;top:0;left:0;width:100%;height:100%}.mejs-poster{position:absolute;top:0;left:0;background-size:contain;background-position:50% 50%;background-repeat:no-repeat}:root .mejs-poster img{display:none}.mejs-poster img{border:0;padding:0;border:0}.mejs-overlay{position:absolute;top:0;left:0}.mejs-overlay-play{cursor:pointer}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url("../../assets/mediaelement/images/bigplay.svg") no-repeat}.no-svg .mejs-overlay-button{background-image:url("../../assets/mediaelement/images/bigplay.png")}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url("../../assets/mediaelement/images/background.png");background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9))}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url("../../assets/mediaelement/images/loading.gif") 50% 50% no-repeat}.mejs-container .mejs-controls{position:absolute;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url("../../assets/mediaelement/images/background.png");background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;font-family:Helvetica,Arial;border:0}.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url("../../assets/mediaelement/images/controls.svg") no-repeat}.no-svg .mejs-controls .mejs-button button{background-image:url("../../assets/mediaelement/images/controls.png")}.mejs-controls .mejs-button button:focus{outline:dotted 1px #999}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:10px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.mejs-container .mejs-controls .mejs-time a{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto}.mejs-controls .mejs-play button{background-position:0 0}.mejs-controls .mejs-pause button{background-position:0 -16px}.mejs-controls .mejs-stop button{background-position:-112px 0}.mejs-controls div.mejs-time-rail{direction:ltr;width:200px;padding-top:5px}.mejs-controls .mejs-time-rail span,.mejs-controls .mejs-time-rail a{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8))}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite}@-webkit-keyframes buffering-stripes{from{background-position:0 0}to{background-position:30px 0}}@-moz-keyframes buffering-stripes{from{background-position:0 0}to{background-position:30px 0}}@-ms-keyframes buffering-stripes{from{background-position:0 0}to{background-position:30px 0}}@-o-keyframes buffering-stripes{from{background-position:0 0}to{background-position:30px 0}}@keyframes buffering-stripes{from{background-position:0 0}to{background-position:30px 0}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px}.mejs-controls .mejs-mute button{background-position:-16px -16px}.mejs-controls .mejs-unmute button{background-position:-16px 0}.mejs-controls .mejs-volume-button{position:relative}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0}.mejs-controls a.mejs-horizontal-volume-slider{height:26px;width:56px;position:relative;display:block;float:left;vertical-align:middle}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8))}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8))}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none}.mejs-controls .mejs-captions-button{position:relative}.mejs-controls .mejs-captions-button button{background-position:-48px 0}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-51px;width:85px;height:100px;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px 10px 0 10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none !important;overflow:hidden}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none !important;display:block;color:#fff;overflow:hidden}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:55px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:0}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232)}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:20px;font-size:16px;color:#fff}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text{padding:3px 5px;background:url("../../assets/mediaelement/images/background.png");background:rgba(20,20,20,0.5);white-space:pre-wrap}.me-cannotplay a{color:#fff;font-weight:bold}.me-cannotplay span{padding:15px;display:block}.mejs-controls .mejs-loop-off button{background-position:-64px -16px}.mejs-controls .mejs-loop-on button{background-position:-64px 0}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px}.mejs-controls .mejs-backlight-on button{background-position:-80px 0}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2c7c91;color:#fff}.mejs-controls .mejs-sourcechooser-button{position:relative}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none !important;overflow:hidden}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none !important;display:block;color:#fff;overflow:hidden}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden}.mejs-postroll-layer-content{width:100%;height:100%}.mejs-postroll-close{position:absolute;right:0;top:0;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer}div.mejs-speed-button{width:46px !important;position:relative}.mejs-controls .mejs-button.mejs-speed-button button{background:transparent;width:36px;font-size:11px;line-height:normal;color:#fff}.mejs-controls .mejs-speed-button .mejs-speed-selector{display:none;position:absolute;top:-100px;left:-10px;width:60px;height:100px;background:url("../../assets/mediaelement/images/background.png");background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:0;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mejs-controls .mejs-speed-button:hover>.mejs-speed-selector{display:block}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label.mejs-speed-selected{color:rgba(33,248,248,1)}.mejs-controls .mejs-speed-button .mejs-speed-selector ul{margin:0;padding:0;display:block;list-style-type:none !important;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li{margin:0 0 6px 0;padding:0 10px;list-style-type:none !important;display:block;color:#fff;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;display:none}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label{width:60px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:11.5px;color:white;margin-left:5px;cursor:pointer}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li:hover{background-color:#c8c8c8 !important;background-color:rgba(255,255,255,.4) !important}.mejs-controls .mejs-button.mejs-jump-forward-button{background:transparent url("../../assets/mediaelement/images/jumpforward.png") no-repeat;background-position:3px 3px}.mejs-controls .mejs-button.mejs-jump-forward-button button{background:transparent;font-size:9px;line-height:normal;color:#fff}.mejs-controls .mejs-button.mejs-skip-back-button{background:transparent url("../../assets/mediaelement/images/skipback.png") no-repeat;background-position:3px 3px}.mejs-controls .mejs-button.mejs-skip-back-button button{background:transparent;font-size:9px;line-height:normal;color:#fff}
/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*!
 * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=f15876d96cd049d91e7e)
 * Config saved to config.json and https://gist.github.com/f15876d96cd049d91e7e
 */
/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset { /*
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  */
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #ffffff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus { /*
  color: #23527c;
  text-decoration: underline;
  */
}
a:focus { /*
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #dddddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on November 30, 2015 */
@font-face {
  font-family: 'stasmicregular';
  src: url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.eot");
  src: url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.eot?#iefix") format("embedded-opentype"), url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.woff2") format("woff2"), url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.woff") format("woff"), url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.ttf") format("truetype"), url("../../files/r4f_relaunch_2016/fonts/stasmic_-webfont.svg#stasmicregular") format("svg");
  font-weight: normal;
  font-style: normal; }

input.submit, textarea.submit, select.submit, button.submit, .button, .action-wrapper .action-button a, .action-wrapper .action-button a:link, .action-wrapper .action-button a:visited, .classifieds_management_container .classifieds_message a, a.back {
  padding: 0 3rem;
  background-color: #ea7c26;
  color: #FFFFFF;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  line-height: 4rem;
  border: none;
  border-bottom: none;
  border-radius: 0;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  input.submit:link, textarea.submit:link, select.submit:link, button.submit:link, .button:link, .action-wrapper .action-button a:link, .classifieds_management_container .classifieds_message a:link, a.back:link, input.submit:visited, textarea.submit:visited, select.submit:visited, button.submit:visited, .button:visited, .action-wrapper .action-button a:visited, .classifieds_management_container .classifieds_message a:visited, a.back:visited {
    color: #FFFFFF;
    text-transform: uppercase; }
  input.submit:hover, textarea.submit:hover, select.submit:hover, button.submit:hover, .button:hover, .action-wrapper .action-button a:hover, .classifieds_management_container .classifieds_message a:hover, a.back:hover, input.submit:focus, textarea.submit:focus, select.submit:focus, button.submit:focus, .button:focus, .action-wrapper .action-button a:focus, .classifieds_management_container .classifieds_message a:focus, a.back:focus, input.submit:active, textarea.submit:active, select.submit:active, button.submit:active, .button:active, .action-wrapper .action-button a:active, .classifieds_management_container .classifieds_message a:active, a.back:active {
    background-color: #434447;
    color: #FFFFFF; }

.button.button-secondary {
  background-color: #8f9197; }
  .button.button-secondary:hover, .button.button-secondary:focus, .button.button-secondary:active {
    background-color: #434447; }

body#phpbb li.header dt a, .section-index body#phpbb h2.forum-title a, .page-intro h2, .action-wrapper h2, .classifieds_management_container h2 {
  line-height: 4rem;
  padding: 0 3rem;
  display: inline-block;
  position: relative;
  font-family: "Oswald", sans-serif; }
  body#phpbb li.header dt a:after, .section-index body#phpbb h2.forum-title a:after, .page-intro h2:after, .action-wrapper h2:after, .classifieds_management_container h2:after {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: -1rem;
    width: 2rem;
    height: 100%;
    -webkit-transform: skew(-15deg);
    -moz-transform: skew(-15deg);
    -ms-transform: skew(-15deg);
    -o-transform: skew(-15deg);
    transform: skew(-15deg); }
  @media only screen and (max-width: 768px) {
    body#phpbb li.header dt a, .section-index body#phpbb h2.forum-title a, .page-intro h2, .action-wrapper h2, .classifieds_management_container h2 {
      line-height: 4rem;
      font-size: 2rem;
      margin: 1rem auto 1rem -3rem; } }
  @media only screen and (max-width: 479px) {
    body#phpbb li.header dt a, .section-index body#phpbb h2.forum-title a, .page-intro h2, .action-wrapper h2, .classifieds_management_container h2 {
      margin-left: -1.5rem;
      padding-left: 1.5rem; } }

body#phpbb p.jumpbox-return, .wide-link {
  width: 100%;
  display: block;
  background: #eeeeee;
  position: relative;
  padding: 0 1.5rem;
  margin-bottom: 10px; }
  body#phpbb p.jumpbox-return a, .wide-link a {
    display: inline-block;
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-size: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    line-height: 4rem; }
  body#phpbb p.down.jumpbox-return a, .down.wide-link a {
    padding-right: 2.5rem;
    background: url("/files/r4f_relaunch_2016/images/icons/arrow-down-white.png") 100% 50% no-repeat transparent;
    background-size: auto 20px;
    color: #FFFFFF; }
  body#phpbb p.up.jumpbox-return a, .up.wide-link a {
    padding-left: 2.5rem;
    background: url("/files/r4f_relaunch_2016/images/icons/arrow-up-orange.png") 0 50% no-repeat transparent;
    background-size: auto 20px;
    color: #ea7c26; }
  body#phpbb p.left.jumpbox-return a, .left.wide-link a {
    padding-left: 2.5rem;
    background: url("/files/r4f_relaunch_2016/images/icons/arrow-left-white.png") 0 50% no-repeat transparent;
    background-size: auto 20px;
    color: #FFFFFF; }
  body#phpbb p.right.jumpbox-return, .right.wide-link {
    text-align: right; }
    body#phpbb p.right.jumpbox-return a, .right.wide-link a {
      padding-right: 2.5rem;
      background: url("/files/r4f_relaunch_2016/images/icons/arrow-right-orange.png") 100% 50% no-repeat transparent;
      background-size: auto 20px;
      color: #ea7c26; }

body#phpbb ul.bulletin > li {
  color: #FFFFFF;
  font-size: 1.6rem;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 400;
  text-decoration: none;
  list-style-type: none;
  margin-right: 10px;
  padding: 0 3rem;
  width: auto;
  line-height: 4rem;
  background-color: #ea7c26;
  -webkit-transition: background-color 0.3s ease;
  -moz-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease; }
  body#phpbb ul.bulletin > li:hover {
    background-color: #535353; }
  body#phpbb ul.bulletin > li a {
    text-decoration: none;
    color: #FFFFFF;
    font-weight: normal; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section, img {
  display: block; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

*:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

div {
  *zoom: 1; }

a:focus, button:focus, input:focus, optgroup:focus, select:focus, textarea:focus {
  outline: none; }

html,
body {
  height: 100%;
  font-size: 10px; }

body {
  font-size: 1rem;
  font-family: "Oswald", sans-serif;
  background: url("/files/r4f_relaunch_2016/images/layout/mooning.png") repeat 0 0;
  background-size: 400px 400px;
  /* adjust background size for high pixel density screens so pattern looks good */ }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13 / 10), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 120dpi), only screen and (min-resolution: 1.3dppx) {
    body {
      background-size: 200px; } }

form {
  font-family: Arial, sans-serif; }

#wrapper {
  max-width: 120rem;
  margin: 0 auto 1rem auto;
  padding: 0 1.5rem; }
  #wrapper::after {
    clear: both;
    content: "";
    display: table; }

#header::after, #container::after, #footer::after {
  clear: both;
  content: "";
  display: table; }

#header .inside::after, #container .inside::after, #footer .inside::after {
  clear: both;
  content: "";
  display: table; }

#main::after {
  clear: both;
  content: "";
  display: table; }

.mod_navigation.main-nav {
  width: 100%;
  margin: 10px 0;
  height: 4.1rem;
  position: relative;
  overflow: visible; }
  @media only screen and (max-width: 992px) {
    .mod_navigation.main-nav {
      width: 25rem;
      height: 100%;
      padding: 0;
      margin: 0;
      position: absolute;
      top: 0;
      z-index: 100;
      background: #434447;
      -webkit-perspective: inherit !important;
      -webkit-backface-visibility: inherit !important;
      overflow-y: scroll;
      left: -25rem;
      -webkit-transition: left 0.3s ease-in;
      -moz-transition: left 0.3s ease-in;
      transition: left 0.3s ease-in; } }
  .mod_navigation.main-nav ul {
    padding: 0;
    margin: 0; }
  .mod_navigation.main-nav li {
    font-family: "Oswald", sans-serif;
    height: 4.1rem;
    padding: 0;
    margin: 0;
    position: relative;
    -webkit-transition: border-color 0.3s, box-shadow 0.3s;
    -moz-transition: border-color 0.3s, box-shadow 0.3s;
    transition: border-color 0.3s, box-shadow 0.3s; }
    .mod_navigation.main-nav li a {
      line-height: 4rem;
      color: #FFFFFF;
      text-transform: uppercase;
      text-decoration: none;
      display: block;
      -webkit-transition: background-color 0.3s;
      -moz-transition: background-color 0.3s;
      transition: background-color 0.3s; }
      .mod_navigation.main-nav li a[href^="my-"] {
        text-transform: none; }
    @media only screen and (max-width: 992px) {
      .mod_navigation.main-nav li {
        height: auto;
        margin: 0; }
        .mod_navigation.main-nav li a {
          line-height: 4.9rem; } }
  .mod_navigation.main-nav .submenu a.submenu:after, .mod_navigation.main-nav .submenu .active.submenu:after {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 1.7rem;
    height: 4.1rem;
    font-size: 2rem;
    line-height: 41px;
    font-family: "FontAwesome";
    content: '\f107';
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transition: transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    @media only screen and (max-width: 992px) {
      .mod_navigation.main-nav .submenu a.submenu:after, .mod_navigation.main-nav .submenu .active.submenu:after {
        line-height: 50px;
        height: 5rem; } }
  .mod_navigation.main-nav .submenu .submenu-toggle {
    z-index: 110;
    position: absolute;
    right: 0;
    top: 0;
    height: 4.1rem;
    width: 3.5rem;
    background: transparent !important;
    cursor: pointer; }
    @media only screen and (max-width: 992px) {
      .mod_navigation.main-nav .submenu .submenu-toggle {
        height: 5rem; } }
  .mod_navigation.main-nav .submenu.open > .submenu:after, .mod_navigation.main-nav .submenu.open > .active.submenu:after {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg); }
  .mod_navigation.main-nav ul.level_1 {
    width: 100%; }
    .mod_navigation.main-nav ul.level_1 > li {
      float: left;
      margin-left: 1.3%;
      width: 14.7%;
      overflow: visible; }
      @media only screen and (max-width: 992px) {
        .mod_navigation.main-nav ul.level_1 > li {
          float: none;
          margin-left: 0;
          width: 100%; } }
      .mod_navigation.main-nav ul.level_1 > li > a, .mod_navigation.main-nav ul.level_1 > li > a:link, .mod_navigation.main-nav ul.level_1 > li > a:visited {
        font-size: 2rem;
        text-align: center;
        background-color: #ea7c26;
        line-height: 4.1rem; }
        @media only screen and (max-width: 992px) {
          .mod_navigation.main-nav ul.level_1 > li > a, .mod_navigation.main-nav ul.level_1 > li > a:link, .mod_navigation.main-nav ul.level_1 > li > a:visited {
            text-align: left;
            padding-left: 1.5rem; } }
      .mod_navigation.main-nav ul.level_1 > li > a:hover, .mod_navigation.main-nav ul.level_1 > li > a:focus, .mod_navigation.main-nav ul.level_1 > li > a:active {
        background-color: #434447; }
      .mod_navigation.main-nav ul.level_1 > li.first {
        width: 4%;
        margin-left: 0;
        background-color: #ea7c26;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url("/files/r4f_relaunch_2016/images/icons/home.png");
        background-size: 2.8rem 2.8rem;
        -webkit-transition: background-color 0.3s ease-in-out;
        -moz-transition: background-color 0.3s ease-in-out;
        transition: background-color 0.3s ease-in-out; }
        .mod_navigation.main-nav ul.level_1 > li.first:hover, .mod_navigation.main-nav ul.level_1 > li.first:focus, .mod_navigation.main-nav ul.level_1 > li.first:active {
          background-color: #434447; }
        .mod_navigation.main-nav ul.level_1 > li.first a, .mod_navigation.main-nav ul.level_1 > li.first a:link, .mod_navigation.main-nav ul.level_1 > li.first a:visited {
          background: transparent;
          height: 100%; }
        .mod_navigation.main-nav ul.level_1 > li.first span {
          display: none; }
        @media only screen and (max-width: 992px) {
          .mod_navigation.main-nav ul.level_1 > li.first {
            width: 100%;
            background-position: 15px center;
            height: 5rem;
            background-color: #535457; } }
      .mod_navigation.main-nav ul.level_1 > li.last ul.level_2 {
        right: 0; }
      .mod_navigation.main-nav ul.level_1 > li:hover ul.level_2 {
        display: block; }
        .mod_navigation.main-nav ul.level_1 > li:hover ul.level_2 > li {
          height: auto; }
        .mod_navigation.main-nav ul.level_1 > li:hover ul.level_2 .trail ul.level_3 {
          display: block; }
      @media only screen and (max-width: 992px) {
        .mod_navigation.main-nav ul.level_1 > li:hover ul.level_2 {
          display: none; }
          .mod_navigation.main-nav ul.level_1 > li:hover ul.level_2 .trail ul.level_3 {
            display: none; } }
      .mod_navigation.main-nav ul.level_1 > li.active {
        font-size: 2rem;
        text-align: center;
        line-height: 4.1rem;
        background-color: transparent;
        color: #FFFFFF;
        text-transform: uppercase;
        display: block; }
        .mod_navigation.main-nav ul.level_1 > li.active strong {
          display: block;
          line-height: 4.1rem;
          background-color: #434447;
          font-weight: 400; }
        .mod_navigation.main-nav ul.level_1 > li.active.first {
          background-color: #ea7c26; }
          .mod_navigation.main-nav ul.level_1 > li.active.first strong {
            display: none; }
      .mod_navigation.main-nav ul.level_1 > li.submenu .submenu:after, .mod_navigation.main-nav ul.level_1 > li.submenu .submenu-toggle {
        display: none; }
      @media only screen and (max-width: 992px) {
        .mod_navigation.main-nav ul.level_1 > li.submenu .submenu:after, .mod_navigation.main-nav ul.level_1 > li.submenu .submenu-toggle {
          display: block; } }
  .mod_navigation.main-nav ul.level_2 {
    display: none;
    list-style: none;
    position: absolute;
    top: 4.1rem;
    width: 100%;
    min-width: 17rem;
    white-space: nowrap;
    padding: 0;
    margin: 0;
    z-index: 100;
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.25); }
    @media only screen and (max-width: 992px) {
      .mod_navigation.main-nav ul.level_2 {
        position: relative;
        top: 0;
        box-shadow: none; } }
    .mod_navigation.main-nav ul.level_2 > li {
      border-bottom: 1px solid #FFFFFF;
      height: auto;
      min-height: 4.1rem; }
      .mod_navigation.main-nav ul.level_2 > li > a, .mod_navigation.main-nav ul.level_2 > li > a:link, .mod_navigation.main-nav ul.level_2 > li > a:visited {
        font-size: 2rem;
        text-align: left;
        padding-left: 2rem;
        background-color: #535457; }
        @media only screen and (max-width: 1199px) {
          .mod_navigation.main-nav ul.level_2 > li > a, .mod_navigation.main-nav ul.level_2 > li > a:link, .mod_navigation.main-nav ul.level_2 > li > a:visited {
            padding-left: 1.5rem; } }
        .mod_navigation.main-nav ul.level_2 > li > a:hover, .mod_navigation.main-nav ul.level_2 > li > a:focus, .mod_navigation.main-nav ul.level_2 > li > a:active, .mod_navigation.main-nav ul.level_2 > li > a:link:hover, .mod_navigation.main-nav ul.level_2 > li > a:link:focus, .mod_navigation.main-nav ul.level_2 > li > a:link:active, .mod_navigation.main-nav ul.level_2 > li > a:visited:hover, .mod_navigation.main-nav ul.level_2 > li > a:visited:focus, .mod_navigation.main-nav ul.level_2 > li > a:visited:active {
          background-color: #434447; }
      .mod_navigation.main-nav ul.level_2 > li.open {
        box-shadow: none;
        border-color: #535457; }
        .mod_navigation.main-nav ul.level_2 > li.open > a, .mod_navigation.main-nav ul.level_2 > li.open > strong {
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25); }
        @media only screen and (max-width: 992px) {
          .mod_navigation.main-nav ul.level_2 > li.open > a, .mod_navigation.main-nav ul.level_2 > li.open > strong {
            box-shadow: none; } }
      .mod_navigation.main-nav ul.level_2 > li.last {
        border-color: #535457; }
        .mod_navigation.main-nav ul.level_2 > li.last.open {
          border-color: #898a8a; }
      .mod_navigation.main-nav ul.level_2 > li.first {
        height: 4.2rem; }
        .mod_navigation.main-nav ul.level_2 > li.first.open {
          height: auto; }
        .mod_navigation.main-nav ul.level_2 > li.first > a {
          border-top: 1px solid #d0d0d0; }
        @media only screen and (max-width: 992px) {
          .mod_navigation.main-nav ul.level_2 > li.first {
            height: 5rem; }
            .mod_navigation.main-nav ul.level_2 > li.first > a {
              border-top: none; } }
      .mod_navigation.main-nav ul.level_2 > li.active, .mod_navigation.main-nav ul.level_2 > li.forward {
        font-size: 2rem;
        text-align: left;
        line-height: 4.1rem;
        color: #FFFFFF;
        text-transform: uppercase;
        display: block;
        border-color: #FFFFFF; }
        .mod_navigation.main-nav ul.level_2 > li.active strong, .mod_navigation.main-nav ul.level_2 > li.forward strong {
          display: block;
          line-height: 4.1rem;
          font-weight: 400;
          padding-left: 2rem; }
      .mod_navigation.main-nav ul.level_2 > li.active strong {
        background-color: #ea7c26; }
      .mod_navigation.main-nav ul.level_2 > li.forward strong {
        background-color: #535457; }
      .mod_navigation.main-nav ul.level_2 > li.submenu .submenu:after, .mod_navigation.main-nav ul.level_2 > li.submenu .submenu-toggle {
        display: block; }
  .mod_navigation.main-nav ul.level_3 {
    position: relative;
    display: none;
    list-style: none;
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.25); }
    @media only screen and (max-width: 992px) {
      .mod_navigation.main-nav ul.level_3 {
        box-shadow: none; } }
    .mod_navigation.main-nav ul.level_3 > li {
      border-bottom: 1px solid #d0d0d0; }
      .mod_navigation.main-nav ul.level_3 > li > a, .mod_navigation.main-nav ul.level_3 > li > a:link, .mod_navigation.main-nav ul.level_3 > li > a:visited {
        font-size: 2rem;
        text-align: left;
        padding-left: 3.5rem;
        background-color: #898a8a; }
        @media only screen and (max-width: 1199px) {
          .mod_navigation.main-nav ul.level_3 > li > a, .mod_navigation.main-nav ul.level_3 > li > a:link, .mod_navigation.main-nav ul.level_3 > li > a:visited {
            padding-left: 1.5rem; } }
        .mod_navigation.main-nav ul.level_3 > li > a:hover, .mod_navigation.main-nav ul.level_3 > li > a:focus, .mod_navigation.main-nav ul.level_3 > li > a:active, .mod_navigation.main-nav ul.level_3 > li > a:link:hover, .mod_navigation.main-nav ul.level_3 > li > a:link:focus, .mod_navigation.main-nav ul.level_3 > li > a:link:active, .mod_navigation.main-nav ul.level_3 > li > a:visited:hover, .mod_navigation.main-nav ul.level_3 > li > a:visited:focus, .mod_navigation.main-nav ul.level_3 > li > a:visited:active {
          background-color: #434447; }
      .mod_navigation.main-nav ul.level_3 > li.first a {
        box-shadow: inset 0px 5px 5px -2px rgba(0, 0, 0, 0.3); }
      .mod_navigation.main-nav ul.level_3 > li.last {
        border-color: #898a8a; }
        .mod_navigation.main-nav ul.level_3 > li.last a {
          box-shadow: inset 0px -3px 5px -2px rgba(0, 0, 0, 0.15); }
      .mod_navigation.main-nav ul.level_3 > li.active, .mod_navigation.main-nav ul.level_3 > li.forward {
        font-size: 2rem;
        text-align: left;
        line-height: 4.1rem;
        color: #FFFFFF;
        text-transform: uppercase;
        display: block; }
        .mod_navigation.main-nav ul.level_3 > li.active strong, .mod_navigation.main-nav ul.level_3 > li.forward strong {
          font-weight: 400;
          padding-left: 3.5rem; }
      .mod_navigation.main-nav ul.level_3 > li.forward {
        background-color: #898a8a !important; }
      .mod_navigation.main-nav ul.level_3 > li.active {
        background-color: #ea7c26; }
      .mod_navigation.main-nav ul.level_3 > li.submenu .submenu:after, .mod_navigation.main-nav ul.level_3 > li.submenu .submenu-toggle {
        display: block; }
  @media only screen and (max-width: 992px) {
    .mod_navigation.main-nav.active {
      left: 0; }
    .mod_navigation.main-nav ul.level_1 > li, .mod_navigation.main-nav ul.level_2 > li, .mod_navigation.main-nav ul.level_3 > li {
      height: 100%;
      min-height: 5rem;
      border-bottom: 1px solid #434447; }
      .mod_navigation.main-nav ul.level_1 > li > a, .mod_navigation.main-nav ul.level_1 > li > a:link, .mod_navigation.main-nav ul.level_1 > li > a:visited, .mod_navigation.main-nav ul.level_2 > li > a, .mod_navigation.main-nav ul.level_2 > li > a:link, .mod_navigation.main-nav ul.level_2 > li > a:visited, .mod_navigation.main-nav ul.level_3 > li > a, .mod_navigation.main-nav ul.level_3 > li > a:link, .mod_navigation.main-nav ul.level_3 > li > a:visited {
        font-size: 1.5rem;
        line-height: 4.9rem;
        background-color: #535457; }
      .mod_navigation.main-nav ul.level_1 > li > a:hover, .mod_navigation.main-nav ul.level_1 > li > a:active, .mod_navigation.main-nav ul.level_1 > li > a:focus, .mod_navigation.main-nav ul.level_1 > li > a.trail, .mod_navigation.main-nav ul.level_2 > li > a:hover, .mod_navigation.main-nav ul.level_2 > li > a:active, .mod_navigation.main-nav ul.level_2 > li > a:focus, .mod_navigation.main-nav ul.level_2 > li > a.trail, .mod_navigation.main-nav ul.level_3 > li > a:hover, .mod_navigation.main-nav ul.level_3 > li > a:active, .mod_navigation.main-nav ul.level_3 > li > a:focus, .mod_navigation.main-nav ul.level_3 > li > a.trail {
        background-color: #898a8a; }
      .mod_navigation.main-nav ul.level_1 > li.last, .mod_navigation.main-nav ul.level_2 > li.last, .mod_navigation.main-nav ul.level_3 > li.last {
        border-bottom: 1px solid #434447; }
      .mod_navigation.main-nav ul.level_1 > li.active, .mod_navigation.main-nav ul.level_1 > li.forward, .mod_navigation.main-nav ul.level_2 > li.active, .mod_navigation.main-nav ul.level_2 > li.forward, .mod_navigation.main-nav ul.level_3 > li.active, .mod_navigation.main-nav ul.level_3 > li.forward {
        font-size: 1.5rem;
        text-align: left;
        line-height: 5rem;
        min-height: 5rem;
        background-color: #434447;
        border-color: #434447; }
        .mod_navigation.main-nav ul.level_1 > li.active strong, .mod_navigation.main-nav ul.level_1 > li.forward strong, .mod_navigation.main-nav ul.level_2 > li.active strong, .mod_navigation.main-nav ul.level_2 > li.forward strong, .mod_navigation.main-nav ul.level_3 > li.active strong, .mod_navigation.main-nav ul.level_3 > li.forward strong {
          padding-left: 1.5rem;
          line-height: 5rem;
          background-color: #434447; }
        .mod_navigation.main-nav ul.level_1 > li.active.submenu, .mod_navigation.main-nav ul.level_1 > li.forward.submenu, .mod_navigation.main-nav ul.level_2 > li.active.submenu, .mod_navigation.main-nav ul.level_2 > li.forward.submenu, .mod_navigation.main-nav ul.level_3 > li.active.submenu, .mod_navigation.main-nav ul.level_3 > li.forward.submenu {
          line-height: 4.9rem;
          border-bottom: 1px solid #434447; }
          .mod_navigation.main-nav ul.level_1 > li.active.submenu:after, .mod_navigation.main-nav ul.level_1 > li.forward.submenu:after, .mod_navigation.main-nav ul.level_2 > li.active.submenu:after, .mod_navigation.main-nav ul.level_2 > li.forward.submenu:after, .mod_navigation.main-nav ul.level_3 > li.active.submenu:after, .mod_navigation.main-nav ul.level_3 > li.forward.submenu:after {
            display: none; }
          .mod_navigation.main-nav ul.level_1 > li.active.submenu strong, .mod_navigation.main-nav ul.level_1 > li.forward.submenu strong, .mod_navigation.main-nav ul.level_2 > li.active.submenu strong, .mod_navigation.main-nav ul.level_2 > li.forward.submenu strong, .mod_navigation.main-nav ul.level_3 > li.active.submenu strong, .mod_navigation.main-nav ul.level_3 > li.forward.submenu strong {
            line-height: 4.9rem; }
      .mod_navigation.main-nav ul.level_1 > li.submenu, .mod_navigation.main-nav ul.level_2 > li.submenu, .mod_navigation.main-nav ul.level_3 > li.submenu {
        border-bottom: none; }
        .mod_navigation.main-nav ul.level_1 > li.submenu > a, .mod_navigation.main-nav ul.level_2 > li.submenu > a, .mod_navigation.main-nav ul.level_3 > li.submenu > a {
          border-bottom: 1px solid #434447; }
    .mod_navigation.main-nav ul.level_2 > li > a.first, .mod_navigation.main-nav ul.level_2 > li > a.last, .mod_navigation.main-nav ul.level_3 > li > a.first, .mod_navigation.main-nav ul.level_3 > li > a.last {
      box-shadow: none; }
    .mod_navigation.main-nav ul.level_2 > li > a, .mod_navigation.main-nav ul.level_2 > li > a:link, .mod_navigation.main-nav ul.level_2 > li > a:visited, .mod_navigation.main-nav ul.level_3 > li > a, .mod_navigation.main-nav ul.level_3 > li > a:link, .mod_navigation.main-nav ul.level_3 > li > a:visited {
      background-color: #898a8a; } }

@media only screen and (min-width: 992px) {
  #mobile-button {
    display: none; }
  .page-overlay {
    display: none; } }

@media only screen and (max-width: 992px) {
  #main-nav-wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    min-height: 100%; }
  #mobile-button {
    display: block; }
  #page-wrap {
    position: relative;
    left: 0;
    -webkit-transition: left 0.3s ease-in;
    -moz-transition: left 0.3s ease-in;
    transition: left 0.3s ease-in; }
    #page-wrap.active {
      left: 25rem; }
  .page-overlay {
    display: none; } }

.sidebar-right #main {
  padding-right: 1.5rem; }
  @media only screen and (max-width: 1199px) {
    .sidebar-right #main {
      padding-right: 2%; } }
  @media only screen and (max-width: 992px) {
    .sidebar-right #main {
      width: 100%;
      padding-right: 0;
      float: none; } }

.sidebar-left #main {
  padding-left: 1.5rem; }
  @media only screen and (max-width: 1199px) {
    .sidebar-left #main {
      padding-left: 2%; } }
  @media only screen and (max-width: 992px) {
    .sidebar-left #main {
      width: 100%;
      padding-left: 0;
      float: none; } }

.sidebar-both #main {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media only screen and (max-width: 1199px) {
    .sidebar-both #main {
      padding-left: 3%;
      padding-right: 3%; } }
  @media only screen and (max-width: 992px) {
    .sidebar-both #main {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
      float: none; } }

@media only screen and (max-width: 992px) {
  .sidebar-left #container {
    padding-left: 0; } }

@media only screen and (max-width: 992px) {
  .sidebar-right #container {
    padding-right: 0; } }

@media only screen and (max-width: 992px) {
  .sidebar-both #container {
    padding-left: 0;
    padding-right: 0; } }

#right, #left {
  padding-bottom: 2rem; }
  @media only screen and (max-width: 992px) {
    #right, #left {
      width: 100%;
      margin: 2rem auto;
      right: 0;
      left: 0; } }
  #right h3, #left h3 {
    font-size: 2.2rem;
    text-align: center;
    padding: 2.8rem 0 3.3rem; }
    #right h3.sidebar-widget, #left h3.sidebar-widget {
      margin-bottom: 0;
      width: auto; }
    @media only screen and (max-width: 992px) {
      #right h3, #left h3 {
        text-align: left;
        padding-left: 1.5rem; } }
  #right .sidebar-widget, #left .sidebar-widget {
    width: 100%;
    margin-bottom: 10px;
    background: #eeeeee; }
    #right .sidebar-widget.instagram, #left .sidebar-widget.instagram {
      background: #FFFFFF;
      text-align: center;
      padding: 2.5rem 0; }
      #right .sidebar-widget.instagram a, #left .sidebar-widget.instagram a {
        text-transform: uppercase;
        font-family: "Oswald", sans-serif;
        line-height: 3rem;
        font-size: 1.8rem;
        display: inline;
        padding-left: 3.4rem;
        background: url("../../files/r4f_relaunch_2016/images/icons/instagram.png") no-repeat 0 50% transparent;
        background-size: 2.5rem; } 
    #right .sidebar-widget.facebook, #left .sidebar-widget.facebook {
      background: #FFFFFF;
      text-align: center;
      padding: 2.5rem 0; }
      #right .sidebar-widget.facebook a, #left .sidebar-widget.facebook a {
        text-transform: uppercase;
        font-family: "Oswald", sans-serif;
        line-height: 3rem;
        font-size: 1.8rem;
        display: inline;
        padding-left: 3.4rem;
        background: url("../../files/r4f_relaunch_2016/images/icons/facebook.png") no-repeat 0 50% transparent;
        background-size: 2.5rem; }
    #right .sidebar-widget.sponsor, #left .sidebar-widget.sponsor {
      background: #FFFFFF;
      text-align: left;
      padding: 1.5rem 0; }
      #right .sidebar-widget.sponsor h4, #left .sidebar-widget.sponsor h4 {
        max-width: 20rem;
        margin: 0 auto;
        font-size: 2.2rem; }
      #right .sidebar-widget.sponsor a, #left .sidebar-widget.sponsor a {
        text-transform: uppercase;
        font-family: "Oswald", sans-serif;
        color: #ea7c26;
        line-height: 1;
        font-size: 1.8rem;
        display: block;
        max-width: 20rem;
        margin: 1.2rem auto 0 auto; }
        #right .sidebar-widget.sponsor a i.fa, #left .sidebar-widget.sponsor a i.fa {
          font-size: 1.8em;
          line-height: 2rem;
          vertical-align: bottom;
          padding-left: 0.5rem; }
        #right .sidebar-widget.sponsor a:hover, #left .sidebar-widget.sponsor a:hover {
          color: #8f9197; }
    #right .sidebar-widget.adsense, #left .sidebar-widget.adsense {
      background-color: #FFFFFF; }
      #right .sidebar-widget.adsense .google-add, #left .sidebar-widget.adsense .google-add {
        margin: 0 auto;
        display: block;
        width: 22rem;
        padding: 1.5rem 10px; }

#footer {
  width: 100%;
  background: rgba(131, 131, 131, 0.75);
  font-family: Arial, sans-serif; }
  #footer .inside {
    max-width: 117rem;
    margin: 0 auto;
    padding-bottom: 2rem; }
    @media only screen and (max-width: 1199px) {
      #footer .inside {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
  #footer li {
    color: #FFFFFF; }
  #footer a, #footer a:link, #footer a:visited {
    color: #FFFFFF; }
  #footer a:hover, #footer a:active, #footer a:focus {
    color: #434447; }
  #footer .mod_breadcrumb {
    height: 6.3rem;
    margin-bottom: 2rem;
    width: 100%; }
    #footer .mod_breadcrumb ul {
      height: 100%;
      display: block;
      border-bottom: 1px solid #a2a2a2; }
    #footer .mod_breadcrumb li {
      display: inline-block;
      float: left;
      height: 100%;
      color: #FFFFFF; }
      #footer .mod_breadcrumb li a, #footer .mod_breadcrumb li > span {
        font-size: 1.5rem;
        line-height: 6.3rem;
        display: inline-block;
        vertical-align: top;
        font-weight: 400;
        text-decoration: none; }
      #footer .mod_breadcrumb li:after {
        content: "\f105";
        display: inline-block;
        padding: 0 10px;
        line-height: 62px;
        color: #FFFFFF;
        font-size: 2.2rem;
        font-family: "FontAwesome"; }
      #footer .mod_breadcrumb li.last:after {
        display: none; }
  #footer .footer-nav li, #footer .footer-nav a {
    font-size: 1.5rem; }
  #footer .footer-nav li {
    height: 3rem; }
    #footer .footer-nav li a, #footer .footer-nav li strong {
      line-height: 3rem;
      font-weight: 400;
      text-decoration: none; }

.ce_form, .mod_login, .mod_lostPassword {
  background: #f2f2f2;
  padding: 1rem 1.5rem 1.5rem;
  margin-bottom: 10px; }

.formbody {
  font-family: Arial, sans-serif; }

fieldset {
  margin-bottom: 10px; }
  fieldset > legend {
    padding-left: 1.5rem;
    font-size: 1.8rem;
    font-family: "Oswald", sans-serif; }

.error {
  color: #dd0000; }

.widget {
  margin-bottom: 1rem; }
  .widget.widget-submit {
    padding-top: 1rem; }
  .widget.widget-captcha ~ .widget-submit {
    padding-top: 5rem; }

label, .captcha_text {
  display: block;
  color: #6d6f74;
  font-size: 1.5rem;
  line-height: 2rem;
  padding-top: 1rem;
  font-weight: 400; }

input, textarea, select {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 4rem;
  height: 4rem;
  width: 100%;
  padding: 0 1.5rem;
  color: #434447;
  border-radius: 3px;
  border: 1px solid #e4e3e3;
  background-color: #FFFFFF; }
  input.empty, textarea.empty, select.empty {
    color: #6d6f74;
    font-style: italic;
    font-weight: normal; }
  input.submit, textarea.submit, select.submit {
    font-style: normal;
    font-weight: normal; }
    input.submit[name^="unset"], textarea.submit[name^="unset"], select.submit[name^="unset"] {
      background-color: transparent;
      color: #434447;
      font-family: Arial, sans-serif;
      font-size: 1.5rem;
      font-style: normal;
      padding: 0 0 0 2.3rem;
      background: url("/files/r4f_relaunch_2016/images/icons/cross.png") no-repeat 0 50%;
      background-size: 16px;
      text-transform: none;
      text-align: left;
      -webkit-transition: color 0.3s;
      -moz-transition: color 0.3s;
      transition: color 0.3s; }
      input.submit[name^="unset"]:hover, input.submit[name^="unset"]:focus, input.submit[name^="unset"]:active, textarea.submit[name^="unset"]:hover, textarea.submit[name^="unset"]:focus, textarea.submit[name^="unset"]:active, select.submit[name^="unset"]:hover, select.submit[name^="unset"]:focus, select.submit[name^="unset"]:active {
        background-color: none;
        color: #6d6f74; }

select {
  padding-right: 0; }

textarea {
  height: auto;
  line-height: 1.8rem;
  font-weight: 400;
  padding: 0.5rem 1.5rem; }

input[type=checkbox], input[type=radio] {
  width: 2rem !important;
  float: left;
  margin-right: 1rem;
  margin-top: 0;
  background-color: transparent; }

.checkbox_container legend {
  display: none; }

.checkbox_container label {
  line-height: 4rem;
  padding-top: 0; }

.radio_container legend {
  display: none; }

button.submit {
  width: 100%; }

.submit_container {
  padding-top: 2rem; }
  .submit_container .submit {
    float: right; }

.mod_login .checkbox_container {
  padding-top: 1rem;
  padding-left: 1px; }
  .mod_login .checkbox_container label, .mod_login .checkbox_container input {
    line-height: 5rem;
    height: 5rem; }

.mod_lostPassword .widget.widget-submit {
  padding-top: 5rem; }

body#phpbb {
  height: auto;
  margin: 0;
  padding: 0;
  /* forum/post icons */
  /* navigation buttons */ }
  body#phpbb .logo {
    padding: 0; }
  body#phpbb #header {
    overflow: hidden; }
  body#phpbb #main {
    width: 100%;
    max-width: 100%;
    margin: 0 auto; }
  body#phpbb #wrap {
    border-radius: 0;
    border: none;
    max-width: 100%;
    padding: 0; }
    body#phpbb #wrap .logo {
      display: none; }
  body#phpbb .headerbar {
    display: none;
    margin-bottom: 0;
    color: #FFFFFF;
    padding: 15px; }
    body#phpbb .headerbar p {
      color: #FFFFFF; }
    body#phpbb .headerbar p.skiplink {
      display: none; }
  body#phpbb .navbar {
    border-radius: 0;
    padding: .5rem 1.5rem; }
    body#phpbb .navbar ul.linklist {
      padding: 0; }
    body#phpbb .navbar .search-header {
      margin-top: 0; }
  body#phpbb .headerbar, body#phpbb .forabg {
    background-image: none;
    border-radius: 0; }
  body#phpbb .forabg {
    padding: 0; }
  body#phpbb img {
    display: inline; }
  body#phpbb h2, body#phpbb h3, body#phpbb h4, body#phpbb h5, body#phpbb h6 {
    color: #0f0f0f;
    font-weight: 400; }
  body#phpbb h2.solo {
    margin-bottom: 10px; }
  body#phpbb .forumbg {
    border-radius: 0;
    padding: 0; }
  body#phpbb ul.linklist li.responsive-menu a.responsive-menu-link:before {
    display: none;
    border-color: #8f9197; }
  body#phpbb .forumbg .header a:hover, body#phpbb .forabg .header a:hover, body#phpbb th a:hover {
    color: #e5e5e5; }
  body#phpbb ul.forums {
    background-color: #FFFFFF;
    background-image: none; }
  body#phpbb .button {
    margin-top: 0;
    height: 4rem;
    line-height: 4rem;
    padding: 0 .8rem;
    border-radius: 0;
    -webkit-transition: background-color 0.3s ease, color 0.3s ease;
    -moz-transition: background-color 0.3s ease, color 0.3s ease;
    transition: background-color 0.3s ease, color 0.3s ease; }
    body#phpbb .button.tools-icon {
      height: 4rem;
      line-height: 4rem;
      padding-right: .8rem;
      margin-right: 1.6rem;
      border-right: 1px solid #dadada; }
      body#phpbb .button.tools-icon:before {
        margin-top: 1.2rem; }
      body#phpbb .button.tools-icon:after {
        border: none;
        background-color: #bbbbbd;
        right: -1.7rem; }
  body#phpbb abbr[data-original-title], body#phpbb abbr[title] {
    cursor: help;
    border-bottom: 1px solid #FFFFFF; }
  body#phpbb .content {
    font-family: Arial, sans-serif;
    margin-bottom: 5rem;
    font-size: 1.5rem; }
  body#phpbb .content h2, body#phpbb .content h3, body#phpbb .panel h2, body#phpbb .panel h3 {
    border-bottom: none; }
  body#phpbb .content h2, body#phpbb .panel h2 {
    font-size: 3rem; }
  body#phpbb .content p, body#phpbb .content li, body#phpbb .panel p, body#phpbb .panel li {
    font-size: 1.5rem;
    line-height: 1.2;
    font-family: Arial, sans-serif; }
  body#phpbb dl, body#phpbb dt, body#phpbb dd {
    font-family: Arial, sans-serif;
    font-size: 1.5rem; }
  body#phpbb .inputbox:hover, body#phpbb .inputbox:focus {
    border: 1px solid #e4e3e3;
    outline-style: none;
    border-color: #e4e3e3; }
  body#phpbb hr {
    margin-top: 10px;
    margin-bottom: 10px;
    border: 0;
    border-top: 1px solid #e7e7e8; }
  body#phpbb hr.dashed {
    display: none; }
  body#phpbb .mark, body#phpbb mark {
    background-color: transparent; }
  body#phpbb ul.cplist {
    border: none; }
  body#phpbb .search-header {
    margin-top: 4px;
    margin-right: 0; }
  @media only screen and (max-width: 768px) {
    body#phpbb .search-box {
      float: right; } }
  body#phpbb .search-box form, body#phpbb .search-box fieldset {
    padding: 0;
    background: none;
    margin-bottom: 0; }
  body#phpbb .search-box .inputbox {
    background-image: none;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.5rem;
    font-family: Arial, sans-serif;
    font-weight: 400;
    line-height: 4rem;
    height: 4rem;
    padding: 0 1.5rem;
    color: #434447;
    width: 75%;
    border-radius: 3px 0 0 3px;
    border: 1px solid #e4e3e3;
    border-right-width: 0; }
    @media only screen and (max-width: 500px) {
      body#phpbb .search-box .inputbox {
        width: 80px; } }
  body#phpbb .search-box button.search-icon, body#phpbb .search-box a.button {
    border-radius: 0;
    font-size: 0;
    height: 4rem;
    line-height: 4rem;
    margin: 0;
    padding: 3px 5px;
    box-shadow: none; }
  body#phpbb .search-box a.button {
    border-radius: 0 3px 3px 0; }
  body#phpbb .search-box .search-icon:before, body#phpbb .search-box .search-adv-icon:before {
    margin-top: 10px; }
  body#phpbb ul.bulletin > li {
    padding-right: 1rem; }
    body#phpbb ul.bulletin > li.rightside {
      margin-right: 0;
      margin-left: 1rem; }
    @media only screen and (max-width: 768px) {
      body#phpbb ul.bulletin > li {
        margin-right: .5rem;
        margin-top: .5rem;
        margin-bottom: .5rem; }
        body#phpbb ul.bulletin > li.rightside {
          margin-right: .5rem;
          margin-left: 0;
          float: left;
          text-align: center; } }
  body#phpbb .small-icon {
    background-position: 5px 50%;
    background-image: none; }
    body#phpbb .small-icon a {
      padding: 0; }
  body#phpbb #nav-breadcrumbs {
    margin: 5px -15px 0 -15px;
    padding: 7px 15px 0px 15px; }
    body#phpbb #nav-breadcrumbs a {
      font-size: 15px;
      font-weight: 400; }
    body#phpbb #nav-breadcrumbs .small-icon.breadcrumbs:before {
      display: none; }
  body#phpbb .breadcrumbs .crumb:before {
    content: "\f105";
    display: inline-block;
    padding: 0 10px;
    font-size: 2.2rem;
    font-family: "FontAwesome";
    vertical-align: bottom; }
  body#phpbb .breadcrumbs .crumb:first-child:before {
    content: none; }
  body#phpbb li.header a, body#phpbb li.header dd, body#phpbb li.header .list-inner {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    line-height: 4rem;
    font-size: 1.6rem; }
  body#phpbb li.header dt {
    text-transform: uppercase;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0; }
    @media only screen and (max-width: 768px) {
      body#phpbb li.header dt {
        text-align: left; }
        body#phpbb li.header dt .list-inner {
          font-size: 2.2rem; } }
    body#phpbb li.header dt a {
      background-color: #8f9197;
      margin-left: -1.5rem;
      font-size: 2rem;
      -webkit-transition: background-color 0.3s;
      -moz-transition: background-color 0.3s;
      transition: background-color 0.3s; }
      body#phpbb li.header dt a:after {
        background-color: #8f9197;
        -webkit-transition: background-color 0.3s;
        -moz-transition: background-color 0.3s;
        transition: background-color 0.3s; }
      body#phpbb li.header dt a:hover {
        text-decoration: none;
        background-color: #6d6f74; }
        body#phpbb li.header dt a:hover:after {
          background-color: #6d6f74; }
      @media only screen and (max-width: 768px) {
        body#phpbb li.header dt a {
          font-size: 1.8rem;
          margin-top: 0;
          margin-bottom: 0; } }
  body#phpbb ul.topiclist dl {
    padding: 15px; }
  body#phpbb ul.topiclist dd {
    border: none;
    margin: 0;
    padding: 0; }
  body#phpbb ul.topiclist li.header {
    background-color: #434447; }
    body#phpbb ul.topiclist li.header dd, body#phpbb ul.topiclist li.header dt {
      color: #FFFFFF !important; }
  body#phpbb ul.topiclist li.row {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    color: #0f0f0f;
    border-top: none;
    border-bottom: 1px solid #e7e7e8;
    -webkit-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease; }
    body#phpbb ul.topiclist li.row:hover {
      background-color: #e5e5e5; }
    body#phpbb ul.topiclist li.row.bg1:hover {
      background-color: #FFFFFF; }
    body#phpbb ul.topiclist li.row.bg2:hover {
      background-color: #e5e5e5; }
    body#phpbb ul.topiclist li.row dt {
      font-weight: normal; }
  body#phpbb ul.topiclist.forums a, body#phpbb ul.topiclist.forums a:link, body#phpbb ul.topiclist.forums a:visited {
    font-weight: 400;
    text-decoration: underline; }
  body#phpbb ul.topiclist.forums a:hover {
    text-decoration: none; }
  body#phpbb ul.topiclist.forums a.forumtitle {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    text-decoration: none;
    font-size: 1.8rem; }
  body#phpbb ul.topiclist .postlink, body#phpbb ul.topiclist .postlink:link, body#phpbb ul.topiclist .postlink:visited {
    border: none; }
  body#phpbb ul.topiclist .signature {
    font-family: Arial, sans-serif; }
  body#phpbb ul.topiclist .username-coloured {
    color: #ea7c26 !important; }
  body#phpbb .notification_list .topiclist dt, body#phpbb .notification_list .topiclist dd {
    width: auto; }
  body#phpbb .notification_list .topiclist dd {
    float: right; }
  body#phpbb .forumbg li.header dl.icon {
    padding: 0px 15px; }
    body#phpbb .forumbg li.header dl.icon dd {
      margin: 0; }
  .section-index body#phpbb h2.forum-title {
    background-color: #434447; }
    .section-index body#phpbb h2.forum-title + div {
      background: #f2f2f2; }
    .section-index body#phpbb h2.forum-title a {
      background-color: #8f9197;
      margin-left: -15px;
      padding-left: 15px;
      color: #FFFFFF;
      font-size: 30px;
      -webkit-transition: background-color 0.3s;
      -moz-transition: background-color 0.3s;
      transition: background-color 0.3s; }
      .section-index body#phpbb h2.forum-title a:after {
        background-color: #8f9197;
        -webkit-transition: background-color 0.3s;
        -moz-transition: background-color 0.3s;
        transition: background-color 0.3s; }
      .section-index body#phpbb h2.forum-title a:hover {
        text-decoration: none;
        background-color: #6d6f74; }
        .section-index body#phpbb h2.forum-title a:hover:after {
          background-color: #6d6f74; }
  body#phpbb .forum-info {
    background: #FFFFFF;
    margin-bottom: .5rem; }
    body#phpbb .forum-info p {
      padding: 0 1.5rem 1.5rem;
      font-size: 1rem; }
  body#phpbb h2.forum-title + .forum-info {
    margin-top: -7px; }
  body#phpbb .panel {
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
    border: none;
    font-size: 1.6rem; }
    body#phpbb .panel#options-panel {
      margin: 0 1.5rem; }
  body#phpbb #page-body h2 {
    background-color: #FFFFFF;
    padding: 1.5rem; }
    body#phpbb #page-body h2 + .panel {
      margin-top: .5rem; }
  body#phpbb #page-body .bg2 h2 {
    background-color: #e5e5e5; }
  body#phpbb #page-body > .panel {
    padding: 1.5rem; }
  body#phpbb #page-body .panel .inner > h2 {
    padding: 1.5rem 0; }
  body#phpbb #page-body > p {
    background: #FFFFFF;
    padding: .5rem 1.5rem; }
    body#phpbb #page-body > p.time {
      margin-bottom: 5px; }
      @media only screen and (max-width: 768px) {
        body#phpbb #page-body > p.time {
          padding: .5rem 1.5rem;
          display: block;
          width: 100%;
          text-align: center;
          margin-left: 0; } }
  body#phpbb #page-body .content h2, body#phpbb #page-body .content h3 {
    padding: 1.5rem 0; }
  body#phpbb form, body#phpbb .stat-block, body#phpbb .action-bar, body#phpbb #tabs {
    background-color: #f2f2f2;
    padding: .5rem 1.5rem;
    margin-bottom: .5rem;
    margin-top: 0; }
  body#phpbb .action-bar {
    font-size: 1.6rem; }
    body#phpbb .action-bar fieldset, body#phpbb .action-bar form {
      margin-bottom: 0; }
    body#phpbb .action-bar .leftside {
      float: left;
      margin-right: 5px; }
    body#phpbb .action-bar .mark-read {
      float: left;
      margin-left: 0; }
      @media only screen and (max-width: 992px) {
        body#phpbb .action-bar .mark-read {
          margin-right: 5px;
          margin-bottom: 5px; } }
    @media only screen and (max-width: 768px) {
      body#phpbb .action-bar {
        padding-bottom: 1rem; }
        body#phpbb .action-bar > .button {
          margin-bottom: 0.5rem; } }
    body#phpbb .action-bar .search-header {
      margin-top: 0; }
      @media only screen and (max-width: 992px) {
        body#phpbb .action-bar .search-header {
          float: left; } }
  body#phpbb .postprofile {
    margin: 5px 1px 10px -1px; }
    body#phpbb .postprofile dl, body#phpbb .postprofile dd, body#phpbb .postprofile dt {
      font-size: 1.3rem; }
    body#phpbb .postprofile .profile-contact .contact-channels {
      display: block; }
  body#phpbb .channels-wrapper {
    position: relative;
    display: block;
    margin-left: 0;
    margin-right: 0;
    padding: 0; }
  body#phpbb .channels {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0; }
    body#phpbb .channels .contact-icon {
      font-size: 0; }
  body#phpbb .has-profile .post-buttons {
    right: 3%; }
  body#phpbb .postbody {
    width: 78%;
    padding-right: 3%;
    border-right: 1px solid #FFFFFF; }
    body#phpbb .postbody h3 {
      font-family: Arial, sans-serif; }
    @media only screen and (max-width: 700px) {
      body#phpbb .postbody {
        width: 100%;
        border-right: 0px; } }
  body#phpbb .adsense {
    padding: 1.5rem;
    margin-bottom: .5rem;
    background: #FFFFFF;
    text-align: center; }
    body#phpbb .adsense small {
      font-size: 1.2rem;
      display: block; }
  body#phpbb .post {
    padding: 1.5rem;
    margin-bottom: .5rem;
    border-radius: 0; }
    body#phpbb .post.bg1 .postprofile, body#phpbb .post.bg1 .postbody {
      border-color: #e7e7e8; }
    body#phpbb .post h2, body#phpbb .post h3 {
      background: transparent !important; }
  body#phpbb p.author {
    font-family: Arial, sans-serif; }
  body#phpbb blockquote {
    padding: .5rem;
    font-size: 1.3rem; }
    body#phpbb blockquote.uncited {
      padding-top: 2rem; }
  body#phpbb ol {
    margin-bottom: 3rem; }
  body#phpbb #page-footer {
    background-color: #f2f2f2; }
  body#phpbb .pagination ul {
    vertical-align: middle; }
  body#phpbb .pagination li {
    margin-right: .1rem;
    height: 4rem; }
    body#phpbb .pagination li a, body#phpbb .pagination li span {
      border: none;
      border-radius: 0;
      display: block;
      font-size: 1.2rem;
      font-weight: normal;
      line-height: 4rem;
      height: 4rem;
      min-width: 2rem;
      padding: 0 .3rem;
      text-align: center;
      text-decoration: none; }
    body#phpbb .pagination li.page-jump a, body#phpbb .pagination li.next a, body#phpbb .pagination li.previous a {
      font-size: 0;
      height: 4rem;
      -webkit-transition: background 0.02s ease, background-color 0.2s ease;
      -moz-transition: background 0.02s ease, background-color 0.2s ease;
      transition: background 0.02s ease, background-color 0.2s ease; }
    body#phpbb .pagination li.page-jump a {
      width: 3.2rem; }
    @media only screen and (max-width: 479px) {
      body#phpbb .pagination li {
        margin-right: .5rem; } }
  body#phpbb .row .pagination {
    background-image: none;
    padding-left: 1.6rem;
    position: relative; }
    body#phpbb .row .pagination:after {
      content: '\f086';
      font-family: fontAwesome;
      position: absolute;
      left: 0;
      top: 0;
      font-size: 1.5rem;
      width: 1.5rem;
      color: #0f0f0f; }
    body#phpbb .row .pagination li {
      height: 2rem; }
      body#phpbb .row .pagination li a, body#phpbb .row .pagination li span {
        height: 2rem;
        line-height: 2rem; }
      body#phpbb .row .pagination li a {
        text-decoration: underline;
        background: transparent;
        color: #0f0f0f; }
        body#phpbb .row .pagination li a:hover {
          text-decoration: none;
          background: #ea7c26;
          color: #FFFFFF; }
      body#phpbb .row .pagination li:after {
        height: 2rem;
        line-height: 2rem; }
  body#phpbb p.jumpbox-return {
    margin-top: 0;
    padding: 1.5rem;
    overflow: hidden; }
    body#phpbb p.jumpbox-return a {
      padding: 0;
      padding-left: 3.5rem;
      color: #ea7c26;
      line-height: 1.1; }
      body#phpbb p.jumpbox-return a:after {
        display: none; }
      body#phpbb p.jumpbox-return a:hover {
        color: #8f9197; }
      body#phpbb p.jumpbox-return a.arrow-left {
        background: url("/files/r4f_relaunch_2016/images/icons/arrow-left-grey-bold.png") no-repeat 3px 68%;
        background-size: auto 2.5rem; }
      @media only screen and (max-width: 768px) {
        body#phpbb p.jumpbox-return a {
          font-size: 1.8rem;
          padding-left: 2.5rem; }
          body#phpbb p.jumpbox-return a.arrow-left {
            background: url("/files/r4f_relaunch_2016/images/icons/arrow-left-grey-bold.png") no-repeat 3px 86%;
            background-size: auto 1.8rem; } }
  body#phpbb .error {
    font-size: 1.5rem;
    font-weight: 400; }
  body#phpbb.section-index #nav-breadcrumbs {
    display: none; }
  body#phpbb .forumbg-table {
    margin-bottom: 3rem; }
    body#phpbb .forumbg-table > .inner {
      margin: 0; }
  body#phpbb table.table1 thead th {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    line-height: 4rem;
    font-size: 1.4rem; }
  body#phpbb table.table1 tbody tr {
    border-color: transparent;
    -webkit-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease; }
  body#phpbb form thead {
    background-color: #f2f2f2; }
  body#phpbb #page-body form h2, body#phpbb #page-body form h3 {
    background-color: #f2f2f2;
    margin: auto; }
  body#phpbb label, body#phpbb .captcha_text {
    display: inline;
    padding-right: .5rem; }
    body#phpbb label img, body#phpbb .captcha_text img {
      display: inline; }
  body#phpbb input[type=checkbox], body#phpbb input[type=radio] {
    float: none;
    margin-right: auto; }
  body#phpbb a.button1, body#phpbb a.button2, body#phpbb a.button3, body#phpbb input.button1, body#phpbb input.button2, body#phpbb input.button3 {
    font-family: "Oswald", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    padding: 0 1rem;
    margin: .2rem auto;
    text-transform: uppercase;
    display: inline-block;
    border-radius: 0;
    -webkit-transition: background 0.3s ease, color 0.3s ease;
    -moz-transition: background 0.3s ease, color 0.3s ease;
    transition: background 0.3s ease, color 0.3s ease; }
  body#phpbb #format-buttons a.button1, body#phpbb #format-buttons a.button2, body#phpbb #format-buttons a.button3, body#phpbb #format-buttons input.button1, body#phpbb #format-buttons input.button2, body#phpbb #format-buttons input.button3 {
    text-transform: none;
    padding: 0 1rem; }
  body#phpbb input, body#phpbb .inputbox {
    padding: .5rem;
    font-weight: 400;
    box-sizing: border-box; }
  body#phpbb select {
    width: auto;
    font-weight: 400;
    font-size: 1.4rem; }
  body#phpbb fieldset .submit-buttons input {
    padding-top: 3px;
    padding-bottom: 3px; }
  body#phpbb fieldset.submit-buttons {
    text-align: left; }
  body#phpbb fieldset.fields1 dt {
    width: auto;
    min-width: 20%; }
  body#phpbb fieldset.fields1 dd {
    margin-left: auto; }
    body#phpbb fieldset.fields1 dd .inputbox {
      min-width: 60%; }
      @media only screen and (max-width: 700px) {
        body#phpbb fieldset.fields1 dd .inputbox {
          min-width: 100%; } }
  body#phpbb form {
    overflow: hidden; }
    body#phpbb form .panel {
      background: transparent;
      padding: 1.5rem; }
    body#phpbb form h2 {
      font-size: 3rem; }
    body#phpbb form h3 a {
      font-size: 2.6rem;
      border: none; }
      @media only screen and (max-width: 479px) {
        body#phpbb form h3 a {
          font-size: 1.8rem; } }
    body#phpbb form img {
      display: inline; }
  body#phpbb fieldset.quick-login span.inputbox, body#phpbb fieldset.quick-login input.inputbox {
    background-color: #FFFFFF;
    margin-left: 0; }
  body#phpbb form#register dl {
    width: 100%;
    padding-bottom: 2rem; }
  body#phpbb form#register dd .inputbox, body#phpbb form#register dd select {
    width: 50% !important; }
    @media only screen and (max-width: 768px) {
      body#phpbb form#register dd .inputbox, body#phpbb form#register dd select {
        width: 100% !important; } }
  body#phpbb .dropdown .dropdown-contents {
    border: 1px solid transparent;
    border-radius: 0;
    padding: .5rem 0; }
  body#phpbb .dropdown li {
    border-top-style: solid;
    font-size: 1.5rem !important;
    padding: .5rem 1.5rem;
    display: list-item; }
    body#phpbb .dropdown li.separator {
      margin: 0;
      padding: 0; }
  body#phpbb .dropdown-contents li a {
    color: #0f0f0f !important; }
  body#phpbb ul.linklist .dropdown {
    top: 33px; }
  body#phpbb .dropdown-button-control.dropdown-up .dropdown {
    top: auto;
    bottom: 37px; }
  body#phpbb #jumpbox {
    margin: 5px 0;
    width: 100%;
    background: #f2f2f2; }
    body#phpbb #jumpbox::after {
      clear: both;
      content: "";
      display: table; }
    body#phpbb #jumpbox .dropdown-select {
      float: right;
      height: 5rem;
      margin-right: 16px;
      border-right: 1px solid #dadada;
      border-left: 1px solid #dadada; }
      body#phpbb #jumpbox .dropdown-select:after {
        background-repeat: no-repeat;
        border: none;
        right: -17px;
        color: #bbbbbd; }
      body#phpbb #jumpbox .dropdown-select:hover:after {
        color: #434447; }
  body#phpbb .dropdown-container.topic-tools {
    background-color: #bbbbbd;
    margin-right: 5px; }
  body#phpbb .dropdown, body#phpbb .dropup {
    position: absolute; }
  body#phpbb .dropdown-extended .header, body#phpbb .dropdown-extended .footer {
    border-color: transparent;
    border-radius: 0;
    text-shadow: none; }
    body#phpbb .dropdown-extended .header a, body#phpbb .dropdown-extended .footer a {
      color: #0f0f0f; }
  body#phpbb .dropdown-extended ul li:hover {
    background-color: #e5e5e5; }
  body#phpbb #tabs {
    margin: 0;
    margin-top: .5rem;
    padding-bottom: 0; }
    body#phpbb #tabs .tab > a {
      border-radius: 0;
      font-weight: 300;
      font-size: 1.2rem;
      margin-top: 0; }
    body#phpbb #tabs ~ form, body#phpbb #tabs ~ .panel {
      background-color: #FFFFFF; }
  body#phpbb #cp-menu {
    margin-top: 0; }
  body#phpbb #cp-main {
    padding-left: 1.5rem; }
    @media only screen and (max-width: 900px) {
      body#phpbb #cp-main {
        padding-left: 0; } }
    body#phpbb #cp-main > h2 {
      margin-left: 0;
      margin-top: 0;
      background-color: #f2f2f2; }
    body#phpbb #cp-main form {
      margin-left: 1.5rem;
      padding: 0; }
      @media only screen and (max-width: 900px) {
        body#phpbb #cp-main form {
          margin-left: -1.5rem;
          margin-right: -1.5rem; } }
      body#phpbb #cp-main form fieldset.submit-buttons {
        padding: 0 1.5rem 1.5rem 1.5rem; }
    body#phpbb #cp-main > form {
      margin-left: 0; }
    body#phpbb #cp-main > .panel {
      background: #f9f9f9;
      padding: 1rem 1.5rem;
      margin: 0;
      margin-top: .5rem; }
  body#phpbb #navigation {
    padding-top: 0; }
    body#phpbb #navigation a {
      font-weight: 400; }
    @media only screen and (max-width: 900px) {
      body#phpbb #navigation {
        margin: -1.5rem;
        margin-bottom: 0;
        max-width: calc(100% + 30px); }
        body#phpbb #navigation li:first-child a, body#phpbb #navigation li:last-child a {
          border-radius: 0; }
        body#phpbb #navigation li a {
          padding-left: 1.5rem; } }
  body#phpbb dl.details dt {
    text-align: left;
    width: 20%;
    min-width: 4.5rem; }
  body#phpbb dd.lastpost > span, body#phpbb ul.topiclist dd.info > span, body#phpbb ul.topiclist dd.time > span, body#phpbb dd.redirect > span, body#phpbb dd.moderation > span {
    padding-left: 0; }
  body#phpbb #review {
    padding: 0 1.5rem;
    margin-top: 3rem !important; }
  body#phpbb #topicreview {
    margin: 1.5rem;
    border-top: 1px solid #e2e2e2; }
  body#phpbb #smiley-box {
    font-size: 1rem; }
    body#phpbb #smiley-box > strong {
      font-size: 1.5rem;
      font-family: "Oswald", sans-serif; }
  @media only screen and (min-width: 700px) {
    body#phpbb .left-box.profile-details {
      margin-left: 1.5rem; } }
  body#phpbb #message-box textarea {
    font-size: 1em;
    font-family: _ Arial, sans-serif; }
  body#phpbb .cp-mini {
    margin-left: 0;
    margin-right: 0;
    border-radius: 0; }
  body#phpbb .display-actions {
    padding-right: 1.5rem; }
    @media only screen and (max-width: 1199px) {
      body#phpbb .display-actions .left-box {
        float: none;
        text-align: right; }
      body#phpbb .display-actions > select {
        margin-right: .5rem; } }
    @media only screen and (max-width: 600px) {
      body#phpbb .display-actions .left-box {
        margin-bottom: 1.5rem; }
        body#phpbb .display-actions .left-box label {
          padding-right: 0;
          white-space: normal; }
      body#phpbb .display-actions > select {
        white-space: normal;
        margin-right: 0; } }
  body#phpbb #search_memberlist select, body#phpbb #search_memberlist input {
    width: 100%; }
  body#phpbb #memberlist tbody {
    font-size: 1.3rem; }
  body#phpbb #memberlist th a, body#phpbb #memberlist a {
    color: #535353; }
  @media only screen and (max-width: 1220px) {
    body#phpbb #wrap {
      margin: 0 auto; } }
  @media only screen and (max-width: 700px) {
    body#phpbb .headerbar, body#phpbb .navbar, body#phpbb .forabg, body#phpbb .forumbg, body#phpbb .post, body#phpbb .panel {
      margin-left: 0;
      margin-right: 0; }
    body#phpbb .logo {
      display: block; }
    body#phpbb fieldset.quick-login label[for="autologin"] {
      text-align: left; } }
  body#phpbb .icon-button:before {
    background: transparent 0 0 no-repeat;
    background-image: none;
    content: '';
    font-family: fontAwesome;
    font-size: 15px;
    display: inline-block;
    line-height: 1;
    float: right;
    height: 100%;
    margin: 3px 0 0 3px;
    width: 16px; }
  body#phpbb .quote-icon:before {
    content: '\f10d'; }
  body#phpbb .edit-icon:before {
    content: '\f044'; }
  body#phpbb .warn-icon:before {
    content: '\f071'; }
  body#phpbb .delete-icon:before {
    content: '\f014'; }
  body#phpbb .report-icon:before {
    content: '\f12a'; }
  body#phpbb .report-icon:hover:before {
    color: #dd0000; }
  body#phpbb .info-icon:before {
    content: '\f129'; }
  body#phpbb .button.responsive-menu-link:before {
    content: '\f0c9'; }
  body#phpbb .search-icon:before {
    content: '\f002'; }
  body#phpbb .search-adv-icon:before {
    content: '\f013'; }
  body#phpbb .tools-icon:before, body#phpbb .modtools-icon:before {
    content: '\f0ad'; }
  body#phpbb .reply-icon:before, body#phpbb .pmreply-icon:before {
    content: '\f112'; }
  body#phpbb .post-icon:before, body#phpbb .newpm-icon:before, body#phpbb .reply-all:before {
    content: '\f122'; }
  body#phpbb .locked-icon:before {
    content: '\f023'; }
  body#phpbb .forwardpm-icon:before {
    content: '\f064'; }
  body#phpbb .small-icon:before {
    background: transparent 0 0 no-repeat;
    background-image: none;
    content: '';
    font-family: "FontAwesome";
    font-size: 15px;
    display: inline-block;
    line-height: 40px;
    float: left;
    height: 100%;
    margin: 0 0 0 -20px;
    width: 16px;
    color: #FFFFFF; }
  body#phpbb #quick-links {
    padding-left: 1rem; }
  body#phpbb .compact .responsive-menu {
    padding-right: 0; }
    body#phpbb .compact .responsive-menu > a {
      width: 24px;
      text-indent: -9999px; }
    body#phpbb .compact .responsive-menu:before {
      margin-left: 2px;
      margin-right: -16px;
      content: '\f0c9';
      display: block !important; }
  body#phpbb .icon-faq:before {
    content: '\f128'; }
  body#phpbb .icon-register:before {
    content: '\f234'; }
  body#phpbb .icon-logout:before {
    content: '\f090'; }
  body#phpbb .icon-notification:before {
    content: '\f0f3'; }
  body#phpbb .icon-pm:before {
    content: '\f0e0'; }
  body#phpbb .icon-home:before {
    content: '\f015'; }
  body#phpbb .icon-contact:before {
    content: '\f0e0'; }
  body#phpbb .icon-team:before {
    content: '\f0c0'; }
  body#phpbb .icon-members:before {
    content: '\f007'; }
  body#phpbb .icon-delete-cookies:before {
    content: '\f146'; }
  body#phpbb .icon-profile:before {
    content: '\f1ea'; }
  body#phpbb .icon-download:before {
    content: '\f019'; }
  body#phpbb .responsive-menu.rightside {
    position: relative;
    padding-left: 1rem; }
    body#phpbb .responsive-menu.rightside:before {
      position: absolute;
      left: 16px;
      display: block !important;
      background: transparent 0 0 no-repeat;
      background-image: none;
      content: '\f0c9';
      font-family: "FontAwesome";
      font-size: 15px;
      display: inline-block;
      line-height: 40px;
      height: 100%;
      margin: 0;
      width: 16px;
      color: #FFFFFF; }
  body#phpbb .dropdown-select:after {
    background-image: none;
    border-left: 1px solid;
    content: '\f0dd';
    font-family: fontAwesome;
    position: absolute;
    top: 0;
    right: 0;
    height: 22px;
    line-height: 1;
    width: 14px;
    color: #FFFFFF; }
  body#phpbb .dropdown-select:hover:after {
    color: #434447; }
  body#phpbb .pagination li.page-jump a, body#phpbb .pagination li.next a, body#phpbb .pagination li.previous a {
    position: relative; }
    body#phpbb .pagination li.page-jump a:after, body#phpbb .pagination li.next a:after, body#phpbb .pagination li.previous a:after {
      font-family: fontAwesome;
      position: absolute;
      top: 0;
      line-height: 40px;
      color: #FFFFFF; }
  body#phpbb .pagination li.page-jump a:after {
    content: '\f050';
    width: 32px;
    right: 0;
    font-size: 1.5rem; }
  body#phpbb .pagination li.next a:after {
    content: '\f0da';
    width: 20px;
    right: 0;
    font-size: 1.7rem; }
  body#phpbb .pagination li.previous a:after {
    content: '\f0d9';
    width: 20px;
    left: 0;
    font-size: 1.7rem; }
  body#phpbb a.top, body#phpbb a.top2 {
    width: 15px;
    height: 15px;
    text-indent: 15px;
    position: relative; }
    body#phpbb a.top:after, body#phpbb a.top2:after {
      content: '\f0aa';
      font-family: fontAwesome;
      position: absolute;
      top: 0;
      left: 0;
      margin-left: 1px;
      width: 15px;
      height: 15px;
      color: #535353;
      font-size: 15px;
      line-height: 1;
      text-indent: 0;
      -webkit-transition: color 0.3s ease;
      -moz-transition: color 0.3s ease;
      transition: color 0.3s ease; }
    body#phpbb a.top:hover:after, body#phpbb a.top2:hover:after {
      color: #ea7c26; }
  body#phpbb dl.icon {
    background-image: none;
    background-position: 10px 15px;
    position: relative; }
    .header body#phpbb dl.icon:after {
      display: none; }
    body#phpbb dl.icon a.icon-link {
      top: 0;
      left: 6px;
      margin-top: 20px;
      width: 25px;
      height: 25px;
      line-height: 1;
      font-size: 20px;
      text-decoration: none !important; }
      body#phpbb dl.icon a.icon-link:before {
        font-family: "FontAwesome"; }
  body#phpbb a.arrow-up, body#phpbb a.arrow-down, body#phpbb a.arrow-left, body#phpbb a.arrow-right {
    position: relative;
    background-image: none; }
    body#phpbb a.arrow-up:after, body#phpbb a.arrow-down:after, body#phpbb a.arrow-left:after, body#phpbb a.arrow-right:after {
      position: absolute;
      top: 0;
      width: 15px;
      height: 15px;
      font-family: "FontAwesome";
      line-height: 1;
      font-size: 15px; }
  body#phpbb a.arrow-left {
    display: inline-block; }
    body#phpbb a.arrow-left:after {
      font-size: 20px;
      text-align: left; }
  body#phpbb a.arrow-right {
    display: inline-block; }
    body#phpbb a.arrow-right:after {
      font-size: 20px;
      text-align: right; }

html, body {
  color: inherit;
  background-color: transparent; }

body#phpbb {
  /* Search box
    --------------------------------------------- */
  /* Round cornered boxes and backgrounds
    ---------------------------------------- */
  /* Horizontal lists
    ----------------------------------------*/
  /* Table styles
    ----------------------------------------*/
  /* Misc layout styles
    ---------------------------------------- */
  /* Pagination
    ---------------------------------------- */
  /* Pagination in viewforum for multipage topics */
  /* Miscellaneous styles
    ---------------------------------------- */
  /*
    --------------------------------------------------------------
    Colours and backgrounds for links.css
    -------------------------------------------------------------- */
  /* Links on gradient backgrounds */
  /* Notification mark read link */
  /* Post body links */
  /* Back to top of page */
  /* Arrow links  */
  /*
    --------------------------------------------------------------
    Colours and backgrounds for content.css
    -------------------------------------------------------------- */
  /* Post body styles
    ----------------------------------------*/
  /* Content container styles
    ----------------------------------------*/
  /* Post signature */
  /* Post noticies */
  /* BB Code styles
    ----------------------------------------*/
  /* Quote block */
  /* Code block */
  /* Attachments
    ----------------------------------------*/
  /* Inline image thumbnails */
  /* Post poll styles
    ----------------------------------------*/
  /* Poster profile block
    ----------------------------------------*/
  /*
    --------------------------------------------------------------
    Colours and backgrounds for buttons.css
    -------------------------------------------------------------- */
  /* Icon images
    ---------------------------------------- */
  /*
    .icon-acp					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_acp.gif"); }
    .icon-bookmark				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_bookmark.gif"); }
    .icon-bump					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_bump.gif"); }
    .icon-contact				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_pm.gif"); }
    .icon-delete-cookies		{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_delete_cookies.gif"); }
    .icon-download				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_download.gif"); }
    .icon-faq					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_faq.gif"); }
    .icon-home					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_home.gif"); }
    .icon-logout				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_logout.gif"); }
    .icon-mark					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_mark.gif"); }
    .icon-mcp					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_mcp.gif"); }
    .icon-members				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_members.gif"); }
    .icon-notification			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_notification.gif"); }
    .icon-pages					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_pages.gif"); }
    .icon-pm					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_pm.gif"); }
    .icon-print					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_print.gif"); }
    .icon-profile				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_profile.gif"); }
    .icon-register				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_register.gif"); }
    .icon-search, .responsive-search a	{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_search.gif"); }
    .icon-search-active			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/subforum_read.gif"); }
    .icon-search-new			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/subforum_unread.gif"); }
    .icon-search-self			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_topic_latest.gif"); }
    .icon-search-unanswered		{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_post_target.gif"); }
    .icon-search-unread			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/subforum_unread.gif"); }
    .icon-sendemail				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_sendemail.gif"); }
    .icon-subscribe				{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_subscribe.gif"); }
    .icon-team					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_team.gif"); }
    .icon-ucp					{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_ucp.gif"); }
    .icon-unsubscribe			{ background-image: url("../../files/r4f_relaunch_2016/css/./images/icon_unsubscribe.gif"); }
    */
  /* Profile & navigation icons */
  /* Forum icons & Topic icons */
  /*
    --------------------------------------------------------------
    Colours and backgrounds for cp.css
    -------------------------------------------------------------- */
  /* Main CP box
    ----------------------------------------*/
  /* CP tabbed menu
    ----------------------------------------*/
  /* Mini tabbed menu used in MCP
    ----------------------------------------*/
  /* Responsive tabs
    ----------------------------------------*/
  /* UCP navigation menu
    ----------------------------------------*/
  /* Link styles for the sub-section links */
  /* Preferences pane layout
    ----------------------------------------*/
  /* Friends list */
  /* PM Styles
    ----------------------------------------*/
  /* PM Message history */
  /* PM marking colours */
  /* Avatar gallery */
  /*
    --------------------------------------------------------------
    Colours and backgrounds for forms.css
    -------------------------------------------------------------- */
  /* General form styles
    ----------------------------------------*/
  /* Definition list layout for forms
    ---------------------------------------- */
  /* Hover effects */
  /* Quick-login on index page */
  /* Posting page styles
    ----------------------------------------*/
  /* Input field styles
    ---------------------------------------- */
  /* Form button styles
    ---------------------------------------- */
  /* Alternative button */
  /* <a> button in the style of the form buttons */
  /* Hover states */
  /* Focus states */
  /* jQuery popups
    ---------------------------------------- */
  /* Notifications
    ---------------------------------------- */ }
  body#phpbb h1 {
    color: inherit; }
    body#phpbb h1 a {
      color: inherit; }
  body#phpbb h2 {
    color: inherit; }
  body#phpbb h3 {
    border-bottom-color: transparent;
    color: inherit; }
  body#phpbb hr {
    border-color: #FFFFFF;
    border-top-color: #CCCCCC; }
  body#phpbb .search-box .inputbox,
  body#phpbb .search-box .inputbox:hover,
  body#phpbb .search-box .inputbox:focus,
  body#phpbb .search-box .button:hover {
    border-color: #e4e3e3; }
  body#phpbb .search-header {
    box-shadow: none; }
  body#phpbb #wrap {
    background-color: transparent;
    border-color: transparent; }
  body#phpbb .headerbar {
    background-color: #434447;
    color: #FFFFFF; }
  body#phpbb .navbar {
    background-color: #f2f2f2; }
  body#phpbb .forabg {
    background-color: #434447; }
  body#phpbb .forumbg {
    background: #FFFFFF;
    background-color: #FFFFFF; }
  body#phpbb .panel {
    background-color: #FFFFFF;
    color: #0f0f0f; }
  body#phpbb .post:target .content {
    color: #0f0f0f; }
  body#phpbb .post:target h3 a {
    color: #0f0f0f; }
  body#phpbb .bg1 {
    background-color: #FFFFFF; }
  body#phpbb table.zebra-list tr:nth-child(odd) td, body#phpbb ul.zebra-list li:nth-child(odd) {
    background-color: #FFFFFF; }
  body#phpbb .bg2 {
    background-color: #e5e5e5; }
  body#phpbb table.zebra-list tr:nth-child(even) td, body#phpbb ul.zebra-list li:nth-child(even) {
    background-color: #e5e5e5; }
  body#phpbb .bg3 {
    background-color: #f2f2f2; }
  body#phpbb .ucprowbg {
    background-color: #DCDEE2; }
  body#phpbb .fieldsbg {
    background-color: #E7E8EA; }
  body#phpbb ul.navlinks {
    border-top-color: #FFFFFF; }
  body#phpbb table.table1 thead th {
    color: #0f0f0f; }
  body#phpbb table.table1 tbody tr {
    border-color: transparent; }
  body#phpbb table.table1 tbody tr:hover, body#phpbb table.table1 tbody tr.hover {
    background-color: #e5e5e5;
    color: #0f0f0f; }
  body#phpbb table.table1 tbody tr.bg2:hover, body#phpbb table.table1 tbody tr.bg2.hover {
    background-color: #eeeeee;
    color: #0f0f0f; }
  body#phpbb table.table1 td {
    color: #8f9197; }
  body#phpbb table.table1 tbody td {
    border-top-color: #FFFFFF; }
  body#phpbb table.table1 tbody th {
    border-color: transparent;
    color: #0f0f0f;
    background-color: #FFFFFF; }
  body#phpbb table.info tbody th {
    color: #0f0f0f; }
  body#phpbb dl.details dt {
    color: #0f0f0f; }
  body#phpbb dl.details dd {
    color: #0f0f0f; }
  body#phpbb .sep {
    color: #ea7c26; }
  body#phpbb .pagination li a {
    border-color: transparent;
    background-color: #bbbbbd;
    color: #FFFFFF; }
  body#phpbb .pagination li.ellipsis span {
    background-color: transparent;
    color: #0f0f0f; }
  body#phpbb .pagination li.active span {
    background-color: #ea7c26;
    border-color: transparent;
    color: #FFFFFF; }
  body#phpbb .pagination li a:hover, body#phpbb .pagination .dropdown-visible a.dropdown-trigger, body#phpbb .nojs .pagination .dropdown-container:hover a.dropdown-trigger {
    background-color: #ea7c26;
    border-color: transparent;
    color: #FFFFFF; }
  body#phpbb .pagination li.next a, body#phpbb .pagination li.previous a, body#phpbb .pagination li.page-jump a {
    background-image: none; }
  body#phpbb .copyright {
    color: #898a8a; }
  body#phpbb .error {
    color: #dd0000; }
  body#phpbb .reported {
    background-color: #F7ECEF; }
  body#phpbb li.reported:hover {
    background-color: #ECD5D8 !important; }
  body#phpbb .sticky, body#phpbb .announce {
    /* you can add a background for stickies and announcements*/ }
  body#phpbb div.rules {
    background-color: #ECD5D8;
    color: #dd0000; }
  body#phpbb p.post-notice {
    background-color: #ECD5D8;
    background-image: none; }
  body#phpbb .forumbg .header a, body#phpbb .forabg .header a, body#phpbb th a {
    color: #FFFFFF; }
  body#phpbb .forumbg .header a:hover, body#phpbb .forabg .header a:hover, body#phpbb th a:hover {
    color: #e5e5e5; }
  body#phpbb .dropdown-extended a.mark_read {
    background-color: #FFFFFF; }
  body#phpbb .postlink {
    border-bottom-color: #898a8a;
    color: #0f0f0f; }
  body#phpbb .postlink:visited {
    border-bottom-color: #898a8a;
    color: #898a8a; }
  body#phpbb .postlink:hover {
    background-color: transparent;
    color: #ea7c26; }
  body#phpbb .postlink-local {
    color: #898a8a; }
  body#phpbb .signature a, body#phpbb .signature a:hover {
    background-color: transparent; }
  body#phpbb a.top {
    background-image: none; }
  body#phpbb a.top2 {
    background-image: none; }
  body#phpbb a.arrow-up {
    background-image: none; }
    body#phpbb a.arrow-up:after {
      content: '\f106';
      left: 0; }
  body#phpbb a.arrow-down {
    background-image: none; }
    body#phpbb a.arrow-down:after {
      content: '\f107';
      left: 0; }
  body#phpbb a.arrow-left {
    background-image: none; }
    body#phpbb a.arrow-left:after {
      content: '\f104';
      left: 0; }
  body#phpbb a.arrow-right {
    background-image: none; }
    body#phpbb a.arrow-right:after {
      content: '\f105';
      right: 0; }
  body#phpbb a.arrow-up:hover {
    background-color: transparent; }
  body#phpbb a.arrow-left:hover {
    color: #ea7c26; }
  body#phpbb a.arrow-right:hover {
    color: #ea7c26; }
  body#phpbb ul.forums {
    background-color: #FFFFFF;
    background-image: none; }
  body#phpbb ul.topiclist li {
    color: #434447; }
  body#phpbb ul.topiclist dd {
    border-left-color: #FFFFFF; }
  body#phpbb .rtl ul.topiclist dd {
    border-right-color: #FFFFFF;
    border-left-color: transparent; }
  body#phpbb li.row {
    border-top-color: transparent;
    border-bottom-color: #e7e7e8; }
  body#phpbb li.row strong {
    color: #0f0f0f; }
  body#phpbb li.row:hover {
    background-color: #e5e5e5; }
  body#phpbb li.row:hover dd {
    border-left-color: #CCCCCC; }
  body#phpbb .rtl li.row:hover dd {
    border-right-color: #CCCCCC;
    border-left-color: transparent; }
  body#phpbb li.header dt, body#phpbb li.header dd {
    background-color: #434447;
    color: #FFFFFF; }
  body#phpbb .postbody {
    color: #0f0f0f; }
  body#phpbb .content {
    color: #0f0f0f; }
  body#phpbb .content h2, body#phpbb .panel h2 {
    color: #0f0f0f;
    border-bottom-color: #CCCCCC; }
  body#phpbb dl.faq dt {
    color: #0f0f0f; }
  body#phpbb .posthilit {
    background-color: #F3BFCC;
    color: #dd0000; }
  body#phpbb .announce, body#phpbb .unreadpost {
    /* Highlight the announcements & unread posts box */ }
  body#phpbb .signature {
    border-top-color: #CCCCCC; }
  body#phpbb .notice {
    border-top-color: #CCCCCC; }
  body#phpbb blockquote {
    background-color: #EBEADD;
    border-color: #DBDBCE; }
  body#phpbb blockquote blockquote {
    /* Nested quotes */
    background-color: #EFEED9; }
  body#phpbb blockquote blockquote blockquote {
    /* Nested quotes */
    background-color: #EBEADD; }
  body#phpbb .codebox {
    background-color: #FFFFFF;
    border-color: #C9D2D8; }
  body#phpbb .codebox p {
    border-bottom-color: #CCCCCC; }
  body#phpbb .codebox code {
    color: #2E8B57; }
  body#phpbb .syntaxbg {
    color: #FFFFFF; }
  body#phpbb .syntaxcomment {
    color: #FF8000; }
  body#phpbb .syntaxdefault {
    color: #0000BB; }
  body#phpbb .syntaxhtml {
    color: #0f0f0f; }
  body#phpbb .syntaxkeyword {
    color: #007700; }
  body#phpbb .syntaxstring {
    color: #DD0000; }
  body#phpbb .attachbox {
    background-color: #FFFFFF;
    border-color: #C9D2D8; }
  body#phpbb .pm-message .attachbox {
    background-color: #FFFFFF; }
  body#phpbb .attachbox dd {
    border-top-color: #C9D2D8; }
  body#phpbb .attachbox p {
    color: #6d6f74; }
  body#phpbb .attachbox p.stats {
    color: #6d6f74; }
  body#phpbb .attach-image img {
    border-color: #8f9197; }
  body#phpbb dl.file dd {
    color: #6d6f74; }
  body#phpbb dl.thumbnail img {
    border-color: #8f9197;
    background-color: #FFFFFF; }
  body#phpbb dl.thumbnail dd {
    color: #6d6f74; }
  body#phpbb dl.thumbnail dt a:hover {
    background-color: #eeeeee; }
  body#phpbb dl.thumbnail dt a:hover img {
    border-color: #434447; }
  body#phpbb fieldset.polls dl {
    border-top-color: #e7e7e8;
    color: #6d6f74; }
  body#phpbb fieldset.polls dl.voted {
    color: #0f0f0f; }
  body#phpbb fieldset.polls dd div {
    color: #FFFFFF; }
  body#phpbb .rtl .pollbar1, body#phpbb .rtl .pollbar2, body#phpbb .rtl .pollbar3, body#phpbb .rtl .pollbar4, body#phpbb .rtl .pollbar5 {
    border-right-color: transparent; }
  body#phpbb .pollbar1 {
    background-color: #AA2346;
    border-bottom-color: #74162C;
    border-right-color: #74162C; }
  body#phpbb .rtl .pollbar1 {
    border-left-color: #74162C; }
  body#phpbb .pollbar2 {
    background-color: #BE1E4A;
    border-bottom-color: #8C1C38;
    border-right-color: #8C1C38; }
  body#phpbb .rtl .pollbar2 {
    border-left-color: #8C1C38; }
  body#phpbb .pollbar3 {
    background-color: #D11A4E;
    border-bottom-color: #AA2346;
    border-right-color: #AA2346; }
  body#phpbb .rtl .pollbar3 {
    border-left-color: #AA2346; }
  body#phpbb .pollbar4 {
    background-color: #E41653;
    border-bottom-color: #BE1E4A;
    border-right-color: #BE1E4A; }
  body#phpbb .rtl .pollbar4 {
    border-left-color: #BE1E4A; }
  body#phpbb .pollbar5 {
    background-color: #F81157;
    border-bottom-color: #D11A4E;
    border-right-color: #D11A4E; }
  body#phpbb .rtl .pollbar5 {
    border-left-color: #D11A4E; }
  body#phpbb .postprofile {
    color: #6d6f74;
    border-color: #FFFFFF; }
  body#phpbb .pm .postprofile {
    border-color: #e7e7e8; }
  body#phpbb .postprofile strong {
    color: #0f0f0f; }
  body#phpbb dd.profile-warnings {
    color: #BC2A4D; }
  body#phpbb .button {
    border-color: #bbbbbd;
    background-color: #bbbbbd;
    background-image: none;
    -ms-filter: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    color: #FFFFFF; }
  body#phpbb .dropdown-select {
    color: #FFFFFF; }
  body#phpbb .button:hover, body#phpbb .dropdown-visible .dropdown-select, body#phpbb .nojs .dropdown-container:hover .dropdown-select {
    border-color: #434447;
    background: #434447;
    background-image: none;
    -ms-filter: none;
    text-shadow: none; }
  body#phpbb .post-buttons .button, body#phpbb .post-buttons .button:link, body#phpbb .post-buttons .button:visited {
    background-color: transparent;
    color: #0f0f0f; }
  body#phpbb .post-buttons .button:hover {
    background-color: transparent;
    color: #ea7c26; }
  body#phpbb .dropdown-select:after {
    border-color: #DADADA; }
  body#phpbb .dropdown-select:hover {
    border-color: #C7C3BF; }
  body#phpbb .dropdown-visible .dropdown-select, body#phpbb .dropdown-visible .dropdown-select:hover, body#phpbb .nojs .dropdown-container:hover .dropdown-select {
    border-color: #A6B2BA;
    color: #8f9197; }
  body#phpbb .contact-icons a {
    border-color: #DCDCDC; }
  body#phpbb .contact-icons a:hover {
    background-color: #F2F6F9; }
  body#phpbb .contact-icon.pm-icon {
    background-image: none;
    position: relative;
    padding-left: 16px;
    padding-top: 16px; }
    body#phpbb .contact-icon.pm-icon:before {
      font-family: "FontAwesome";
      color: #434447;
      font-size: 18px;
      content: "\f0e5";
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      bottom: 0; }
  body#phpbb .icon-button:before {
    background-image: none; }
  body#phpbb .imageset.icon_topic_latest {
    background-image: none;
    position: relative;
    padding-left: 18px;
    padding-top: 18px; }
    body#phpbb .imageset.icon_topic_latest:before {
      font-family: "FontAwesome";
      color: #e89300;
      content: "\f08e";
      position: absolute;
      left: 0;
      bottom: 0;
      -webkit-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      -o-transform: rotate(90deg);
      transform: rotate(90deg); }
  body#phpbb .imageset.icon_topic_poll {
    background-image: none;
    position: relative;
    padding-left: 18px;
    padding-top: 18px; }
    body#phpbb .imageset.icon_topic_poll:before {
      font-family: "FontAwesome";
      color: #33b63f;
      content: "\f080 ";
      position: absolute;
      left: 0;
      top: 1px; }
  body#phpbb .imageset.icon_contact {
    background-image: none;
    position: relative;
    padding-left: 18px;
    padding-top: 18px; }
    body#phpbb .imageset.icon_contact:before {
      font-family: "FontAwesome";
      color: #ea7c26;
      content: "\f075 ";
      position: absolute;
      left: 0;
      top: 0; }
  body#phpbb .global_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .global_read_mine a.icon-link:before {
    content: '\f11e';
    color: #ea7c26; }
  body#phpbb .global_read_locked a.icon-link:before {
    content: '\f024'; }
  body#phpbb .global_read_locked_mine a.icon-link:before {
    content: '\f024';
    color: #ea7c26; }
  body#phpbb .global_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .global_unread_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .global_unread_locked {
    background-image: none; }
    body#phpbb .global_unread_locked:after {
      content: '\f11d'; }
  body#phpbb .global_unread_locked_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .announce_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .announce_read_mine a.icon-link:before {
    content: '\f11e';
    color: #ea7c26; }
  body#phpbb .announce_read_locked a.icon-link:before {
    content: '\f024'; }
  body#phpbb .announce_read_locked_mine a.icon-link:before {
    content: '\f024';
    color: #ea7c26; }
  body#phpbb .announce_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .announce_unread_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .announce_unread_locked a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .announce_unread_locked_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .forum_link a.icon-link:before {
    content: '\f08e'; }
  body#phpbb .forum_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .forum_read_locked a.icon-link:before {
    content: '\f024'; }
  body#phpbb .forum_read_subforum a.icon-link:before {
    content: '\f024';
    color: #8f9197; }
  body#phpbb .forum_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .forum_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .forum_link a.icon-link:before {
    content: '\f08e'; }
  body#phpbb .forum_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .forum_read_locked a.icon-link:before {
    content: '\f024'; }
  body#phpbb .forum_read_subforum a.icon-link:before {
    content: '\f024';
    color: #8f9197; }
  body#phpbb .forum_unread_locked {
    content: '\f11d'; }
  body#phpbb .forum_unread_subforum a.icon-link:before {
    content: '\f11d';
    color: #8f9197; }
  body#phpbb .sticky_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .sticky_read_mine a.icon-link:before {
    content: '\f11e';
    color: #ea7c26; }
  body#phpbb .sticky_read_locked a.icon-link:before {
    content: '\f024'; }
  body#phpbb .sticky_read_locked_mine a.icon-link:before {
    content: '\f024';
    color: #ea7c26; }
  body#phpbb .sticky_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .sticky_unread_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .sticky_unread_locked a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .sticky_unread_locked_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .topic_moved a.icon-link:before {
    content: '\f187';
    color: #8f9197; }
  body#phpbb .topic_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .topic_read_mine a.icon-link:before {
    content: '\f11e';
    color: #ea7c26; }
  body#phpbb .topic_read_hot a.icon-link:before {
    content: '\f11e';
    color: #ff4200; }
  body#phpbb .topic_read_hot_mine a.icon-link:before {
    content: '\f11e';
    color: #da6000; }
  body#phpbb .topic_read_locked a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .topic_read_locked_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .topic_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .topic_unread_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .topic_unread_hot a.icon-link:before {
    content: '\f11d';
    color: #ff4200; }
  body#phpbb .topic_unread_hot_mine a.icon-link:before {
    content: '\f11d';
    color: #da6000; }
  body#phpbb .topic_unread_locked a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .topic_unread_locked_mine a.icon-link:before {
    content: '\f11d';
    color: #ea7c26; }
  body#phpbb .pm_read a.icon-link:before {
    content: '\f11e'; }
  body#phpbb .pm_unread a.icon-link:before {
    content: '\f11d'; }
  body#phpbb .panel-container h3, body#phpbb .panel-container hr, body#phpbb #cp-menu hr {
    border-color: #bbbbbd; }
  body#phpbb .panel-container .panel li.row {
    border-bottom-color: #B5C1CB;
    border-top-color: #F9F9F9; }
  body#phpbb ul.cplist {
    border-top-color: transparent; }
  body#phpbb .panel-container .panel li.header dd, body#phpbb .panel-container .panel li.header dt {
    color: #0f0f0f; }
  body#phpbb .panel-container table.table1 thead th {
    color: #0f0f0f;
    border-bottom-color: transparent; }
  body#phpbb #cp-main .pm-message {
    border-color: transparent;
    background-color: #FFFFFF; }
  body#phpbb #tabs .tab > a {
    background: #e5e5e5;
    color: #8f9197; }
  body#phpbb #tabs .tab > a:hover {
    background: #434447;
    color: #FFFFFF; }
  body#phpbb #tabs .activetab > a,
  body#phpbb #tabs .activetab > a:hover {
    background: #FFFFFF;
    filter: none;
    border-color: #FFFFFF;
    box-shadow: none;
    color: #0f0f0f; }
  body#phpbb #tabs .activetab > a:hover {
    color: #0f0f0f; }
  body#phpbb #minitabs .tab > a {
    background-color: #eeeeee; }
  body#phpbb #minitabs .activetab > a,
  body#phpbb #minitabs .activetab > a:hover {
    background-color: #F9F9F9;
    color: #0f0f0f; }
  body#phpbb .responsive-tab .responsive-tab-link:before {
    border-color: #8f9197; }
  body#phpbb .responsive-tab .responsive-tab-link:hover:before {
    border-color: #434447; }
  body#phpbb #navigation a {
    background: #8f9197;
    color: #FFFFFF;
    filter: none; }
  body#phpbb .rtl #navigation a {
    background: #8f9197;
    color: #FFFFFF;
    filter: none; }
  body#phpbb #navigation a:hover {
    background: #434447;
    color: #FFFFFF;
    filter: none; }
  body#phpbb #navigation #active-subsection a {
    color: #FFFFFF;
    background: #434447;
    filter: none; }
  body#phpbb #navigation #active-subsection a:hover {
    color: #FFFFFF; }
  @media only screen and (max-width: 900px), only screen and (max-device-width: 900px) {
    body#phpbb #navigation a, body#phpbb .rtl #navigation a {
      background: #8f9197; } }
  body#phpbb .panel-container h2 {
    color: #0f0f0f; }
  body#phpbb .panel-container .panel {
    background-color: #F9F9F9; }
  body#phpbb #cp-main .pm {
    background-color: #FFFFFF; }
  body#phpbb .cp-mini {
    background-color: #eeeeee; }
  body#phpbb dl.mini dt {
    color: #434447; }
  body#phpbb .current {
    color: #0f0f0f !important; }
  body#phpbb .pmlist li.pm_message_reported_colour, body#phpbb .pm_message_reported_colour {
    border-left-color: #BC2A4D;
    border-right-color: #BC2A4D; }
  body#phpbb .pmlist li.pm_marked_colour, body#phpbb .pm_marked_colour {
    border-color: #ea7c26; }
  body#phpbb .pmlist li.pm_replied_colour, body#phpbb .pm_replied_colour {
    border-color: #e7e7e8; }
  body#phpbb .pmlist li.pm_friend_colour, body#phpbb .pm_friend_colour {
    border-color: #33b63f; }
  body#phpbb .pmlist li.pm_foe_colour, body#phpbb .pm_foe_colour {
    border-color: #dd0000; }
  body#phpbb #gallery label {
    background: #FFFFFF;
    border-color: #CCC; }
  body#phpbb #gallery label:hover {
    background-color: #eeeeee; }
  body#phpbb select, body#phpbb input, body#phpbb textarea {
    border-color: #e4e3e3;
    background-color: #FFFFFF;
    color: #0f0f0f; }
  body#phpbb input[type=checkbox], body#phpbb input[type=radio] {
    background-color: transparent; }
  body#phpbb label {
    color: #434447; }
  body#phpbb option.disabled-option {
    color: #868686; }
  body#phpbb dd label {
    color: #6d6f74; }
  body#phpbb fieldset.fields1 {
    background-color: transparent; }
  body#phpbb fieldset dl:hover dt label {
    color: #0f0f0f; }
  body#phpbb fieldset.fields2 dl:hover dt label {
    color: inherit; }
  body#phpbb fieldset.quick-login input.inputbox {
    background-color: #FFFFFF; }
  body#phpbb #message-box textarea {
    color: #0f0f0f; }
  body#phpbb #message-box textarea.drag-n-drop {
    outline-color: rgba(102, 102, 102, 0.5); }
  body#phpbb #message-box textarea.drag-n-drop-highlight {
    outline-color: rgba(254, 114, 0, 0.7); }
  body#phpbb .inputbox {
    background-color: #FFFFFF;
    border-color: #e4e3e3;
    color: #0f0f0f; }
  body#phpbb .inputbox:-moz-placeholder {
    color: #0f0f0f; }
  body#phpbb .inputbox::-webkit-input-placeholder {
    color: #0f0f0f; }
  body#phpbb .inputbox:hover {
    border-color: #e4e3e3; }
  body#phpbb .inputbox:focus {
    border-color: #e4e3e3;
    color: #0f0f0f; }
  body#phpbb .inputbox:focus:-moz-placeholder {
    color: transparent; }
  body#phpbb .inputbox:focus::-webkit-input-placeholder {
    color: transparent; }
  body#phpbb a.button1, body#phpbb input.button1, body#phpbb input.button3, body#phpbb a.button2, body#phpbb input.button2 {
    color: #FFFFFF;
    background-color: #8f9197;
    background-image: none; }
  body#phpbb a.button1:visited, body#phpbb a.button1:link, body#phpbb a.button2:visited, body#phpbb a.button2:link {
    color: #FFFFFF; }
  body#phpbb a.button1, body#phpbb input.button1 {
    border-color: transparent; }
  body#phpbb input.button3 {
    background-image: none; }
  body#phpbb a.button2, body#phpbb input.button2, body#phpbb input.button3 {
    border-color: transparent; }
  body#phpbb a.button1, body#phpbb a.button2 {
    color: #FFFFFF; }
  body#phpbb a.button1:hover, body#phpbb input.button1:hover, body#phpbb a.button2:hover, body#phpbb input.button2:hover, body#phpbb input.button3:hover {
    background-color: #434447;
    border-color: transparent;
    color: #FFFFFF; }
  body#phpbb input.button1:focus, body#phpbb input.button2:focus, body#phpbb input.button3:focus {
    background-color: #434447;
    border-color: transparent;
    color: #e5e5e5; }
  body#phpbb input.disabled {
    color: #6d6f74; }
  body#phpbb .phpbb_alert {
    background-color: #FFFFFF;
    border-color: #898a8a; }
  body#phpbb #darken {
    background-color: #0f0f0f; }
  body#phpbb #loading_indicator {
    background-color: #0f0f0f; }
  body#phpbb .dropdown-extended ul li {
    border-top-color: #B9B9B9; }
  body#phpbb .dropdown-extended ul li:hover {
    background-color: #eeeeee;
    color: #0f0f0f; }
  body#phpbb .dropdown-extended .header, body#phpbb .dropdown-extended .footer {
    border-color: #B9B9B9;
    color: #0f0f0f; }
  body#phpbb .dropdown-extended .footer {
    border-top-style: solid;
    border-top-width: 1px; }
  body#phpbb .dropdown-extended .header {
    background: #e5e5e5; }
  body#phpbb .dropdown .pointer {
    border-color: rgba(0, 0, 0, 0.1) transparent; }
  body#phpbb .dropdown .pointer-inner {
    border-color: #FFFFFF transparent; }
  body#phpbb .dropdown-extended .pointer-inner {
    border-color: #FFFFFF transparent; }
  body#phpbb ul.linklist li.responsive-menu a.responsive-menu-link:before {
    border-color: #434447; }
  body#phpbb ul.linklist li.responsive-menu a.responsive-menu-link:hover:before, body#phpbb ul.linklist li.responsive-menu.visible a.responsive-menu-link:before {
    border-color: #ea7c26; }
  body#phpbb .dropdown .dropdown-contents {
    background: #FFFFFF;
    border-color: #b9b9b9;
    box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.2); }
  body#phpbb .dropdown-up .dropdown-contents {
    box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.2); }
  body#phpbb .dropdown li, body#phpbb .dropdown li li {
    border-color: #DCDCDC; }
  body#phpbb .dropdown li.separator {
    border-color: #DCDCDC; }
  body#phpbb .notification_list p.notification-time {
    color: #434447; }
  body#phpbb li.notification-reported strong, body#phpbb li.notification-disapproved strong {
    color: #dd0000; }

#header .inside {
  margin-top: 1.5rem;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 992px) {
    #header .inside {
      padding-bottom: 20px; } }
  @media only screen and (max-width: 479px) {
    #header .inside {
      padding-bottom: 0; } }

#header .header-elements {
  display: block;
  height: 16rem;
  background: url("../../files/r4f_relaunch_2016/images/content/header-r4f.jpg") no-repeat 0 0 transparent;
  border: 8px solid #FFFFFF;
  position: relative; }
  #header .header-elements:before {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    bottom: -8px;
    width: 52%;
    background: rgba(254, 114, 0, 0.7);
    -webkit-transform: skew(-27deg);
    -moz-transform: skew(-27deg);
    -ms-transform: skew(-27deg);
    -o-transform: skew(-27deg);
    transform: skew(-27deg);
    -webkit-transform-origin: bottom right;
    -moz-transform-origin: bottom right;
    -ms-transform-origin: bottom right;
    -o-transform-origin: bottom right;
    transform-origin: bottom right; }
  #header .header-elements::after {
    clear: both;
    content: "";
    display: table; }
  @media only screen and (max-width: 992px) {
    #header .header-elements {
      height: auto;
      background: none;
      border: none;
      float: left;
      display: inline; }
      #header .header-elements:before {
        display: none; } }

#header .logo {
  margin: 2rem;
  height: 10rem;
  width: auto;
  float: left; }
  @media only screen and (max-width: 992px) {
    #header .logo {
      height: 5rem;
      width: auto;
      margin: 0; } }
  @media only screen and (max-width: 479px) {
    #header .logo {
      float: none; } }

#header .claim {
  position: relative;
  width: 50%;
  height: 100%;
  padding-left: 10%;
  float: right;
  padding-top: 0; }
  #header .claim h1 {
    color: #FFFFFF;
    font-size: 3.5rem;
    line-height: 5rem;
    margin: 0;
    text-transform: uppercase; }
  @media only screen and (max-width: 1199px) {
    #header .claim {
      padding-left: 9%; }
      #header .claim h1 {
        line-height: 4rem; } }
  @media only screen and (max-width: 992px) {
    #header .claim {
      padding-left: 0;
      margin-left: 2rem;
      float: left;
      width: 25rem;
      height: 5rem;
      padding-top: 0; }
      #header .claim h1 {
        font-size: 2rem;
        margin: 0;
        margin-top: .3rem;
        line-height: 2.6rem; } }
  @media only screen and (max-width: 479px) {
    #header .claim {
      float: none;
      margin-left: 0;
      margin-top: 1rem;
      width: 20rem; }
      #header .claim h1 {
        font-size: 1.5rem;
        line-height: 1.2;
        margin-top: 0; } }

.logo-text {
  font-family: 'stasmicregular', sans-serif;
  color: #434447;
  font-size: 2rem;
  line-height: 4rem;
  display: inline-block; }
  @media only screen and (max-width: 992px) {
    .logo-text {
      font-size: 1.7rem;
      line-height: 1; } }
  @media only screen and (max-width: 479px) {
    .logo-text {
      font-size: 1.32rem; } }

#mobile-button {
  width: 5rem;
  height: 5rem;
  position: relative;
  float: right;
  background-color: #ea7c26; }

#menu-button {
  position: relative;
  height: 2.6rem;
  width: 2rem;
  margin: 0 auto;
  margin-top: 1.5rem;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 99; }

#menu-button:active, #menu-button:focus, #menu-button:visited, #menu-button:hover {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  outline: 0; }

#menu-button::after {
  clear: both;
  content: "";
  display: table; }

#hotdog-1, #hotdog-2, #hotdog-3 {
  display: block;
  position: absolute;
  width: 2rem;
  height: 0.2rem;
  background-color: #FFFFFF;
  /* prepare for animation */
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transition: top 0.2s linear, opacity 0.2s ease-in-out, -webkit-transform 0.2s linear;
  -moz-transition: top 0.2s linear, opacity 0.2s ease-in-out, -moz-transform 0.2s linear;
  transition: top 0.2s linear, opacity 0.2s ease-in-out, transform 0.2s linear; }

#hotdog-1 {
  top: 0.4rem;
  left: 0; }

#hotdog-2 {
  top: 1rem;
  left: 0; }

#hotdog-3 {
  bottom: 0.8rem;
  left: 0; }

#hotdog-1.hotdog.arrow {
  top: 1rem;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); }

#hotdog-2.hotdog.arrow {
  opacity: 0; }

#hotdog-3.hotdog.arrow {
  bottom: 1.4rem;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.page-overlay {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.2); }

.home .layout_latest {
  background: #FFFFFF;
  padding: 1.5rem 0 3rem 0;
  margin-bottom: 10px; }

.home .info {
  color: #FFFFFF;
  background: #434447;
  font-size: 2.2rem;
  float: left;
  line-height: 5rem;
  padding: 0 3rem;
  display: inline-block;
  position: relative;
  font-family: "Oswald", sans-serif; }
  .home .info:after {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: -1rem;
    width: 2rem;
    height: 100%;
    background: #434447;
    -webkit-transform: skew(-15deg);
    -moz-transform: skew(-15deg);
    -ms-transform: skew(-15deg);
    -o-transform: skew(-15deg);
    transform: skew(-15deg); }
  @media only screen and (max-width: 768px) {
    .home .info {
      line-height: 4.5rem;
      font-size: 2.8rem; } }
  @media only screen and (max-width: 479px) {
    .home .info {
      line-height: 3rem;
      font-size: 1.8rem;
      padding: 0 1.5rem;
      float: none; } }

.home .latest-content-wrapper {
  margin-left: 3rem;
  margin-right: 3rem; }
  .home .latest-content-wrapper h1, .home .latest-content-wrapper h2 {
    margin-left: 20.5rem; }
  .home .latest-content-wrapper img {
    margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .home .latest-content-wrapper {
      margin: 0; }
      .home .latest-content-wrapper h1, .home .latest-content-wrapper h2 {
        margin-left: 20.5rem; }
      .home .latest-content-wrapper .image_container {
        padding: 0 1.5rem; }
        .home .latest-content-wrapper .image_container img {
          margin: 0 auto; } }
  @media only screen and (max-width: 479px) {
    .home .latest-content-wrapper h1, .home .latest-content-wrapper h2 {
      padding: 0 1.5rem;
      line-height: 3rem;
      font-size: 1.8rem;
      margin: 1rem auto; } }

.home .latest-content-wrapper.wide-image {
  margin-left: 3rem; }
  .home .latest-content-wrapper.wide-image h1, .home .latest-content-wrapper.wide-image h2 {
    margin-left: 20.5rem; }
  @media only screen and (max-width: 768px) {
    .home .latest-content-wrapper.wide-image {
      margin-left: 0; } }
  @media only screen and (max-width: 479px) {
    .home .latest-content-wrapper.wide-image h1, .home .latest-content-wrapper.wide-image h2 {
      padding: 0 1.5rem;
      line-height: 3rem;
      font-size: 1.8rem;
      margin: 1rem auto; } }

.home h1, .home h2 {
  color: #434447;
  line-height: 5rem;
  margin-bottom: 2rem;
  text-transform: uppercase; }
  .home h1 a, .home h1 a:link, .home h1 a:visited, .home h2 a, .home h2 a:link, .home h2 a:visited {
    color: #434447; }
  .home h1 a:hover, .home h1 a:active, .home h1 a:focus, .home h2 a:hover, .home h2 a:active, .home h2 a:focus {
    color: #898a8a; }

.home .mod_newslist .empty {
  display: none; }

.home .wide-link {
  width: 100%;
  display: block;
  background: #a2a2a2;
  text-align: center;
  position: relative; }
  .home .wide-link a, .home .wide-link a:link, .home .wide-link a:visited {
    line-height: 5rem;
    display: inline;
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 2.2rem;
    padding-right: 4rem;
    background: url("/files/r4f_relaunch_2016/images/icons/arrow-down-white.png") 100% 50% no-repeat transparent;
    background-size: auto 3.2rem; }
    .home .wide-link a:before, .home .wide-link a:link:before, .home .wide-link a:visited:before {
      position: absolute;
      content: '';
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.1);
      opacity: 0;
      -webkit-transition: opacity 0.3s ease-in-out;
      -moz-transition: opacity 0.3s ease-in-out;
      transition: opacity 0.3s ease-in-out; }
  .home .wide-link a:hover:before {
    opacity: 1; }

.mod_article.dark {
  background: #434447; }

.mod_article iframe {
  width: 100%; }

.ce_text, .ce_table {
  background: #FFFFFF;
  padding: 3rem 1.5rem;
  margin-bottom: 10px; }
  .ce_text p, .ce_table p {
    margin-bottom: 1.5rem; }
    .ce_text p ~ h3, .ce_text p ~ h4, .ce_text p ~ h5, .ce_table p ~ h3, .ce_table p ~ h4, .ce_table p ~ h5 {
      padding-top: 3rem; }
  .ce_text h3, .ce_table h3 {
    padding-bottom: 2rem; }
  .ce_text h4, .ce_text h5, .ce_text h6, .ce_table h4, .ce_table h5, .ce_table h6 {
    padding-bottom: 2rem;
    text-transform: none; }
  .ce_text a, .ce_text a:link, .ce_text a:visited, .ce_table a, .ce_table a:link, .ce_table a:visited {
    border-bottom: 1px solid #0f0f0f; }
  .ce_text a:hover, .ce_text a:active, .ce_text a:focus, .ce_table a:hover, .ce_table a:active, .ce_table a:focus {
    border-color: transparent; }

.page-intro {
  background: #434447;
  padding: 0;
  padding-left: 3rem; }
  @media only screen and (max-width: 479px) {
    .page-intro {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  .page-intro h2 {
    font-size: 2rem;
    color: #FFFFFF;
    background-color: #8f9197;
    margin: 1.5rem auto 2rem -3rem; }
    .page-intro h2 a, .page-intro h2 a:link .page-intro h2 a:visited {
      text-decoration: none;
      color: inherit;
      border: none !important; }
    .page-intro h2 a:hover {
      color: #ea7c26; }
    .page-intro h2:after {
      background-color: #8f9197; }
  .page-intro h3 {
    font-size: 1.9rem;
    color: #ea7c26;
    margin-bottom: 1rem;
    line-height: 1.2; }
    .page-intro h3 a, .page-intro h3 a:link .page-intro h3 a:visited {
      text-decoration: none;
      color: inherit;
      border: none !important; }
    .page-intro h3 a:hover {
      color: #FFFFFF; }
    @media only screen and (max-width: 768px) {
      .page-intro h3 {
        font-size: 1.8rem; } }
  .page-intro p {
    font-size: 1.8rem;
    color: #e5e5e5;
    font-family: "Oswald", sans-serif;
    line-height: 1.2; }
    @media only screen and (max-width: 768px) {
      .page-intro p {
        font-size: 1.6rem;
        margin-bottom: 2rem; } }
  .page-intro .image_container {
    width: 26rem; }
    @media only screen and (max-width: 768px) {
      .page-intro .image_container {
        width: 20rem; } }
    @media only screen and (max-width: 700px) {
      .page-intro .image_container {
        display: none; } }

.page-title.dark {
  padding: 1.5rem 0; }
  .page-title.dark h1, .page-title.dark h2 {
    line-height: 4rem;
    color: #FFFFFF;
    background: #8f9197;
    padding: 0 3rem;
    display: inline-block;
    position: relative; }
    .page-title.dark h1:after, .page-title.dark h2:after {
      position: absolute;
      display: block;
      content: '';
      top: 0;
      right: -1rem;
      width: 2rem;
      height: 100%;
      background: #8f9197;
      -webkit-transform: skew(-15deg);
      -moz-transform: skew(-15deg);
      -ms-transform: skew(-15deg);
      -o-transform: skew(-15deg);
      transform: skew(-15deg); }

.button {
  display: inline-block;
  margin-top: 1.5rem; }
  .button, .button:link, .button:visited {
    color: #FFFFFF;
    line-height: 4rem;
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s; }
  .button:hover, .button:active, .button:focus {
    color: #FFFFFF; }

.flat-button {
  font-size: 1.5rem;
  min-height: 3rem;
  color: #6d6f74 !important;
  line-height: 2.8rem;
  text-align: center;
  padding: 0 0.2em;
  display: block;
  font-family: "Oswald", sans-serif !important;
  text-transform: uppercase;
  border: 1px solid #FFFFFF;
  cursor: pointer;
  background-color: #f5f5f5;
  transition: background-color .25s ease-out; }
  .flat-button--green {
    color: #FFFFFF !important;
    background-color: #A2CA6F; }
  .flat-button--transparent {
    background-color: transparent; }
  .flat-button--grey {
    color: #FFFFFF !important;
    background-color: #898a8a; }
  .flat-button:hover, .flat-button:active {
    color: #FFFFFF !important;
    background-color: #434447 !important; }

.in-page-nav {
  background-color: #eeeeee;
  padding: 1.5rem;
  margin-bottom: 10px; }
  .in-page-nav strong {
    font-family: "Oswald", sans-serif;
    color: #898a8a;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 2rem; }
  .in-page-nav a {
    background-size: auto 2rem;
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-size: 2rem; }
    .in-page-nav a, .in-page-nav a:link, .in-page-nav a.visited {
      color: #ea7c26 !important;
      text-decoration: none; }
    .in-page-nav a:hover, .in-page-nav a:active, .in-page-nav a:focus {
      color: #898a8a; }
    .in-page-nav a:before {
      content: '\f105';
      display: inline;
      font-family: "FontAwesome";
      font-size: 3rem;
      padding-right: 1rem;
      line-height: 1; }
  .in-page-nav .ce_text {
    background: transparent;
    padding-top: 0;
    padding-bottom: 0; }
    .in-page-nav .ce_text h3 {
      text-align: left !important;
      padding-bottom: 1.5rem !important; }
    .in-page-nav .ce_text p {
      margin-bottom: 0; }
    .in-page-nav .ce_text a {
      border-bottom: none;
      color: #ea7c26; }
  .in-page-nav.sidebar-widget {
    padding-top: 0; }

.ce_text.ga-adsense {
  padding: 1.5rem  3rem; }

@media only screen and (max-width: 768px) {
  .table-responsive {
    border: none; }
    .table-responsive > .table {
      font-size: 1.3rem; }
      .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th {
        padding-left: 0;
        padding-right: 0;
        border-top: none; }
      .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th {
        padding-left: 0;
        padding-right: 0;
        border-top: none; }
      .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
        padding-left: 0;
        padding-right: 0;
        border-top: none; } }

.banner_widget {
  width: 100%;
  background: #eeeeee; }
  .banner_widget::after {
    clear: both;
    content: "";
    display: table; }
  @media only screen and (max-width: 992px) {
    .banner_widget {
      padding: 0 1.5rem; } }

.random_banner {
  max-width: 20rem;
  margin: 0 auto;
  width: auto; }
  @media only screen and (max-width: 992px) {
    .random_banner {
      max-width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; } }

.random_banner_container {
  margin-bottom: .5rem;
  text-align: center;
  position: relative;
  float: left; }
  @media only screen and (max-width: 992px) {
    .random_banner_container {
      margin-right: 1rem; } }
  .random_banner_container.right {
    float: right;
    margin-left: 0; }
    @media only screen and (max-width: 992px) {
      .random_banner_container.right {
        float: left;
        flex: 1 1 auto;
        margin: auto; } }
  .random_banner_container:last-child {
    margin-bottom: 2rem; }
  .random_banner_container .image_container img {
    width: auto;
    display: inline;
    vertical-align: baseline; }
  .random_banner_container .activeImage {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: none; }

.small-only .random_banner_container {
  min-width: 74px; }
  .small-only .random_banner_container:nth-child(even) {
    float: right; }

.wrapper-custom-section {
  margin: 10px auto; }
  .wrapper-custom-section .random_banner {
    max-width: 100%;
    padding: 1.5rem; }
  .wrapper-custom-section .random_banner_container {
    width: 19%;
    text-align: center;
    height: 8rem;
    margin-bottom: 0;
    margin-right: 1.2%; }
    .wrapper-custom-section .random_banner_container:last-child {
      margin-right: 0; }
    .wrapper-custom-section .random_banner_container .image_container {
      text-align: center;
      margin: 0 auto; }
      .wrapper-custom-section .random_banner_container .image_container.activeImage {
        width: 100%; }
    @media only screen and (max-width: 992px) {
      .wrapper-custom-section .random_banner_container {
        width: 50%;
        margin-right: auto; }
        .wrapper-custom-section .random_banner_container .image_container {
          width: 96%; } }
    @media only screen and (max-width: 768px) {
      .wrapper-custom-section .random_banner_container {
        float: left;
        width: 24%;
        margin-right: 1.3%;
        height: 7rem; }
        .wrapper-custom-section .random_banner_container .image_container {
          width: 100%; }
        .wrapper-custom-section .random_banner_container:nth-child(n+5) {
          display: none; }
        .wrapper-custom-section .random_banner_container:nth-child(4) {
          margin-right: 0; } }
    @media only screen and (max-width: 479px) {
      .wrapper-custom-section .random_banner_container {
        float: left;
        width: 49%;
        margin-right: 2%; }
        .wrapper-custom-section .random_banner_container:nth-child(even) {
          margin-right: 0; } }

#main .banner_widget {
  margin-top: .5rem; }
  .classified-details-site #main .banner_widget {
    max-width: 20rem;
    float: left;
    margin-right: .5rem;
    display: none; }
    .classified-details-site #main .banner_widget ~ .banner_widget {
      display: block; }
    @media only screen and (max-width: 768px) {
      .classified-details-site #main .banner_widget {
        float: none;
        max-width: 100%;
        width: 100%; } }

.banner-headline {
  display: none;
  width: 20rem;
  font-size: 1.8rem;
  text-align: center;
  margin-top: 20px;
  margin-bottom: -36px; }
  .classified-details-site .banner-headline {
    display: block; }
  @media only screen and (max-width: 768px) {
    .banner-headline {
      width: 100%; } }

.gewerbebanner.landscape {
  max-width: 100%;
  padding: 1.5rem; }
  .gewerbebanner.landscape::after {
    clear: both;
    content: "";
    display: table; }
  .classified-details-site .gewerbebanner.landscape {
    display: none; }
  .gewerbebanner.landscape .random_banner_container {
    width: 19%;
    text-align: center;
    margin-bottom: 0;
    margin-right: 1.2%; }
    .gewerbebanner.landscape .random_banner_container:last-child {
      margin-right: 0; }
    .gewerbebanner.landscape .random_banner_container .image_container {
      text-align: center;
      margin: 0 auto;
      line-height: 6rem; }
      .gewerbebanner.landscape .random_banner_container .image_container img {
        vertical-align: middle; }
    @media only screen and (max-width: 992px) {
      .gewerbebanner.landscape .random_banner_container {
        width: 33.3%;
        margin-right: auto; }
        .gewerbebanner.landscape .random_banner_container .image_container {
          width: 96%; } }
    @media only screen and (max-width: 479px) {
      .gewerbebanner.landscape .random_banner_container {
        width: 100%;
        margin-right: auto;
        margin-bottom: 1rem; }
        .gewerbebanner.landscape .random_banner_container .image_container {
          width: 100%; } }

.gewerbebanner.column {
  display: none;
  margin: 0 auto;
  padding-top: 40px; }
  .gewerbebanner.column .random_banner_container {
    float: none; }
    .gewerbebanner.column .random_banner_container:first-child {
      margin-top: .5rem; }
  .classified-details-site .gewerbebanner.column {
    display: block; }
  @media only screen and (max-width: 768px) {
    .gewerbebanner.column .random_banner_container {
      float: left;
      width: 24%;
      margin-right: 1.3%; }
      .gewerbebanner.column .random_banner_container:first-child {
        margin-top: 0; }
      .gewerbebanner.column .random_banner_container:nth-child(n+5) {
        display: none; }
      .gewerbebanner.column .random_banner_container:nth-child(4) {
        margin-right: 0; }
      .gewerbebanner.column .random_banner_container .image_container {
        min-height: 6.2rem; } }
  @media only screen and (max-width: 479px) {
    .gewerbebanner.column .random_banner_container {
      float: left;
      width: 49%;
      margin-right: 2%; }
      .gewerbebanner.column .random_banner_container:nth-child(even) {
        margin-right: 0; } }

.gewerbe-banner {
  padding-bottom: 1.5rem; }
  .gewerbe-banner::after {
    clear: both;
    content: "";
    display: table; }
  .gewerbe-banner .ce_image {
    margin-bottom: .5rem; }
    .gewerbe-banner .ce_image img {
      margin: 0 auto;
      border: 1px solid #e7e7e8; }
  @media only screen and (max-width: 992px) {
    .gewerbe-banner .ce_image {
      float: left;
      width: 25%;
      min-width: 18rem;
      margin-bottom: 1rem;
      min-height: 6.5rem; } }

.list-wrapper p {
  line-height: 1.2; }
  .list-wrapper p a, .list-wrapper p a:visited, .list-wrapper p a:link {
    text-decoration: none; }

.filter-menu, .pagination_wrapper {
  background: #f2f2f2;
  border-radius: 0;
  margin: 0;
  margin-bottom: .5rem; }
  .filter-menu::after, .pagination_wrapper::after {
    clear: both;
    content: "";
    display: table; }

.current_videos .pagination_wrapper {
  margin: 1rem -1.5rem;
  padding-bottom: 0;
  background: #FFFFFF; }

.filter-menu {
  padding: 1rem 1.5rem 1.5rem; }

.pagination_wrapper {
  padding: 1rem 1.5rem; }

.pagination {
  display: block;
  margin: 0; }
  .pagination p {
    float: left;
    font-family: "Oswald", sans-serif;
    margin-right: 2rem; }
  .pagination li {
    float: left;
    display: inline;
    font-size: 1.5rem;
    margin-right: 1.5rem; }

.list_item {
  position: relative;
  margin-bottom: .5rem;
  font-family: Arial, sans-serif;
  background-color: #FFFFFF;
  font-size: 15px;
  padding: 1.5rem; }
  .list_item.video {
    position: relative;
    min-height: 11rem;
    padding: 2.5rem 1.5rem; }
  .list_item.laptime {
    padding: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .list_item > div {
      margin-bottom: 1.2rem;
      margin-top: .8rem; } }

.list_label {
  font-size: 1.4rem;
  color: #bbbbbd;
  margin-bottom: .5rem; }

.list_info a {
  display: inline; }
  .list_info a img {
    display: inline;
    vertical-align: text-top; }
  .list_info a .fa.success {
    color: #33b63f; }
    .list_info a .fa.success:hover {
      color: #006209; }
  .list_info a .fa.error {
    color: #dd0000; }
    .list_info a .fa.error:hover {
      color: #8e0000; }
  .list_info a .fa.amber {
    color: #e89300; }
    .list_info a .fa.amber:hover {
      color: #ffc600; }
  .list_info a .fa.fa-pencil-square-o {
    position: relative;
    top: 2px; }
    .list_info a .fa.fa-pencil-square-o:hover {
      color: #33b63f; }
  .list_info a .fa.fa-trash:hover {
    color: #dd0000; }
  .list_info a .fa.fa-info-circle:hover, .list_info a .fa .fa-exclamation-circle:hover {
    color: #ea7c26; }

.list_info.text-right {
  text-align: right; }

.details_list_view {
  font-size: 1.5rem;
  font-family: Arial, sans-serif;
  margin: 0rem -1.5rem 0 -1.5rem;
  clear: both; }
  .details_list_view .row {
    position: relative;
    line-height: 3rem;
    border-bottom: 1px solid #e7e7e8;
    padding: 1.5rem 1.5rem; }
    .details_list_view .row.first, .details_list_view .row:first-child {
      border-top: 1px solid #e7e7e8; }
    .details_list_view .row.image_view {
      border-bottom: none;
      border-top: 1px solid #e7e7e8; }
    .details_list_view .row p {
      line-height: 1.2; }

.details_content {
  background: #FFFFFF;
  padding: 3rem;
  margin: 0;
  margin-bottom: .5rem; }
  .details_content.details_form {
    background: #f2f2f2; }
  .details_content.grey-bg {
    background-color: #f2f2f2; }

.content_box {
  background: #FFFFFF;
  padding: 3rem 1.5rem;
  margin: 0;
  margin-bottom: .5rem; }

.offset-top-gap {
  margin-top: 1.5rem; }

.track_list {
  padding: 0 1.5rem; }

.track_infos h2 {
  float: left;
  margin-bottom: 3rem; }
  .track_infos h2 img {
    display: inline-block;
    margin-left: 2rem; }

.googlemaps a {
  line-height: 5rem; }

#map_canvas {
  width: 100%;
  height: 0;
  padding-top: 50%; }

.comment-text {
  line-height: 1.1; }

.track-thumbnail, .organiser-thumbnail {
  min-height: 7rem; }
  @media only screen and (max-width: 768px) {
    .track-thumbnail, .organiser-thumbnail {
      min-height: 2.5rem; } }
  .track-thumbnail img, .organiser-thumbnail img {
    max-height: 7rem;
    float: right; }

.organiser-thumbnail img {
  max-width: 8rem; }

.country img {
  float: right; }
  @media only screen and (max-width: 768px) {
    .country img {
      float: none; } }

@media only screen and (max-width: 768px) {
  .track .details {
    padding-right: 15px; }
    .track .details .list_info {
      text-align: right; } }

.details img, .rating img {
  padding-top: 5px; }

.video_description, .quarter_description {
  margin-top: 1rem; }
  .video_description p, .quarter_description p {
    font-size: 1.4rem; }

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  margin-bottom: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.action-wrapper {
  background: #434447;
  padding: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  .action-wrapper h2 {
    color: #FFFFFF;
    background: #8f9197;
    margin: 1.5rem auto 2rem -1.5rem; }
    .action-wrapper h2:after {
      background: #8f9197; }
    @media only screen and (max-width: 479px) {
      .action-wrapper h2 {
        font-size: 1.8rem; } }
  .action-wrapper .action-button {
    margin-bottom: 3rem; }
    .action-wrapper .action-button a, .action-wrapper .action-button a:link, .action-wrapper .action-button a:visited {
      display: inline-block;
      text-align: center; }
    .action-wrapper .action-button a:hover {
      background-color: rgba(131, 131, 131, 0.75); }
    @media only screen and (max-width: 768px) {
      .action-wrapper .action-button a {
        margin-top: .5rem; } }
    @media only screen and (max-width: 768px) {
      .action-wrapper .action-button {
        margin-bottom: 10px; } }
  .action-wrapper p {
    font-size: 2rem;
    color: #e5e5e5;
    font-family: "Oswald", sans-serif;
    line-height: 1.2; }
    @media only screen and (max-width: 1199px) {
      .action-wrapper p {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 768px) {
      .action-wrapper p {
        font-size: 1.6rem;
        margin-bottom: 10px; } }

#createEdit_video .option_container:nth-child(3), #createEdit_video .option_container:nth-child(4) {
  width: 100% !important; }

@media only screen and (max-width: 768px) {
  .video {
    padding-bottom: 1rem !important; }
    .video .list_label,
    .video .list_info {
      display: inline-block; }
    .video > div {
      margin: 0; }
    .video .details {
      padding-left: 15px; }
    .video .edit {
      position: relative;
      text-align: right;
      clear: none;
      float: right;
      padding-right: 0; } }

@media only screen and (max-width: 768px) {
  .current_videos .list_label,
  .current_videos .list_info {
    display: inline-block; }
  .current_videos .list_info {
    margin-right: 15px; }
  .current_videos .details {
    margin-top: 15px;
    padding-left: 15px; } }

.detail-wrapper h2 {
  margin-top: .5rem;
  padding: 0 3rem;
  padding-left: 0;
  background: #FFFFFF; }

.detail-wrapper .image_container {
  margin: 3rem auto 0 auto; }
  @media only screen and (max-width: 768px) {
    .detail-wrapper .image_container {
      margin: 0;
      padding: 0 1.5rem; }
      .detail-wrapper .image_container img {
        margin: 0 auto; } }

.detail-wrapper .back {
  margin-top: 3rem; }

.quarter_content .row.image_view {
  border-top: none; }

#form_quarter_rating legend {
  display: none; }

#form_quarter_rating .radio_container {
  margin-bottom: 1rem; }
  #form_quarter_rating .radio_container span {
    display: inline-block;
    margin-right: 3rem;
    float: left; }
    #form_quarter_rating .radio_container span input {
      float: none;
      height: 2.5rem; }
    #form_quarter_rating .radio_container span label {
      display: inline-block;
      float: none;
      padding-top: .1rem; }

.quarter_detail h2 {
  padding: 3rem;
  padding-bottom: 0;
  margin-top: 0; }

.quarter .description {
  max-width: 400px; }

@media only screen and (max-width: 768px) {
  .quarter {
    padding-bottom: 1rem !important; }
    .quarter .list_label,
    .quarter .list_info {
      display: inline-block; }
    .quarter > div {
      margin: 0; }
    .quarter .details {
      padding-left: 15px; }
      .quarter .details .list_info {
        padding-right: 15px; } }

.description {
  visibility: hidden;
  position: absolute;
  opacity: 0;
  padding: 1rem 2rem;
  background-color: rgba(83, 83, 83, 0.8);
  white-space: normal;
  color: #FFFFFF;
  z-index: -1;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
  border-radius: 0 0 2px 2px;
  right: 15px;
  min-width: 300px;
  -webkit-transition: opacity 0.25s ease-in, z-index 0.25s ease;
  -moz-transition: opacity 0.25s ease-in, z-index 0.25s ease;
  transition: opacity 0.25s ease-in, z-index 0.25s ease; }
  .description p {
    color: #FFFFFF; }
  @media only screen and (max-width: 479px) {
    .description {
      max-width: 290px;
      min-width: unset; } }
  @media only screen and (max-width: 768px) {
    .description {
      left: 15px; } }

.raceAppointment.list_item {
  min-height: 11rem;
  padding: 0 1.5rem 0 1.5rem; }
  .raceAppointment.list_item .name {
    display: none; }

.raceAppointment .flat-button {
  width: 100%; }
  .raceAppointment .flat-button .fa-angle-right {
    margin-left: 1rem;
    font-size: 2.2rem; }
  .raceAppointment .flat-button .fa-info {
    font-size: 1.8rem !important;
    margin-right: 1rem; }
  .raceAppointment .flat-button .fa-users {
    margin-right: 1rem; }
  .raceAppointment .flat-button--green::before {
    content: '\f067';
    display: inline-block;
    margin-right: 0.5rem;
    font-family: "FontAwesome";
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 400;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased; }
  .raceAppointment .flat-button:hover .participants-counter {
    color: #FFFFFF; }

.raceAppointment__headline {
  padding: 0 1.5rem;
  margin-top: 0 !important;
  background-color: #fafafa;
  min-height: 3rem; }
  .raceAppointment__headline .organizer {
    font-size: 1.5rem;
    display: inline-block;
    font-family: "Oswald", sans-serif;
    font-weight: 400; }
    .raceAppointment__headline .organizer a {
      line-height: 3rem; }
  .raceAppointment__headline .shortinfos {
    display: inline-block;
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .raceAppointment__headline .headline-content-right {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(50% - 1.5rem);
    z-index: 101;
    margin-left: 15px; }
    .raceAppointment__headline .headline-content-right a {
      float: right; }

.raceAppointment__content {
  margin: 0;
  padding: 1rem 0 1rem 1.5rem; }
  .raceAppointment__content .list_label,
  .raceAppointment__content .list_info {
    display: inline-block;
    padding-left: 1rem; }
  .raceAppointment__content .images {
    width: 12rem; }
    .raceAppointment__content .images img {
      max-height: 6rem;
      width: auto;
      max-width: 12rem;
      height: auto; }
  .raceAppointment__content--details {
    width: 100%; }
    .raceAppointment__content--details .date,
    .raceAppointment__content--details .track {
      width: 50%;
      min-width: 175px;
      float: left; }
  .raceAppointment__content--buttons {
    min-height: 6rem;
    position: relative;
    width: calc(50% + 1.5rem/2);
    float: right; }
    .raceAppointment__content--buttons .flat-button--transparent {
      padding: 0;
      white-space: nowrap; }

.raceAppointment .participants-counter {
  color: #ea7c26;
  transition: color .25s ease-out; }
  .raceAppointment .participants-counter.is-empty {
    color: #6d6f74; }

.raceAppointment .button-wrapper {
  float: none; }

.raceAppointment .details_list_view .option .last {
  font-style: italic; }

.raceAppointment .details_list_view .option.available .last {
  font-style: normal;
  padding-left: 4rem;
  background: url("/files/r4f_relaunch_2016/images/icons/checkmark.png") 1.5rem 50% no-repeat transparent;
  background-size: auto 1.6rem; }

.raceAppointment .details_list_view .availability .last {
  font-style: italic; }

.raceAppointment .details_list_view .availability.available .last {
  font-style: normal;
  color: #33b63f; }

.raceAppointment .details_list_view .participants-list {
  margin-top: 1.5rem; }

.raceAppointment .track {
  margin-bottom: 1rem; }
  .raceAppointment .track .list_label {
    font-size: 1.5rem;
    color: #0f0f0f; }

.raceAppointment .description {
  top: 97%; }
  .raceAppointment .description.active {
    opacity: 1;
    visibility: visible;
    z-index: 100;
    width: 100%;
    max-width: none;
    right: auto; }

.raceAppointment .edit {
  top: 0;
  right: 3rem; }
  .raceAppointment .edit a {
    font-size: 1.8rem;
    margin-left: 0.5rem; }

.raceAppointment .participants-wrapper {
  position: absolute;
  top: 97%;
  background-color: rgba(83, 83, 83, 0.9);
  color: white;
  padding: 1rem 1.5rem;
  z-index: 1000;
  display: none;
  width: 100%; }
  .raceAppointment .participants-wrapper ul {
    display: flex;
    flex-wrap: wrap; }
  .raceAppointment .participants-wrapper li {
    color: #FFFFFF;
    width: 100%; }
  .raceAppointment .participants-wrapper.active {
    display: block; }

@media only screen and (min-width: 768px) {
  .raceAppointment__headline {
    position: relative; }
    .raceAppointment__headline .organizer {
      float: left; }
    .raceAppointment__headline .headline-content-right {
      float: right;
      position: relative;
      flex-direction: row;
      width: auto; }
      .raceAppointment__headline .headline-content-right a:only-child {
        margin-right: 15rem; }
  .raceAppointment .flat-button {
    width: 15rem; }
  .raceAppointment__content {
    padding: 1rem 1.5rem; }
    .raceAppointment__content--logo, .raceAppointment__content--details {
      float: left; }
    .raceAppointment__content--details {
      width: calc(100% - 12rem - (15rem * 2) - 1.5rem);
      padding-top: 1.5rem; }
    .raceAppointment__content--buttons {
      width: 31.5rem;
      padding-left: 1.5rem;
      padding-top: 1.5rem;
      margin-right: 0;
      min-height: auto; }
      .raceAppointment__content--buttons .button-wrapper {
        float: right;
        width: 15rem; }
  .raceAppointment .track {
    margin-bottom: 0; }
    .raceAppointment .track .list_label {
      color: #bbbbbd; }
  .raceAppointment .description {
    top: 3rem; }
  .raceAppointment .edit {
    top: auto;
    bottom: 0; }
  .raceAppointment .participants-wrapper {
    top: 3rem; }
    .raceAppointment .participants-wrapper li {
      width: 33%; }
  .raceAppointment.details_content .participant__username {
    min-width: 16rem;
    display: inline-block; } }

.appointments.details_content, .laptimes.details_content {
  padding-bottom: 0; }
  .appointments.details_content .filter-menu, .laptimes.details_content .filter-menu {
    padding: 1.5rem 0; }
  .appointments.details_content .raceAppointment.row, .appointments.details_content .laptime.row, .appointments.details_content .laptimeAppointment.row, .laptimes.details_content .raceAppointment.row, .laptimes.details_content .laptime.row, .laptimes.details_content .laptimeAppointment.row {
    background: #FFFFFF;
    margin-bottom: 0; }

.details {
  position: static;
  padding: 0; }
  .details .list_info a {
    text-transform: uppercase;
    font-family: "Oswald", sans-serif;
    color: #ea7c26;
    line-height: 1;
    font-size: 1.6rem;
    display: inline-block;
    margin: 0 auto; }
    .details .list_info a i.fa {
      font-size: 1.8em;
      line-height: 1.8rem;
      vertical-align: bottom;
      padding-left: 0.5rem; }
    .details .list_info a:hover {
      color: #8f9197; }
  .details .list_info:hover ~ .shortinfos {
    opacity: 0.1; }
  .details .description {
    right: 3rem; }
  @media only screen and (max-width: 479px) {
    .details .description {
      right: 1.5rem; } }

.list_label.shortinfos {
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  line-height: 1;
  font-size: 1.6rem;
  margin-top: 1.2rem;
  opacity: 1;
  transition: opacity .2s ease;
  cursor: pointer; }
  .list_label.shortinfos i.fa {
    font-size: 1.8em;
    line-height: 1.8rem;
    vertical-align: bottom; }
  .list_label.shortinfos:hover ~ .description {
    visibility: visible;
    opacity: 1;
    z-index: 10;
    height: auto; }
  .list_label.shortinfos a:hover {
    cursor: pointer; }

.edit {
  position: absolute;
  width: auto;
  float: right;
  bottom: 0.5rem;
  right: 1.5rem; }
  .edit .list_info a {
    display: inline-block; }
  @media only screen and (max-width: 768px) {
    .edit {
      float: left;
      clear: left; } }

.laptime .track__name {
  display: block; }

.laptime .comment {
  padding-left: 0;
  text-align: right; }
  .laptime .comment .list_info {
    height: 2.6em;
    overflow: hidden;
    position: relative; }
    .laptime .comment .list_info:hover {
      height: auto; }
    .laptime .comment .list_info:after {
      content: '';
      width: 100%;
      height: 15px;
      display: block;
      position: absolute;
      bottom: 0;
      background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%); }
  .laptime .comment .fa {
    font-size: 1.2em !important;
    margin-left: 0.5rem; }

@media only screen and (max-width: 768px) {
  .laptime .list_info,
  .laptime .list_label {
    display: inline-block; }
  .laptime .track__name {
    display: inline-block;
    margin-right: 0.5rem; }
  .laptime .track,
  .laptime .pilot,
  .laptime .time,
  .laptime .bike,
  .laptime .comment {
    margin: .1rem 0; }
  .laptime .comment {
    text-align: left;
    padding-left: 1.5rem; }
    .laptime .comment .list_info,
    .laptime .comment .list_label {
      display: block; } }

.classifieds_management_container {
  background: #434447;
  padding: 0; }
  .classifieds_management_container h2 {
    color: #FFFFFF;
    background: #8f9197;
    margin: 1.5rem auto 2rem 0; }
    .classifieds_management_container h2:after {
      background: #8f9197; }
    @media only screen and (max-width: 768px) {
      .classifieds_management_container h2 {
        line-height: 4.5rem;
        font-size: 2.8rem; } }
    @media only screen and (max-width: 479px) {
      .classifieds_management_container h2 {
        padding-left: 1.5rem; } }
  .classifieds_management_container .classifieds_message {
    margin-bottom: 2rem;
    padding: 0 1.5rem; }
    .classifieds_management_container .classifieds_message a {
      display: inline-block;
      text-align: center;
      padding: 0;
      width: 100%; }
      .classifieds_management_container .classifieds_message a:hover {
        background-color: rgba(131, 131, 131, 0.75); }
      @media only screen and (max-width: 768px) {
        .classifieds_management_container .classifieds_message a {
          margin-top: .5rem; } }
    @media only screen and (max-width: 768px) {
      .classifieds_management_container .classifieds_message {
        margin-bottom: 2rem; } }
  .classifieds_management_container p {
    font-size: 2.2rem;
    color: #e5e5e5;
    font-family: "Oswald", sans-serif;
    line-height: 1.2;
    padding-left: 3rem; }
    @media only screen and (max-width: 1199px) {
      .classifieds_management_container p {
        font-size: 2rem; } }
    @media only screen and (max-width: 768px) {
      .classifieds_management_container p {
        font-size: 1.6rem;
        margin-bottom: 2rem; } }
    @media only screen and (max-width: 479px) {
      .classifieds_management_container p {
        padding-left: 1.5rem; } }

.classifieds_list .item {
  list-style: none; }

.classifieds_list .list_item {
  overflow: hidden;
  padding: 0 1.5rem; }
  .classifieds_list .list_item > div {
    margin-top: 0;
    margin-bottom: 0; }
  .classifieds_list .list_item .image_container {
    padding-right: 0; }
  .classifieds_list .list_item .title .list_info, .classifieds_list .list_item .author .list_info {
    word-wrap: break-word; }
  .classifieds_list .list_item .price {
    text-align: right; }

.classifieds_list .list_item__inner {
  padding: 15px 0;
  margin: -15px 0;
  overflow: hidden;
  position: relative; }
  .classifieds_list .list_item__inner.highlight {
    background-color: #ffe3ce; }
    .classifieds_list .list_item__inner.highlight .list_label {
      color: #766252; }

.classifieds_list .add_count {
  line-height: 1;
  margin-bottom: 0;
  float: right; }
  .classifieds_list .add_count::after {
    clear: both;
    content: "";
    display: table; }

.classifieds_list .author,
.classifieds_list .date {
  padding-left: 0; }
  .classifieds_list .author .list_label,
  .classifieds_list .author .list_info,
  .classifieds_list .date .list_label,
  .classifieds_list .date .list_info {
    display: inline-block; }

.classifieds_list .date .list_info {
  vertical-align: text-top; }

@media only screen and (max-width: 479px) {
  .classifieds_list .title .list_label {
    display: none; } }

.classifieds_list .price {
  padding-left: 0;
  padding-right: 0; }

.classifieds_list .corner-ribbon {
  font-size: 1.2rem;
  width: 70px;
  background: #ea7c26;
  position: absolute;
  top: 8px;
  left: -20px;
  text-align: center;
  line-height: 20px;
  color: #f0f0f0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  z-index: 10; }

@media only screen and (max-width: 768px) {
  .classifieds_list .list_item .list_item__content {
    margin-bottom: 10px; } }

.action {
  position: relative;
  right: 0;
  bottom: -5px; }
  .action a {
    vertical-align: text-bottom;
    display: inline-block;
    height: 2.2rem; }
    .action a img {
      margin-left: 2rem; }

.classifieds_details h2 {
  padding: 2rem 3rem 0; }

.classifieds_details .item {
  list-style: none; }

.classifieds_details .text {
  color: #0f0f0f;
  font-size: 1.5rem;
  padding-bottom: 1.5rem;
  font-family: Arial, sans-serif; }

.classifieds_details .fb-like {
  vertical-align: middle;
  line-height: 2rem; }

.classifieds_newest .item {
  list-style: none; }

.radio_container span {
  height: 4rem;
  display: block; }

/*
    NOTE: !importants are used to overwrite inline or default styles from slider library
*/
.classifieds-gallery .item {
  padding: 1rem;
  height: 530px;
  position: relative;
  border: 1px solid #e7e7e8; }
  .classifieds-gallery .item a {
    height: 100%;
    display: block; }
  .classifieds-gallery .item img {
    top: 50%;
    width: auto;
    margin: 0 auto;
    max-height: 100%;
    position: relative;
    transform: translateY(-50%); }

.lSPager {
  width: auto !important;
  left: 0 !important;
  margin-top: 1.5rem !important; }
  .lSPager li {
    width: 60px !important;
    height: 60px;
    opacity: 0.5;
    padding: 5px 1px;
    position: relative;
    border: 1px solid #e7e7e8;
    border-radius: 0 !important;
    transition: opacity 0.3s;
    margin-right: 1rem !important;
    margin-bottom: 1rem !important; }
    .lSPager li.active, .lSPager li:hover {
      opacity: 1;
      border-radius: 0; }
    .lSPager li a {
      height: 100%;
      display: block; }
    .lSPager li img {
      top: 50%;
      margin: 0 auto;
      max-height: 100%;
      position: relative;
      transform: translateY(-50%); }

.lSAction .lSPrev,
.lSAction .lSNext {
  width: 45px;
  height: 45px;
  background-image: none !important;
  background-color: #e7e7e8 !important; }
  .lSAction .lSPrev::before,
  .lSAction .lSNext::before {
    top: -2.8rem;
    left: -0.5rem;
    width: 5rem;
    display: block;
    font-size: 4rem;
    text-align: center;
    line-height: 10rem;
    position: absolute;
    font-family: "FontAwesome"; }
  .lSAction .lSPrev:hover::before,
  .lSAction .lSNext:hover::before {
    color: #0f0f0f; }

.lSAction .lSPrev {
  left: 2rem !important; }
  .lSAction .lSPrev::before {
    content: "\f104"; }

.lSAction .lSNext {
  right: 2rem !important; }
  .lSAction .lSNext::before {
    content: "\f105";
    left: 0; }

.image-zoom {
  left: 3.5rem;
  opacity: 0.5;
  z-index: 100;
  position: absolute;
  text-align: center;
  background-color: #e7e7e8;
  width: 45px;
  height: 45px;
  top: 320px;
  transition: opacity 0.3s; }
  .image-zoom:hover, .image-zoom.has-hover {
    opacity: 1;
    cursor: pointer; }
  .image-zoom::before {
    font-size: 2.5rem;
    line-height: 45px; }

@media only screen and (max-width: 768px) {
  .classifieds-gallery .item {
    height: 340px; }
  .lSPager li {
    width: 50px !important;
    height: 50px; }
  .image-zoom {
    top: 225px; } }

@media only screen and (max-width: 479px) {
  .classifieds-gallery .item {
    height: 280px; }
  .image-zoom {
    top: 195px; } }

.classifieds_newest, .raceAppointment_newest {
  margin-bottom: 10px; }
  .classifieds_newest::after, .raceAppointment_newest::after {
    clear: both;
    content: "";
    display: table; }
  @media only screen and (min-width: 992px) {
    #left .classifieds_newest.col-sm-6, #right .classifieds_newest.col-sm-6, #left .raceAppointment_newest.col-sm-6, #right .raceAppointment_newest.col-sm-6 {
      width: 100%; }
    #left .classifieds_newest .button, #right .classifieds_newest .button, #left .raceAppointment_newest .button, #right .raceAppointment_newest .button {
      width: 100%;
      float: none;
      text-align: center;
      padding: 0 1rem; }
    #left .classifieds_newest h1, #left .classifieds_newest h2, #left .classifieds_newest h3, #left .classifieds_newest h4, #right .classifieds_newest h1, #right .classifieds_newest h2, #right .classifieds_newest h3, #right .classifieds_newest h4, #left .raceAppointment_newest h1, #left .raceAppointment_newest h2, #left .raceAppointment_newest h3, #left .raceAppointment_newest h4, #right .raceAppointment_newest h1, #right .raceAppointment_newest h2, #right .raceAppointment_newest h3, #right .raceAppointment_newest h4 {
      color: #434447;
      padding: 0;
      padding-top: 2.9rem;
      text-align: center;
      display: block; }
      #left .classifieds_newest h1:after, #left .classifieds_newest h2:after, #left .classifieds_newest h3:after, #left .classifieds_newest h4:after, #right .classifieds_newest h1:after, #right .classifieds_newest h2:after, #right .classifieds_newest h3:after, #right .classifieds_newest h4:after, #left .raceAppointment_newest h1:after, #left .raceAppointment_newest h2:after, #left .raceAppointment_newest h3:after, #left .raceAppointment_newest h4:after, #right .raceAppointment_newest h1:after, #right .raceAppointment_newest h2:after, #right .raceAppointment_newest h3:after, #right .raceAppointment_newest h4:after {
        display: none; }
    #left .classifieds_newest .raceAppointment, #right .classifieds_newest .raceAppointment, #left .raceAppointment_newest .raceAppointment, #right .raceAppointment_newest .raceAppointment {
      margin-bottom: 1rem; } }
  .classifieds_newest .details_content, .raceAppointment_newest .details_content {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    margin-bottom: 0;
    overflow: auto; }
    #left .classifieds_newest .details_content, #right .classifieds_newest .details_content, #left .raceAppointment_newest .details_content, #right .raceAppointment_newest .details_content {
      padding: 10px;
      padding-top: 0;
      background: #eeeeee; }
  .classifieds_newest h1, .classifieds_newest h2, .classifieds_newest h3, .classifieds_newest h4, .raceAppointment_newest h1, .raceAppointment_newest h2, .raceAppointment_newest h3, .raceAppointment_newest h4 {
    color: #ea7c26;
    padding-top: 0;
    font-size: 2.2rem;
    margin-bottom: 0;
    line-height: 1;
    display: inline-block; }
    .classifieds_newest h1:after, .classifieds_newest h2:after, .classifieds_newest h3:after, .classifieds_newest h4:after, .raceAppointment_newest h1:after, .raceAppointment_newest h2:after, .raceAppointment_newest h3:after, .raceAppointment_newest h4:after {
      content: "";
      display: inline-block;
      background: url("../../files/r4f_relaunch_2016/images/r4f-logo.png") 0 0 no-repeat transparent;
      height: 3rem;
      width: 7rem;
      background-size: auto 3rem;
      margin-left: 1rem; }
  .classifieds_newest .raceAppointment, .classifieds_newest .title, .raceAppointment_newest .raceAppointment, .raceAppointment_newest .title {
    margin-bottom: 2.5rem; }
  .classifieds_newest a, .classifieds_newest a:link, .classifieds_newest a:visited, .raceAppointment_newest a, .raceAppointment_newest a:link, .raceAppointment_newest a:visited {
    text-decoration: none; }
  .classifieds_newest .date, .raceAppointment_newest .date {
    color: #6d6f74;
    font-size: 1.5rem; }
  .classifieds_newest .short-info, .raceAppointment_newest .short-info {
    font-size: 1.5rem; }
  .classifieds_newest .button, .raceAppointment_newest .button {
    float: right; }

.classifieds_newest .image_container {
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .classifieds_newest .image_container img {
    height: 131px;
    width: auto;
    margin: 0 auto;
    margin-bottom: 2.5rem;
    padding-top: 0; }

.raceAppointment_newest .grey-bg ul {
  background-image: url("../../files/r4f_relaunch_2016/images/layout/calendar.png");
  background-size: 15.5rem auto;
  background-position: right top;
  background-repeat: no-repeat; }

.mod_r4f_newposts {
  background: #FFFFFF;
  padding: 1.5rem 0 0; }
  .mod_r4f_newposts h1, .mod_r4f_newposts h2, .mod_r4f_newposts h3, .mod_r4f_newposts h4 {
    padding: 0 3rem;
    margin-bottom: 2rem; }

.post {
  padding: 2rem 3rem;
  font-family: Arial, sans-serif;
  font-size: 1.5rem; }
  .post:nth-child(even) {
    background: #eeeeee; }
  .post .by {
    float: left;
    margin-right: 3rem; }
  .post .topic__activity {
    display: inline-block; }
    .post .topic__activity span {
      display: inline-block;
      margin-right: 3rem; }
  .post .title h3 {
    font-family: Arial, sans-serif;
    text-transform: none;
    margin-bottom: 0;
    line-height: 3rem; }
  .post__meta {
    clear: left;
    display: block;
    font-size: 1.3rem; }
  .post .last-post {
    padding-top: 0.5rem; }
  .post .teaser {
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem; }
    .post .teaser__meta {
      font-size: 1.3rem; }
  .post .icon_topic_newest {
    float: left; }
    .post .icon_topic_newest::before {
      content: '\f11d';
      color: #ea7c26;
      font-family: "FontAwesome";
      display: block;
      width: 3rem;
      height: 3rem;
      line-height: 3rem;
      font-size: 2rem; }
  .post .icon_topic_latest:before {
    font-family: "FontAwesome";
    color: #0f0f0f;
    content: "\f08e";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    font-size: 1.5rem;
    vertical-align: middle;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: color 0.25s ease-in; }
  .post .icon_topic_latest:hover:before {
    color: #ea7c26; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 0; }

h1 {
  font-size: 3rem; }

h2 {
  font-size: 2.2rem; }

h3 {
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 0; }

h4 {
  font-size: 1.9rem; }

h5, h6 {
  font-size: 1.8rem; }

p {
  line-height: 1.4; }

p, li, table {
  font-family: Arial, sans-serif;
  font-size: 1.5rem;
  color: #0f0f0f; }

a, a:link, a:visited {
  text-decoration: none;
  color: #0f0f0f;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s; }

a:hover, a:active, a:focus {
  color: #898a8a; }

a.back {
  color: #FFFFFF;
  background: url("/files/r4f_relaunch_2016/images/icons/arrow-left-white.png") 1rem 50% no-repeat #ea7c26;
  background-size: auto 50%;
  min-width: 5rem;
  min-height: 4rem;
  display: inline-block;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  a.back:hover, a.back:active, a.back:focus {
    color: #FFFFFF; }

.mb-0 {
  margin-bottom: 0 !important; }

.mt-0 {
  margin-top: 0 !important; }

.pb-0 {
  padding-bottom: 0 !important; }

.pt-0 {
  padding-top: 0 !important; }

.clear {
  clear: both; }

.fa {
  font-family: "FontAwesome"; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJfZnJhbWV3b3JrLnNjc3MiLCJfdmFyLnNjc3MiLCIuLi9mb250cy9fc3Rhc21pYy13ZWJmb250LnNjc3MiLCJsaWIvYm91cmJvbi9fYm91cmJvbi5zY3NzIiwibGliL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJsaWIvYm91cmJvbi9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsImxpYi9ib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJsaWIvYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCJsaWIvYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCJsaWIvYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsImxpYi9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsImxpYi9ib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImxpYi9ib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsImxpYi9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwibGliL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImxpYi9ib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJsaWIvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwibGliL2JvdXJib24vaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJsaWIvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJsaWIvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwibGliL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImxpYi9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19maWx0ZXIuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwibGliL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL19zZWxlY3Rpb24uc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwibGliL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJsaWIvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwibGliL2JvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwibGliL2JvdXJib24vYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwibGliL2JvdXJib24vYWRkb25zL19wYWRkaW5nLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwibGliL2JvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsImxpYi9ib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJsaWIvYm91cmJvbi9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCJfZnVuY3Rpb25zLnNjc3MiLCJtaXhpbi9fYnJlYWtwb2ludC5zY3NzIiwicGxhY2Vob2xkZXIvX3BsYWNlaG9sZGVycy5zY3NzIiwiX2NvcmUuc2NzcyIsImNvcmUvX3Jlc2V0LnNjc3MiLCJsYXlvdXQvX2dsb2JhbC5zY3NzIiwibGF5b3V0L19uYXYuc2NzcyIsImxheW91dC9fbWFpbi5zY3NzIiwibGF5b3V0L19zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19mb3JtLnNjc3MiLCJsYXlvdXQvX3BocGJiLnNjc3MiLCJsYXlvdXQvX3BocGJiLWNvbG9ycy5zY3NzIiwibW9kdWxlcy9faGVhZGVyLnNjc3MiLCJtb2R1bGVzL19tb2JpbGVfbWVudS5zY3NzIiwibW9kdWxlcy9fc3RhcnRfbmV3cy5zY3NzIiwibW9kdWxlcy9fY29udGVudF9lbGVtZW50cy5zY3NzIiwibW9kdWxlcy9fcmFuZG9tX2Jhbm5lci5zY3NzIiwibW9kdWxlcy9fY3RzX21vZHVsZS5zY3NzIiwibW9kdWxlcy9fcmFjZV9ldmVudHMuc2NzcyIsIm1vZHVsZXMvX2NsYXNzaWZpZWRzLnNjc3MiLCJtb2R1bGVzL19uZXdlc3Quc2NzcyIsIm1vZHVsZXMvX25ld19mb3J1bV9wb3N0cy5zY3NzIiwiY29yZS9fY29tbW9uLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGcmFtZXdvcmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZyYW1ld29ya1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvcmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImNvcmVcIjtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRnJhbWV3b3JrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJzXG5AaW1wb3J0IFwidmFyXCI7XG5AaW1wb3J0IFwiLi4vZm9udHMvc3Rhc21pYy13ZWJmb250XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXh0ZXJuYWwgRnJhbWV3b3Jrc1xuQGltcG9ydCBcImxpYi9ib3VyYm9uL2JvdXJib25cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGdW5jdGlvbnMgQ1RTXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWl4aW5zIENUU1xuQGltcG9ydCBcIm1peGluL2JyZWFrcG9pbnRcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQbGFjZWhvbGRlciBDVFNcbkBpbXBvcnQgXCJwbGFjZWhvbGRlci9wbGFjZWhvbGRlcnNcIjsiLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFByaW1hcnkgQnJlYWsgUG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGhlc2Ugc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgYnAgKG1heC13aWR0aCwgeHgpIG1peGluXG4vLyB3aGVyZSBhIG1pbi13aWR0aCBpcyB1c2VkLCByZW1lbWJlciB0byArMSB0byBicmVhayBjb3JyZWN0bHkuXG4vLyBJZiB0aGVzZSBhcmUgY2hhbmdlZCwgdGhleSBtdXN0IGFsc28gYmUgdXBkYXRlZCBpbiBhcHAuanNcblxuJGJwLXNtYWxsOiA0NzlweDtcbiRicC1tZWRpdW06IDc2OHB4O1xuJGJwLWxhcmdlOiA5OTJweDtcbiRicC14bGFyZ2U6IDExOTlweDtcbiRicC1mb3J1bTogNzAwcHg7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpbWVuc2lvbnNcbiR0cmltOiAxMHB4O1xuJG1heC1jb250ZW50LXdpZHRoOiAxMTcwcHg7XG4kbWF4LWNvbnRhaW5lci13aWR0aDogJHRyaW0gKyAkbWF4LWNvbnRlbnQtd2lkdGggKyAkdHJpbTtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQgU3RhY2tzXG4vLyBHb29nbGUgV2ViIEZvbnQgc3R5bGVzaGVldCBkZWZpbmUgaW4gQ29udGFvIEJhY2tlbmRcbiRmLXN0YWNrLXNhbnM6ICdPc3dhbGQnLCBzYW5zLXNlcmlmO1xuJGYtc3RhY2stdGV4dDogQXJpYWwsIHNhbnMtc2VyaWY7XG4kZi1zdGFjay1pY29uOiAnRm9udEF3ZXNvbWUnO1xuJGYtc3RhY2stbW9ubzogbW9ubztcblxuJGYtc3RhY2stZGVmYXVsdDogJGYtc3RhY2stc2FucztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb250IFNpemVzXG4kZi1zaXplLXJlc2V0OiAxMHB4O1xuJGYtc2l6ZS1iYXNlOiAxcmVtO1xuXG4kZi1zaXplLXh4eGw6ICRmLXNpemUtYmFzZSAqIDIuODtcbiRmLXNpemUteHhsOiAkZi1zaXplLWJhc2UgKiAyLjI7XG4kZi1zaXplLXhsOiAkZi1zaXplLWJhc2UgKiAxLjg7XG4kZi1zaXplLWw6ICRmLXNpemUtYmFzZSAqIDEuNTtcblxuJGYtc2l6ZTogJGYtc2l6ZS1iYXNlICogMS4zO1xuXG4kZi1zaXplLXM6ICRmLXNpemUtYmFzZSAqIDEuMjtcbiRmLXNpemUteHM6ICRmLXNpemUtYmFzZSAqIDEuMTtcbiRmLXNpemUteHhzOiAkZi1zaXplLWJhc2U7XG5cblxuJGYtdy1saWdodDogMzAwO1xuJGYtdy1ub3JtYWw6IDQwMDtcbiRmLXctYm9sZDogNzAwO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgTWVhc3VyZXNcbiRmLWxpbmUtaGVpZ2h0LWI6IDEuNTtcbiRmLWxpbmUtaGVpZ2h0LXM6IDEuMjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaXppbmdcbiRzcGFjaW5nLXh4czogMC41cmVtICFkZWZhdWx0O1xuJHNwYWNpbmcteHM6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2luZy1zOiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3BhY2luZy1kZWZhdWx0OiAycmVtICFkZWZhdWx0O1xuJHNwYWNpbmctbTogM3JlbSAhZGVmYXVsdDtcbiRzcGFjaW5nLWw6IDRyZW0gIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQmFzZSBDb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1wcmltYXJ5OiAjZWE3YzI2O1xuXG4kYy13aGl0ZTogI0ZGRkZGRjtcblxuJGMtbGlnaHQtZ3JleTogI2VlZWVlZTtcbiRjLW1pZC1ncmV5OiAjODY4Njg2O1xuJGMtZGFyay1ncmV5OiAjNTM1MzUzO1xuXG4kYy1ibHVlLWdyZXk6ICM4ZjkxOTc7IC8vIHN1Ym5hdiBhcnJvdywgdGl0bGUgYmFja2dyb3VuZFxuXG4kYy1oZWFkZXItb3ZlcmxheTogcmdiYSgyNTQsMTE0LDAsMC43KTtcblxuJGMtb3JhbmdlLWxpZ2h0OiAjZmZkM2IxO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGV4dFxuJGMtdGV4dDogIzBmMGYwZjtcbiRjLXRleHQtbWlkOiAjNmQ2Zjc0O1xuJGMtdGV4dC1saWdodDogIzg5OGE4YTtcbiRjLWhlYWRlcjogIzQzNDQ0NztcbiRjLWhlYWRlci1saWdodDogI2U1ZTVlNTtcbiRjLWxpc3QtbGFiZWw6ICNiYmJiYmQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYWNrZ3JvdW5kc1xuJGMtYmc6ICNmZmY7XG4kYy1iZy1saWdodC1ncmV5OiAjZjJmMmYyO1xuJGMtYmctYnV0dG9uLWxpZ2h0LWdyZXk6ICNmNWY1ZjU7XG4kYy1iZy1saWdodGVyLWdyZXk6ICNmYWZhZmE7XG4kYy1iZy1zaWRlYmFyLWdyZXk6ICNlZWVlZWU7XG4kYy1iZy10cmFucy1ncmV5OiByZ2JhKDEzMSwxMzEsMTMxLDAuNzUpOyAgLy8gZm9vdGVyXG4kYy1iZy1kYXJrOiAjNDM0NDQ3O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQm9yZGVyc1xuJGMtYm9yZGVyOiAjZTdlN2U4O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXZlbnRzXG4kYy1zdWNjZXNzOiAjMzNiNjNmO1xuJGMtZXJyb3I6ICNkZDAwMDA7XG4kYy1hbWJlcjogI2U4OTMwMDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNob3J0Y3V0c1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm1zXG4kYy1pbnB1dC1ib3JkZXI6ICNlNGUzZTM7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTmF2aWdhdGlvblxuJGMtbmF2LWhvdmVyOiAjNDM0NDQ3O1xuJGMtbGV2ZWwyLWJnOiAjNTM1NDU3O1xuJGMtbGV2ZWwzLWJnOiAjODk4YThhO1xuJGMtbGV2ZWwyLWJvcmRlcjogI0ZGRkZGRjtcbiRjLWxldmVsMy1ib3JkZXI6ICNkMGQwZDA7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPdGhlclxuXG4vLyBhY2NvcmRpb24gYm94LXNoYWRvd1xuJHNoYWRvdy1hY2NvcmRpb246IDAgMnB4IDNweCAtMXB4IHJnYmEoMCwwLDAsMC4xNSk7XG5cbi8vIGdvb2dsZSBhZHNlbnNlIGJnIHNpZGViYXJcbiRjLWdvb2dsZS1sZW1vbjogI2ZlZTMwMDsiLCIvKiBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBOb3ZlbWJlciAzMCwgMjAxNSAqL1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzdGFzbWljcmVndWxhcic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3N0YXNtaWNfLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3N0YXNtaWNfLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvc3Rhc21pY18td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvc3Rhc21pY18td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3N0YXNtaWNfLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9zdGFzbWljXy13ZWJmb250LnN2ZyNzdGFzbWljcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cbiIsIi8vIEJvdXJib24gNC4yLjZcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvYXNzZXQtcGlwZWxpbmVcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXG5cbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVzXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBsZW5ndGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3Jcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgICRkaW1lbnNpb246IDEwO1xuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcbiAgQGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHByb3A7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENvbnZlcnRzIHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXguXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IHVucGFjaygxZW0gMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XG4vLy8gICB9XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcblxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRzcGVjOiBudWxsO1xuICAkZGVncmVlOiBudWxsO1xuICAkc2lkZTogbnVsbDtcbiAgJGNvcm5lcjogbnVsbDtcbiAgJGxlbmd0aDogbGVuZ3RoKCRwb3MpO1xuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcbiAgICBAaWYgbnRoKCRwb3MsIDEpID09IFwidG9cIiB7IC8vIE5ld2VyIHN5bnRheFxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcblxuICAgICAgQGlmICRsZW5ndGggPT0gMiB7IC8vIGVnLiB0byB0b3BcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxuICAgICAgJHNpZGU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAxKSk7XG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgIH1cblxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XG4gICAgICAkZGVncmVlOiAkcG9zO1xuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xuICAgICAgJHNwZWM6ICRwb3M7XG4gICAgfVxuICB9XG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xufVxuXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcbiAgQGVhY2ggJHZhbHVlIGluICRnMSwgJGcyIHtcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XG4gICAgfVxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICRnMTogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcbiAgICBAZWxzZSB7XG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjZW50ZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImJvdHRvbVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xuXG4gICAgICAgICAgJHBvczogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZlxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjaXJjbGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY292ZXJcIikge1xuXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcbiAgICAgICAgICAgICRnMjogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemU7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XG5cbiAgLy8gQWRkIGNvbW1hXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XG4gIH1cblxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xuXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcblxuICAvLyBSZXN1bHRcbiAgJHJlc3VsdDogMDtcbiAgJGRpdmlkZXI6IDA7XG4gICRtaW51czogZmFsc2U7XG5cbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlcy4uLikge1xuICAvLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0IHtcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XG59XG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuICAvLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGggKCR3aWR0aDogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICAvLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxuXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXG4vLyAyMDEyIC0gZGlzcGxheSAoZmxleCB8IGlubGluZS1mbGV4KVxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG5cbiAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXG4vLyAyMDExIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAkZGlyZWN0aW9uOiBub3JtYWw7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAvLyBBbHQgdmFsdWVzXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1Mjtcbi8vLyAgIH1cblxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOjpzZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIDo6c2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuICAvLyBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXG5cbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XG4vLy8gICB9XG5cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXG5cbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgJGhlaWdodCB7XG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi8vLyAgIHRleHRhcmVhIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEBzb3VyY2UgLSBbQFN0ZXBobi1SXShodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xMzk1I2lzc3VlY29tbWVudC01NzQ4Mzg0NClcbi8vIEBkZXNjcmlwdGlvbiBjb252ZXJ0cyAxIG9yIG1vcmUgY2hhcmFjdGVycyBpbnRvIGEgdW5pY29kZVxuLy8gQG1hcmt1cCB7c2Nzc31cbi8vIHVuaWNvZGUoXCJlNjU1XCIpOyAvLyBcIlxcZTY1NVwiXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyKXtcbiBAcmV0dXJuIHVucXVvdGUoXCJcXFwiXCIpK3VucXVvdGUoc3RyLWluc2VydCgkc3RyLCBcIlxcXFxcIiwgMSkpK3VucXVvdGUoXCJcXFwiXCIpO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyeVxuLy8gc2VlIGh0dHA6Ly9kYXZpZGhlbGxtYW5uLmNvbS9ibG9nZ2luZy9jc3MtbWVkaWEtcXVlcmllcy1kYXMtcHJvYmxlbS1taXQtZml4ZW4tYnJlYWtwb2ludHMtMjQzMy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1lZGlhLWRpcmVjdGlvbjogbWF4O1xuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcywkZGlyZWN0aW9uOiAkbWVkaWEtZGlyZWN0aW9uKSB7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+IDEge1xuICAgICRtaW46IG50aCgkdmFsdWVzLDEpO1xuICAgICRtYXg6IG50aCgkdmFsdWVzLDIpO1xuXG4gICAgQGlmIHVuaXRsZXNzKCRtYXgpIHtcbiAgICAgICRtYXg6ICRtYXggKyAwcHg7XG4gICAgfVxuXG4gICAgQGlmIHVuaXRsZXNzKCRtaW4pIHtcbiAgICAgICRtaW46ICRtaW4gKyAwcHhcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuXG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZXMpIHtcbiAgICAgICR2YWx1ZXM6ICR2YWx1ZXMgKyAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoI3skZGlyZWN0aW9ufS13aWR0aDogJHZhbHVlcykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBsYWNlaG9sZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCdXR0b25zXG5cbiVidXR0b24ge1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xuXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXYtaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG59XG5cbiVidXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWdyZXk7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICB9XG59XG5cbiV0aXRsZS10YWIge1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygtMTVkZWcpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMXJlbSAtM3JlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCl7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG59XG5cblxuXG4ld2lkZS1saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkYy1saWdodC1ncmV5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgIGF7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICB9XG5cbiAgICAmLmRvd24ge1xuICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9hcnJvdy1kb3duLXdoaXRlLnBuZ1wiKSAxMDAlIDUwJSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi51cCB7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9maWxlcy9yNGZfcmVsYXVuY2hfMjAxNi9pbWFnZXMvaWNvbnMvYXJyb3ctdXAtb3JhbmdlLnBuZ1wiKSAwIDUwJSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9hcnJvdy1sZWZ0LXdoaXRlLnBuZ1wiKSAwIDUwJSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9hcnJvdy1yaWdodC1vcmFuZ2UucG5nXCIpIDEwMCUgNTAlIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiVmb3J1bS1idXR0b24ge1xuICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGFyay1ncmV5O1xuICAgIH1cblxuICAgIGEgIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSW1wb3J0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJlXG5AaW1wb3J0IFwiY29yZS9yZXNldFwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvcmUgSW1wb3J0c1xuQGltcG9ydCBcImxheW91dC9nbG9iYWxcIjtcbkBpbXBvcnQgXCJsYXlvdXQvbmF2XCI7XG5AaW1wb3J0IFwibGF5b3V0L21haW5cIjtcbkBpbXBvcnQgXCJsYXlvdXQvc2lkZWJhclwiO1xuQGltcG9ydCBcImxheW91dC9mb290ZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZm9ybVwiO1xuQGltcG9ydCBcImxheW91dC9waHBiYlwiO1xuQGltcG9ydCBcImxheW91dC9waHBiYi1jb2xvcnNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDdXN0b20gRWxlbWVudHNcbkBpbXBvcnQgXCJtb2R1bGVzL2hlYWRlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbW9iaWxlX21lbnVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3N0YXJ0X25ld3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRfZWxlbWVudHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3JhbmRvbV9iYW5uZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2N0c19tb2R1bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3JhY2VfZXZlbnRzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jbGFzc2lmaWVkc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmV3ZXN0XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9uZXdfZm9ydW1fcG9zdHNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3JlIEltcG9ydHNcbkBpbXBvcnQgXCJjb3JlL2NvbW1vblwiO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCcm93c2VyICYgQ29udGFvIFJlc2V0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgbWVudSwgbmF2LCBzZWN0aW9uLCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbm9sLCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbio6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmRpdiB7XG4gICAgKnpvb206IDE7XG59XG5cbmEsIGJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIGRlZmluaXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0bWwsXG5ib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXJlc2V0O1xufVxuXG5ib2R5IHtcbiAgICBmb250LXNpemU6ICRmLXNpemUtYmFzZTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvZmlsZXMvcjRmX3JlbGF1bmNoXzIwMTYvaW1hZ2VzL2xheW91dC9tb29uaW5nLnBuZ1wiKSByZXBlYXQgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDAwcHggNDAwcHg7XG5cbiAgICAvKiBhZGp1c3QgYmFja2dyb3VuZCBzaXplIGZvciBoaWdoIHBpeGVsIGRlbnNpdHkgc2NyZWVucyBzbyBwYXR0ZXJuIGxvb2tzIGdvb2QgKi9cbiAgICBAbWVkaWFcbiAgICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEzLzEwKSxcbiAgICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDEyMGRwaSksXG4gICAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMS4zZHBweCkge1xuXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweDtcbiAgICAgIH1cbn1cblxuZm9ybSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG59XG5cbiN3cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbiNoZWFkZXIsICNjb250YWluZXIsICNmb290ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgLmluc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuI21haW4ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOYXZpIGdlbmVyYWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5tb2RfbmF2aWdhdGlvbiB7XG4gICAgJi5tYWluLW5hdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46ICR0cmltIDA7XG4gICAgICAgIGhlaWdodDogNC4xcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAvLyBuYXZpZ2F0aW9uIGlzIGxlZnQgb2Ygc2NyZWVuIGFuZCBzbGlkZXMgaW4gLSBwdXNoaW5nIGNvbnRlbnQgb3Zlci4gVXNlcyBqUXVlcnlcblxuICAgICAgICAgICAgd2lkdGg6IDI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgbGVmdDogLTI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4zcyBlYXNlLWluKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgIGhlaWdodDogNC4xcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgMC4zcywgYm94LXNoYWRvdyAwLjNzKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuM3MpO1xuXG4gICAgICAgICAgICAgICAgJltocmVmXj1cIm15LVwiXXtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuOXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG5cbiAgICAgICAgICAgIGEuc3VibWVudTphZnRlciwgLmFjdGl2ZS5zdWJtZW51OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS43cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNC4xcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVYKDBkZWcpKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTEwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0LjFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMuNXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICA+LnN1Ym1lbnU6YWZ0ZXIsID4uYWN0aXZlLnN1Ym1lbnU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlWCgxODBkZWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bC5sZXZlbF8xIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICA+bGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNC43JTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZmlyc3QgeyAvL2hvbWVcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZmlsZXMvcjRmX3JlbGF1bmNoXzIwMTYvaW1hZ2VzL2ljb25zL2hvbWUucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIuOHJlbSAyLjhyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLWluLW91dCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2LWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZXZlbDItYmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICAgICB1bC5sZXZlbF8yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICYudHJhaWwge1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdWwubGV2ZWxfMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC50cmFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwubGV2ZWxfMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bC5sZXZlbF8yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRyYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwubGV2ZWxfMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnU6YWZ0ZXIsLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnU6YWZ0ZXIsLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmxldmVsXzIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDQuMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxN3JlbTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA4cHggcmdiYSgwLDAsMCwwLjI1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID5saSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjFyZW07XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGV2ZWwyLWJnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7ICAvLyBhZGQgYW5kIHJlbW92ZSB0aGlzIGNsYXNzIGluIGphdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1sZXZlbDItYmc7XG5cbiAgICAgICAgICAgICAgICAgICAgPmEsID5zdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+YSwgPnN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWxldmVsMi1iZztcblxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1sZXZlbDMtYmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZpcnN0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0LjJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbGV2ZWwzLWJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmLmZvcndhcmQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjFyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZm9yd2FyZHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxldmVsMi1iZztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgIC5zdWJtZW51OmFmdGVyLC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmxldmVsXzMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDhweCByZ2JhKDAsMCwwLDAuMjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID5saSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWxldmVsMy1ib3JkZXI7XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZXZlbDMtYmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2LWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5maXJzdCB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDVweCA1cHggLTJweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbGV2ZWwzLWJnO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0zcHggNXB4IC0ycHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmLmZvcndhcmQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjFyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy41cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5mb3J3YXJkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGV2ZWwzLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnU6YWZ0ZXIsLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOYXZpIG9mZmNhbnZhcyAoVGFibGV0ICYgTW9iaWxlIHZpZXcgLSBicmVha3MgYXQgMTIwMHB4KVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcblxuICAgICAgICAgICAgJi5hY3RpdmUgeyAvLyBhZGQgY2xhc3MgYWN0aXZlIGluIGZyb250ZW5kLmpzXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwubGV2ZWxfMSwgdWwubGV2ZWxfMiwgdWwubGV2ZWxfMyB7XG4gICAgICAgICAgICAgICAgPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbmF2LWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjlyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGV2ZWwyLWJnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMsICYudHJhaWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxldmVsMy1iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbmF2LWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsICYuZm9yd2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXYtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLW5hdi1ob3ZlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXYtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuOXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbmF2LWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuOXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnN1Ym1lbnU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwubGV2ZWxfMiwgdWwubGV2ZWxfMyB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmZpcnN0LCAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGV2ZWwzLWJnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlLCBtaW4pIHtcblxuICAgICNtb2JpbGUtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucGFnZS1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcblxuICAgICNtYWluLW5hdi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAjbW9iaWxlLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICNwYWdlLXdyYXAgeyAvLyBwdXNoZXMgY29udGVudCByaWdodCB3aGVuIG1haW4gbmF2IG9wZW5zXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4zcyBlYXNlLWluKTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBsZWZ0OiAyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLW92ZXJsYXkgeyAvLyBzdGFydHMgaGlkZGVuLCBmYWRlcyBpbiB3aXRoIGpzXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFpbiBsYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jbWFpbiB7XG5cbiAgICAuc2lkZWJhci1yaWdodCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1sZWZ0ICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyLWJvdGggJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjb250YWluZXIge1xuXG4gICAgLnNpZGViYXItbGVmdCAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyLXJpZ2h0ICYge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyLWJvdGggJiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaWRlYmFyIEVsZW1lbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI3JpZ2h0LCAjbGVmdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bGFyZ2Upe1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAycmVtIGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIGgze1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyLjhyZW0gMCAzLjNyZW07XG5cbiAgICAgICAgJi5zaWRlYmFyLXdpZGdldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXItd2lkZ2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1iZy1zaWRlYmFyLWdyZXk7XG5cbiAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNHJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZmFjZWJvb2sucG5nXCIpIG5vLXJlcGVhdCAwIDUwJSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3BvbnNvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEuMnJlbSBhdXRvIDAgYXV0bztcblxuICAgICAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hZHNlbnNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuXG4gICAgICAgICAgICAuZ29vZ2xlLWFkZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAkdHJpbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2Zvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGMtYmctdHJhbnMtZ3JleTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcblxuICAgIC5pbnNpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDExN3JlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kX2JyZWFkY3J1bWIge1xuICAgICAgICBoZWlnaHQ6IDYuM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EyYTJhMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuXG4gICAgICAgICAgICBhLCA+c3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYuM3JlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1pY29uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItbmF2IHtcblxuICAgICAgICBsaSwgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgYSwgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIFN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jZV9mb3JtLCAubW9kX2xvZ2luLCAubW9kX2xvc3RQYXNzd29yZCB7XG4gICAgYmFja2dyb3VuZDogJGMtYmctbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogJHRyaW07XG59XG5cbi5mb3JtYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgID5sZWdlbmQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgIH1cbn1cblxuLmVycm9yIHtcbiAgICBjb2xvcjogJGMtZXJyb3I7XG59XG5cbi53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAmLndpZGdldC1zdWJtaXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAmLndpZGdldC1jYXB0Y2hhIH4gLndpZGdldC1zdWJtaXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICB9XG59XG5cbmxhYmVsLCAuY2FwdGNoYV90ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGMtdGV4dC1taWQ7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xufVxuXG5pbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcblxuICAgICYuZW1wdHkge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1taWQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAmLnN1Ym1pdCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgQGV4dGVuZCAlYnV0dG9uO1xuXG4gICAgICAgICZbbmFtZV49XCJ1bnNldFwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMi4zcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9jcm9zcy5wbmdcIikgbm8tcmVwZWF0IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4zcyk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuc2VsZWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG59XG5cblxuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICB3aWR0aDogMnJlbSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hlY2tib3hfY29udGFpbmVyIHtcbiAgICBsZWdlbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG5cbi5yYWRpb19jb250YWluZXIge1xuICAgIGxlZ2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5idXR0b24ge1xuXG4gICAgJi5zdWJtaXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAZXh0ZW5kICVidXR0b247XG4gICAgfVxufVxuXG5cbi5zdWJtaXRfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAgIC5zdWJtaXQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMb2dpbiBhbmQgcGFzc3dvcmQgcmVzZXRcblxuLm1vZF9sb2dpbiB7XG5cbiAgICAuY2hlY2tib3hfY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xuXG4gICAgICAgIGxhYmVsLCBpbnB1dCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubW9kX2xvc3RQYXNzd29yZCB7XG4gICAgLndpZGdldC53aWRnZXQtc3VibWl0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3J1bSBTdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMYXlvdXRcbmJvZHkge1xuICAgICYjcGhwYmIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI2hlYWRlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgI21haW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICN3cmFwIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gaW4gdXBkYXRlIERlei4gMjAxNiB0aGlzIHdhcyBzZXQgdG8gbm90IGJlIGRpc3BsYXllZCAodC5tdWlyKVxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcC5za2lwbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDEuNXJlbTtcblxuICAgICAgICAgICAgdWwubGlua2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWFyY2gtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXJiYXIsIC5mb3JhYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9yYWJnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIFJlc2V0OiBjb2xvcnMsIGZvbnRzXG5cbiAgICAgICAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIuc29sbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3J1bWJnIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwubGlua2xpc3QgbGkucmVzcG9uc2l2ZS1tZW51IGEucmVzcG9uc2l2ZS1tZW51LWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3J1bWJnIC5oZWFkZXIgYTpob3ZlciwgLmZvcmFiZyAuaGVhZGVyIGE6aG92ZXIsIHRoIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmZvcnVtcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgLjhyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UsIGNvbG9yIC4zcyBlYXNlKTtcblxuICAgICAgICAgICAgJi50b29scy1pY29uIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjhyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saXN0LWxhYmVsO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdLCBhYmJyW3RpdGxlXSB7XG4gICAgICAgICAgICBjdXJzb3I6IGhlbHA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LCAucGFuZWwge1xuICAgICAgICAgICAgaDIsIGgzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLCBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRsLCBkdCwgZGQge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dGJveDpob3ZlciwgLmlucHV0Ym94OmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWlucHV0LWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGhyLmRhc2hlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcmssIG1hcmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB1bC5jcGxpc3Qge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIGhlYWRlclxuXG4gICAgICAgIC5zZWFyY2gtaGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtYm94IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtLCBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dGJveCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1pbnB1dC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICBidXR0b24uc2VhcmNoLWljb24sIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoLWljb246YmVmb3JlLCAuc2VhcmNoLWFkdi1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBuYXZpZ2F0aW9uIGVsZW1lbnRzXG5cbiAgICAgICAgdWwuYnVsbGV0aW4ge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlZm9ydW0tYnV0dG9uO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cblxuICAgICAgICAgICAgICAgICYucmlnaHRzaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICYucmlnaHRzaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWFsbC1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDVweCA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI25hdi1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAtMTVweCAwIC0xNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDE1cHggMHB4IDE1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc21hbGwtaWNvbi5icmVhZGNydW1iczpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJlYWRjcnVtYnMgLmNydW1iIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIEZvcnVtIG92ZXJ2aWV3XG4gICAgICAgIGxpLmhlYWRlciB7XG4gICAgICAgICAgICBhLCBkZCwgLmxpc3QtaW5uZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpc3QtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAldGl0bGUtdGFiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWlkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgdWwudG9waWNsaXN0IHtcblxuICAgICAgICAgICAgZGwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctZGFyaztcblxuICAgICAgICAgICAgICAgIGRkLCBkdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkucm93IHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJvcmRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtaGVhZGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYmcxOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYmcyOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtaGVhZGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZm9ydW1zIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLmZvcnVtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBvc3RsaW5rIHtcbiAgICAgICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2lnbmF0dXJlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51c2VybmFtZS1jb2xvdXJlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RpZmljYXRpb25fbGlzdCB7XG4gICAgICAgICAgICAudG9waWNsaXN0IHtcbiAgICAgICAgICAgICAgICBkdCwgZGQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcnVtYmcge1xuICAgICAgICAgICAgbGkuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkbC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gRm9ydW1cblxuICAgICAgICBoMi5mb3J1bS10aXRsZSB7XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLWluZGV4ICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWRhcms7XG5cbiAgICAgICAgICAgICAgICArIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXRpdGxlLXRhYjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWlkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcnVtLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWJhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBoMi5mb3J1bS10aXRsZSArIC5mb3J1bS1pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAgICAgICAgICYjb3B0aW9ucy1wYW5lbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNwYWdlLWJvZHkge1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgKyAucGFuZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5iZzIge1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtaGVhZGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAucGFuZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYW5lbCB7XG4gICAgICAgICAgICAgICAgLmlubmVyID4gaDIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgJi50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgaDIsIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSwgLnN0YXQtYmxvY2ssIC5hY3Rpb24tYmFyLCAjdGFicyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1iZy1saWdodC1ncmV5O1xuICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1iYXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAgICAgICAgIGZpZWxkc2V0LCBmb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGVmdHNpZGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFyay1yZWFkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlYXJjaC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdHByb2ZpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMXB4IDEwcHggLTFweDsgLy9tb3ZlIHByb2ZpbGUgdG8gdGhlIGxlZnQgYnkgMXB4XG5cbiAgICAgICAgICAgIGRsLCBkZCwgZHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZmlsZS1jb250YWN0IHtcbiAgICAgICAgICAgICAgICAuY29udGFjdC1jaGFubmVscyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFubmVscy13cmFwcGVye1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhbm5lbHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLmNvbnRhY3QtaWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1wcm9maWxlIC5wb3N0LWJ1dHRvbnMge1xuICAgICAgICAgICAgcmlnaHQ6IDMlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3Rib2R5IHtcbiAgICAgICAgICAgIHdpZHRoOiA3OCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLXdoaXRlO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZvcnVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgLmFkc2Vuc2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAmLmJnMSB7XG4gICAgICAgICAgICAgICAgLnBvc3Rwcm9maWxlLCAucG9zdGJvZHkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiwgaDMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLmF1dGhvciB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgcGFkZGluZzogLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICAgICAgJi51bmNpdGVkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjcGFnZS1mb290ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctbGlnaHQtZ3JleTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdpbmF0aW9uIHtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4xcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAuM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wYWdlLWp1bXAsICYubmV4dCwgJi5wcmV2aW91cyB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgLjAycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wYWdlLWp1bXAge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS42cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA4Nic7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLmp1bXBib3gtcmV0dXJuIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBAZXh0ZW5kICV3aWRlLWxpbms7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYXJyb3ctbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9maWxlcy9yNGZfcmVsYXVuY2hfMjAxNi9pbWFnZXMvaWNvbnMvYXJyb3ctbGVmdC1ncmV5LWJvbGQucG5nXCIpIG5vLXJlcGVhdCAzcHggNjglO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMi41cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hcnJvdy1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9maWxlcy9yNGZfcmVsYXVuY2hfMjAxNi9pbWFnZXMvaWNvbnMvYXJyb3ctbGVmdC1ncmV5LWJvbGQucG5nXCIpIG5vLXJlcGVhdCAzcHggODYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBTZWN0aW9uc1xuXG4gICAgICAgICYuc2VjdGlvbi1pbmRleCB7XG4gICAgICAgICAgICAjbmF2LWJyZWFkY3J1bWJzIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBUYWJsZXNcbiAgICAgICAgLmZvcnVtYmctdGFibGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICAgICAgICAgPiAuaW5uZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlLnRhYmxlMSB7XG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1iZy1saWdodC1ncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIEZvcnVtIGZvcm1zIChsb2dpbiwgcmVnaXN0cmF0aW9uLCBwYXNzd29yZCByZXNldCwgY29udGFjdClcblxuICAgICAgICAjcGFnZS1ib2R5IHtcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIGgyLCBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCwgLmNhcHRjaGFfdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBhLCBpbnB1dCB7XG4gICAgICAgICAgICAmLmJ1dHRvbjEsICYuYnV0dG9uMiwgJi5idXR0b24zIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLjJyZW0gYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIC4zcyBlYXNlLCBjb2xvciAuM3MgZWFzZSk7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNmb3JtYXQtYnV0dG9ucyB7XG4gICAgICAgICAgICBhLCBpbnB1dCB7XG4gICAgICAgICAgICAgICAgJi5idXR0b24xLCAmLmJ1dHRvbjIsICYuYnV0dG9uMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQsIC5pbnB1dGJveCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13LW5vcm1hbDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIC5zdWJtaXQtYnV0dG9ucyBpbnB1dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zdWJtaXQtYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkc2V0LmZpZWxkczEge1xuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLmlucHV0Ym94IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAucGFuZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkc2V0LnF1aWNrLWxvZ2luIHtcbiAgICAgICAgICAgIHNwYW4sIGlucHV0IHtcblxuICAgICAgICAgICAgICAgICYuaW5wdXRib3gge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIEZvcm0gLSByZWdpc3RyYXRpb25cblxuICAgICAgICBmb3JtI3JlZ2lzdGVyIHtcblxuICAgICAgICAgICAgZGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgLmlucHV0Ym94LCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIERyb3Bkb3duIE1lbnVzXG4gICAgICAgIC5kcm9wZG93biB7XG5cbiAgICAgICAgICAgIC5kcm9wZG93bi1jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuXG4gICAgICAgICAgICAgICAgJi5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLWNvbnRlbnRzIHtcbiAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmxpbmtsaXN0IC5kcm9wZG93biB7XG4gICAgICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tYnV0dG9uLWNvbnRyb2wuZHJvcGRvd24tdXAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMzdweDtcbiAgICAgICAgfVxuXG4gICAgICAgICNqdW1wYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJnLWxpZ2h0LWdyZXk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICAuZHJvcGRvd24tc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RhZGFkYTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTdweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWxpc3QtbGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1iZy1kYXJrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1jb250YWluZXIge1xuICAgICAgICAgICAgJi50b3BpYy10b29scyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlzdC1sYWJlbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93biwgLmRyb3B1cCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tZXh0ZW5kZWQge1xuICAgICAgICAgICAgLmhlYWRlciwgLmZvb3RlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwgbGk6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBQcm9maWxlLCBQZXJzb25hbCBBcmVhXG5cbiAgICAgICAgI3RhYnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgfiBmb3JtLCAmIH4gLnBhbmVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjcC1tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjY3AtbWFpbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZmllbGRzZXQuc3VibWl0LWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW0gMS41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gZm9ybSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IC5wYW5lbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vc2VlIF9waHBiYi1jb2xvcnMuc2Nzc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC0xLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkLCAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBkbC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0LjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkZC5sYXN0cG9zdCA+IHNwYW4sIHVsLnRvcGljbGlzdCBkZC5pbmZvID4gc3BhbiwgdWwudG9waWNsaXN0IGRkLnRpbWUgPiBzcGFuLCBkZC5yZWRpcmVjdCA+IHNwYW4sIGRkLm1vZGVyYXRpb24gPiBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICNyZXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjdG9waWNyZXZpZXcge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICAgICAgfVxuXG4gICAgICAgICNzbWlsZXktYm94IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0LWJveC5wcm9maWxlLWRldGFpbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MDAsIG1pbikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLy8gbWVzc2FnZSAvIHBvc3QgLyBQTlxuXG4gICAgICAgICNtZXNzYWdlLWJveCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBfICRmLXN0YWNrLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3AtbWluaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZGlzcGxheS1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgLmxlZnQtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2MDApIHtcbiAgICAgICAgICAgICAgICAubGVmdC1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBNZW1iZXIgbGlzdCAocG9wIHVwKVxuXG4gICAgICAgICNzZWFyY2hfbWVtYmVybGlzdCB7XG4gICAgICAgICAgICBzZWxlY3QsIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjbWVtYmVybGlzdCB7XG4gICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aCBhLCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtZGFyay1ncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIE1lZGlhIFF1ZXJ5IFJlc2V0c1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIyMCkge1xuICAgICAgICAgICAgI3dyYXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MDApIHtcbiAgICAgICAgICAgIC5oZWFkZXJiYXIsIC5uYXZiYXIsIC5mb3JhYmcsIC5mb3J1bWJnLCAucG9zdCwgLnBhbmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmllbGRzZXQucXVpY2stbG9naW4gbGFiZWxbZm9yPVwiYXV0b2xvZ2luXCJdIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIFJlc2V0IGJ1dHRvbiBpY29ucyB0byBGb250IEF3ZXNvbWUgaWNvbnNcblxuICAgICAgICAvKiBmb3J1bS9wb3N0IGljb25zICovXG4gICAgICAgIC5pY29uLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250QXdlc29tZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwIDNweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1b3RlLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMGQnO1xuICAgICAgICB9XG4gICAgICAgIC5xdW90ZS1pY29uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXQtaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA0NCc7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXQtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICB9XG4gICAgICAgIC53YXJuLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNzEnO1xuICAgICAgICB9XG4gICAgICAgIC53YXJuLWljb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgfVxuICAgICAgICAuZGVsZXRlLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMTQnO1xuICAgICAgICB9XG4gICAgICAgIC5kZWxldGUtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICB9XG4gICAgICAgIC5yZXBvcnQtaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEyYSc7XG4gICAgICAgIH1cbiAgICAgICAgLnJlcG9ydC1pY29uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8taWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEyOSc7XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8taWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ucmVzcG9uc2l2ZS1tZW51LWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYzknO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ucmVzcG9uc2l2ZS1tZW51LWxpbms6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgfVxuICAgICAgICAuc2VhcmNoLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYWR2LWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMTMnO1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYWR2LWljb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b29scy1pY29uOmJlZm9yZSwgLm1vZHRvb2xzLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcGx5LWljb246YmVmb3JlLCAucG1yZXBseS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTEyJztcbiAgICAgICAgfVxuICAgICAgICAucmVwbHktaWNvbjpob3ZlcjpiZWZvcmUsIC5wbXJlcGx5LWljb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWljb246YmVmb3JlLCAubmV3cG0taWNvbjpiZWZvcmUsIC5yZXBseS1hbGw6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMjInO1xuICAgICAgICB9XG4gICAgICAgIC5wb3N0LWljb246aG92ZXI6YmVmb3JlLFxuICAgICAgICAubmV3cG0taWNvbjpob3ZlcjpiZWZvcmUsXG4gICAgICAgIC5yZXBseS1hbGw6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NrZWQtaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAyMyc7XG4gICAgICAgIH1cbiAgICAgICAgLmxvY2tlZC1pY29uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9yd2FyZHBtLWljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjQnO1xuICAgICAgICB9XG4gICAgICAgIC5mb3J3YXJkcG0taWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICB9XG5cbiAgICAgICAgLyogbmF2aWdhdGlvbiBidXR0b25zICovXG4gICAgICAgIC5zbWFsbC1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAtMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3F1aWNrLWxpbmtzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY29tcGFjdCAucmVzcG9uc2l2ZS1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGM5JztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tZmFxOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTI4JztcbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZWdpc3RlcjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjIzNCc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9nb3V0OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDkwJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLW5vdGlmaWNhdGlvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjBmMyc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcG06YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZTAnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24taG9tZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAxNSc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29udGFjdDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjBlMCc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGVhbTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjBjMCc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVtYmVyczpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwNyc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGVsZXRlLWNvb2tpZXM6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxNDYnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tcHJvZmlsZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjFlYSc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMTknO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3BvbnNpdmUtbWVudS5yaWdodHNpZGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBjOSc7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1zZWxlY3Qge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBkZCc7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmctZGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb24gbGkucGFnZS1qdW1wIGEsIC5wYWdpbmF0aW9uIGxpLm5leHQgYSwgLnBhZ2luYXRpb24gbGkucHJldmlvdXMgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250QXdlc29tZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdpbmF0aW9uIGxpLnBhZ2UtanVtcCBhIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNTAnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYWdpbmF0aW9uIGxpLm5leHQgYSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGRhJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdpbmF0aW9uIGxpLnByZXZpb3VzIGEge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBkOSc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEudG9wLCBhLnRvcDIge1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBhYSc7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtZGFyay1ncmV5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4zcyBlYXNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRsLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwcHggMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmhlYWRlciAmIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEuaWNvbi1saW5rIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuXG5cblxuICAgICAgICB9XG5cbiAgICAgICAgYS5hcnJvdy11cCwgYS5hcnJvdy1kb3duLCBhLmFycm93LWxlZnQsIGEuYXJyb3ctcmlnaHQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5hcnJvdy1sZWZ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYS5hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIC8vIG5vdGUgLSBrZWVwIGV2ZXJ5dGhpbmcgYWJvdmUvaW5zaWRlIHRoZSBmb2xsb3cgYnJhY2VzIHNvIHRoYXQgdGhlIHN0eWxpbmcgaXMgc3BlY2lmaWMgdG8gdGhlIGJvZHkgaWQ6cGhwQkJcblxuICAgIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcnVtIENvbG9ycyAtIHJlc2V0IHRoZSBkZWZhdWx0IHRoZW1lIGNvbG91cnMgYW5kIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5odG1sLCBib2R5IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmJvZHkjcGhwYmIge1xuICAgIGgxIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0NDQ0NDQztcbiAgICB9XG5cbiAgICAvKiBTZWFyY2ggYm94XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuc2VhcmNoLWJveCAuaW5wdXRib3gsXG4gICAgLnNlYXJjaC1ib3ggLmlucHV0Ym94OmhvdmVyLFxuICAgIC5zZWFyY2gtYm94IC5pbnB1dGJveDpmb2N1cyxcbiAgICAuc2VhcmNoLWJveCAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1pbnB1dC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1oZWFkZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdW5kIGNvcm5lcmVkIGJveGVzIGFuZCBiYWNrZ3JvdW5kc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAjd3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5oZWFkZXJiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1iZy1kYXJrO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgLm5hdmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgLmZvcmFiZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWRhcms7XG4gICAgfVxuXG4gICAgLmZvcnVtYmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgLnBhbmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5wb3N0OnRhcmdldCAuY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5wb3N0OnRhcmdldCBoMyBhIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLmJnMSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIHRhYmxlLnplYnJhLWxpc3QgdHI6bnRoLWNoaWxkKG9kZCkgdGQsIHVsLnplYnJhLWxpc3QgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAuYmcyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtaGVhZGVyLWxpZ2h0O1xuICAgIH1cblxuICAgIHRhYmxlLnplYnJhLWxpc3QgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkLCB1bC56ZWJyYS1saXN0IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICB9XG5cbiAgICAuYmczIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctbGlnaHQtZ3JleTtcbiAgICB9XG5cbiAgICAudWNwcm93Ymcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENERUUyO1xuICAgIH1cblxuICAgIC5maWVsZHNiZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFN0U4RUE7XG4gICAgfVxuXG4gICAgLyogSG9yaXpvbnRhbCBsaXN0c1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgdWwubmF2bGlua3Mge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYy13aGl0ZVxuICAgIH1cblxuICAgIC8qIFRhYmxlIHN0eWxlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIHRhYmxlLnRhYmxlMSB0aGVhZCB0aCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIHRhYmxlLnRhYmxlMSB0Ym9keSB0ciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcbiAgICB9XG5cbiAgICB0YWJsZS50YWJsZTEgdGJvZHkgdHI6aG92ZXIsIHRhYmxlLnRhYmxlMSB0Ym9keSB0ci5ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuICAgIHRhYmxlLnRhYmxlMSB0Ym9keSB0ci5iZzI6aG92ZXIsIHRhYmxlLnRhYmxlMSB0Ym9keSB0ci5iZzIuaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodC1ncmV5O1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICB0YWJsZS50YWJsZTEgdGQge1xuICAgICAgICBjb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgIH1cblxuICAgIHRhYmxlLnRhYmxlMSB0Ym9keSB0ZCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIHRhYmxlLnRhYmxlMSB0Ym9keSB0aCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICB0YWJsZS5pbmZvIHRib2R5IHRoIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLyogTWlzYyBsYXlvdXQgc3R5bGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIGRsLmRldGFpbHMgZHQge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICBkbC5kZXRhaWxzIGRkIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLnNlcCB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5XG4gICAgfVxuXG4gICAgLyogUGFnaW5hdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saXN0LWxhYmVsO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24gbGkuZWxsaXBzaXMgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbiBsaS5hY3RpdmUgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbiBsaSBhOmhvdmVyLCAucGFnaW5hdGlvbiAuZHJvcGRvd24tdmlzaWJsZSBhLmRyb3Bkb3duLXRyaWdnZXIsIC5ub2pzIC5wYWdpbmF0aW9uIC5kcm9wZG93bi1jb250YWluZXI6aG92ZXIgYS5kcm9wZG93bi10cmlnZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uIGxpLm5leHQgYSwgLnBhZ2luYXRpb24gbGkucHJldmlvdXMgYSwgLnBhZ2luYXRpb24gbGkucGFnZS1qdW1wIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgIC8qIFBhZ2luYXRpb24gaW4gdmlld2ZvcnVtIGZvciBtdWx0aXBhZ2UgdG9waWNzICovXG4gICAgLnJvdyAucGFnaW5hdGlvbiB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9wYWdlcy5naWZcIik7XG4gICAgfVxuXG4gICAgLyogTWlzY2VsbGFuZW91cyBzdHlsZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbGlnaHRcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgICBjb2xvcjogJGMtZXJyb3I7XG4gICAgfVxuXG4gICAgLnJlcG9ydGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RUNFRjtcbiAgICB9XG5cbiAgICBsaS5yZXBvcnRlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0Q1RDggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnN0aWNreSwgLmFubm91bmNlIHtcbiAgICAgICAgLyogeW91IGNhbiBhZGQgYSBiYWNrZ3JvdW5kIGZvciBzdGlja2llcyBhbmQgYW5ub3VuY2VtZW50cyovXG4gICAgfVxuXG4gICAgZGl2LnJ1bGVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRDVEODtcbiAgICAgICAgY29sb3I6ICRjLWVycm9yXG4gICAgfVxuXG4gICAgcC5wb3N0LW5vdGljZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0Q1RDg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgcC5wb3N0LW5vdGljZS5kZWxldGVkOmJlZm9yZSB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl90b3BpY19kZWxldGVkLnBuZ1wiKTtcbiAgICB9XG5cbiAgICBwLnBvc3Qtbm90aWNlLnVuYXBwcm92ZWQ6YmVmb3JlIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3RvcGljX3VuYXBwcm92ZWQuZ2lmXCIpO1xuICAgIH1cblxuICAgIHAucG9zdC1ub3RpY2UucmVwb3J0ZWQ6YmVmb3JlLCBwLnBvc3Qtbm90aWNlLmVycm9yOmJlZm9yZSB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl90b3BpY19yZXBvcnRlZC5naWZcIik7XG4gICAgfVxuXG4gICAgLypcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvbG91cnMgYW5kIGJhY2tncm91bmRzIGZvciBsaW5rcy5jc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgYSB7XG4gICAgICAgIC8vY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICAvL2NvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC8qIExpbmtzIG9uIGdyYWRpZW50IGJhY2tncm91bmRzICovXG4gICAgLmZvcnVtYmcgLmhlYWRlciBhLCAuZm9yYWJnIC5oZWFkZXIgYSwgdGggYSB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAuZm9ydW1iZyAuaGVhZGVyIGE6aG92ZXIsIC5mb3JhYmcgLmhlYWRlciBhOmhvdmVyLCB0aCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjLWhlYWRlci1saWdodFxuICAgIH1cblxuICAgIC8qIE5vdGlmaWNhdGlvbiBtYXJrIHJlYWQgbGluayAqL1xuICAgIC5kcm9wZG93bi1leHRlbmRlZCBhLm1hcmtfcmVhZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlXG4gICAgfVxuXG4gICAgLyogUG9zdCBib2R5IGxpbmtzICovXG4gICAgLnBvc3RsaW5rIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLnBvc3RsaW5rOnZpc2l0ZWQge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICB9XG5cbiAgICAucG9zdGxpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLnBvc3RsaW5rLWxvY2FsIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gICAgfVxuXG4gICAgLnNpZ25hdHVyZSBhLCAuc2lnbmF0dXJlIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiBCYWNrIHRvIHRvcCBvZiBwYWdlICovXG4gICAgYS50b3Age1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgIGEudG9wMiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQXJyb3cgbGlua3MgICovXG4gICAgYS5hcnJvdy11cCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNic7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuYXJyb3ctZG93biB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuYXJyb3ctbGVmdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNCc7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuYXJyb3ctcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDUnO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLmFycm93LXVwOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgYS5hcnJvdy1sZWZ0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuXG4gICAgYS5hcnJvdy1yaWdodDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC8qXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDb2xvdXJzIGFuZCBiYWNrZ3JvdW5kcyBmb3IgY29udGVudC5jc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgdWwuZm9ydW1zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgO1xuICAgIH1cblxuICAgIHVsLnRvcGljbGlzdCBsaSB7XG4gICAgICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgfVxuXG4gICAgdWwudG9waWNsaXN0IGRkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIC5ydGwgdWwudG9waWNsaXN0IGRkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHVsLnRvcGljbGlzdCBsaS5yb3cgZHQgYS5zdWJmb3J1bS5yZWFkIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9zdWJmb3J1bV9yZWFkLmdpZlwiKTtcbiAgICB9XG5cbiAgICB1bC50b3BpY2xpc3QgbGkucm93IGR0IGEuc3ViZm9ydW0udW5yZWFkIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9zdWJmb3J1bV91bnJlYWQuZ2lmXCIpO1xuICAgIH1cblxuICAgIGxpLnJvdyB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYy1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkucm93IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIGxpLnJvdzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICB9XG5cbiAgICBsaS5yb3c6aG92ZXIgZGQge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI0NDQ0NDQztcbiAgICB9XG5cbiAgICAucnRsIGxpLnJvdzpob3ZlciBkZCB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0NDQ0NDQztcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGxpLmhlYWRlciBkdCwgbGkuaGVhZGVyIGRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctZGFyaztcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIC8qIFBvc3QgYm9keSBzdHlsZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICAucG9zdGJvZHkge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAvKiBDb250ZW50IGNvbnRhaW5lciBzdHlsZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICAuY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5jb250ZW50IGgyLCAucGFuZWwgaDIge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0NDQ0NDQztcbiAgICB9XG5cbiAgICBkbC5mYXEgZHQge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAucG9zdGhpbGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzQkZDQztcbiAgICAgICAgY29sb3I6ICNkZDAwMDA7XG4gICAgfVxuXG4gICAgLmFubm91bmNlLCAudW5yZWFkcG9zdCB7XG4gICAgICAgIC8qIEhpZ2hsaWdodCB0aGUgYW5ub3VuY2VtZW50cyAmIHVucmVhZCBwb3N0cyBib3ggKi9cbiAgICB9XG5cbiAgICAvKiBQb3N0IHNpZ25hdHVyZSAqL1xuICAgIC5zaWduYXR1cmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjQ0NDQ0NDO1xuICAgIH1cblxuICAgIC8qIFBvc3Qgbm90aWNpZXMgKi9cbiAgICAubm90aWNlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0NDQ0NDQztcbiAgICB9XG5cbiAgICAvKiBCQiBDb2RlIHN0eWxlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIC8qIFF1b3RlIGJsb2NrICovXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVBREQ7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvcXVvdGUuZ2lmXCIpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQkRCQ0U7XG4gICAgfVxuXG4gICAgLnJ0bCBibG9ja3F1b3RlIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9xdW90ZV9ydGwuZ2lmXCIpO1xuICAgIH1cblxuICAgIGJsb2NrcXVvdGUgYmxvY2txdW90ZSB7XG4gICAgICAgIC8qIE5lc3RlZCBxdW90ZXMgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRUVEOTtcbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGJsb2NrcXVvdGUgYmxvY2txdW90ZSB7XG4gICAgICAgIC8qIE5lc3RlZCBxdW90ZXMgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUFERDtcbiAgICB9XG5cbiAgICAvKiBDb2RlIGJsb2NrICovXG4gICAgLmNvZGVib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQzlEMkQ4O1xuICAgIH1cblxuICAgIC5jb2RlYm94IHAge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjQ0NDQ0NDO1xuICAgIH1cblxuICAgIC5jb2RlYm94IGNvZGUge1xuICAgICAgICBjb2xvcjogIzJFOEI1NztcbiAgICB9XG5cbiAgICAuc3ludGF4Ymcge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuICAgIC5zeW50YXhjb21tZW50IHtcbiAgICAgICAgY29sb3I6ICNGRjgwMDA7XG4gICAgfVxuICAgIC5zeW50YXhkZWZhdWx0IHtcbiAgICAgICAgY29sb3I6ICMwMDAwQkI7XG4gICAgfVxuICAgIC5zeW50YXhodG1sIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuICAgIC5zeW50YXhrZXl3b3JkIHtcbiAgICAgICAgY29sb3I6ICMwMDc3MDA7XG4gICAgfVxuICAgIC5zeW50YXhzdHJpbmcge1xuICAgICAgICBjb2xvcjogI0REMDAwMDtcbiAgICB9XG5cbiAgICAvKiBBdHRhY2htZW50c1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIC5hdHRhY2hib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQzlEMkQ4O1xuICAgIH1cblxuICAgIC5wbS1tZXNzYWdlIC5hdHRhY2hib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAuYXR0YWNoYm94IGRkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0M5RDJEODtcbiAgICB9XG5cbiAgICAuYXR0YWNoYm94IHAge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1taWQ7XG4gICAgfVxuXG4gICAgLmF0dGFjaGJveCBwLnN0YXRzIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWlkO1xuICAgIH1cblxuICAgIC5hdHRhY2gtaW1hZ2UgaW1nIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuXG4gICAgLyogSW5saW5lIGltYWdlIHRodW1ibmFpbHMgKi9cblxuICAgIGRsLmZpbGUgZGQge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1taWQ7XG4gICAgfVxuXG4gICAgZGwudGh1bWJuYWlsIGltZyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZVxuICAgIH1cblxuICAgIGRsLnRodW1ibmFpbCBkZCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICB9XG5cbiAgICBkbC50aHVtYm5haWwgZHQgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0LWdyZXlcbiAgICB9XG5cbiAgICBkbC50aHVtYm5haWwgZHQgYTpob3ZlciBpbWcge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWJnLWRhcms7XG4gICAgfVxuXG4gICAgLyogUG9zdCBwb2xsIHN0eWxlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgZmllbGRzZXQucG9sbHMgZGwge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYy1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICB9XG5cbiAgICBmaWVsZHNldC5wb2xscyBkbC52b3RlZCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIGZpZWxkc2V0LnBvbGxzIGRkIGRpdiB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyMSwgLnJ0bCAucG9sbGJhcjIsIC5ydGwgLnBvbGxiYXIzLCAucnRsIC5wb2xsYmFyNCwgLnJ0bCAucG9sbGJhcjUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5wb2xsYmFyMSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBQTIzNDY7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM3NDE2MkM7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc0MTYyQztcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyMSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNzQxNjJDO1xuICAgIH1cblxuICAgIC5wb2xsYmFyMiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCRTFFNEE7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM4QzFDMzg7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzhDMUMzODtcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyMiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOEMxQzM4O1xuICAgIH1cblxuICAgIC5wb2xsYmFyMyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEMTFBNEU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNBQTIzNDY7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0FBMjM0NjtcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyMyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjQUEyMzQ2O1xuICAgIH1cblxuICAgIC5wb2xsYmFyNCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNDE2NTM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNCRTFFNEE7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0JFMUU0QTtcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyNCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjQkUxRTRBO1xuICAgIH1cblxuICAgIC5wb2xsYmFyNSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGODExNTc7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNEMTFBNEU7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0QxMUE0RTtcbiAgICB9XG5cbiAgICAucnRsIC5wb2xsYmFyNSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRDExQTRFO1xuICAgIH1cblxuICAgIC8qIFBvc3RlciBwcm9maWxlIGJsb2NrXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgLnBvc3Rwcm9maWxlIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIC5wbSAucG9zdHByb2ZpbGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWJvcmRlcjtcbiAgICB9XG5cbiAgICAucG9zdHByb2ZpbGUgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLm9ubGluZSB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9lbi9pY29uX3VzZXJfb25saW5lLmdpZlwiKTtcbiAgICB9XG5cbiAgICBkZC5wcm9maWxlLXdhcm5pbmdzIHtcbiAgICAgICAgY29sb3I6ICNCQzJBNEQ7XG4gICAgfVxuXG4gICAgLypcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvbG91cnMgYW5kIGJhY2tncm91bmRzIGZvciBidXR0b25zLmNzc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtbGlzdC1sYWJlbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlzdC1sYWJlbDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgLW1zLWZpbHRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLXNlbGVjdCB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uOmhvdmVyLCAuZHJvcGRvd24tdmlzaWJsZSAuZHJvcGRvd24tc2VsZWN0LCAubm9qcyAuZHJvcGRvd24tY29udGFpbmVyOmhvdmVyIC5kcm9wZG93bi1zZWxlY3Qge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtbmF2LWhvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAtbXMtZmlsdGVyOiBub25lO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAucG9zdC1idXR0b25zIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLXNlbGVjdDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0RBREFEQTtcbiAgICB9XG4gICAgLmRyb3Bkb3duLXNlbGVjdDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0M3QzNCRjtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tdmlzaWJsZSAuZHJvcGRvd24tc2VsZWN0LCAuZHJvcGRvd24tdmlzaWJsZSAuZHJvcGRvd24tc2VsZWN0OmhvdmVyLCAubm9qcyAuZHJvcGRvd24tY29udGFpbmVyOmhvdmVyIC5kcm9wZG93bi1zZWxlY3Qge1xuICAgICAgICBib3JkZXItY29sb3I6ICNBNkIyQkE7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtaWNvbnMgYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0RDRENEQztcbiAgICB9XG4gICAgLmNvbnRhY3QtaWNvbnMgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkY2Rjk7XG4gICAgfVxuXG4gICAgLyogSWNvbiBpbWFnZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLypcbiAgICAuaWNvbi1hY3BcdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX2FjcC5naWZcIik7IH1cbiAgICAuaWNvbi1ib29rbWFya1x0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX2Jvb2ttYXJrLmdpZlwiKTsgfVxuICAgIC5pY29uLWJ1bXBcdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX2J1bXAuZ2lmXCIpOyB9XG4gICAgLmljb24tY29udGFjdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3BtLmdpZlwiKTsgfVxuICAgIC5pY29uLWRlbGV0ZS1jb29raWVzXHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9kZWxldGVfY29va2llcy5naWZcIik7IH1cbiAgICAuaWNvbi1kb3dubG9hZFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX2Rvd25sb2FkLmdpZlwiKTsgfVxuICAgIC5pY29uLWZhcVx0XHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fZmFxLmdpZlwiKTsgfVxuICAgIC5pY29uLWhvbWVcdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX2hvbWUuZ2lmXCIpOyB9XG4gICAgLmljb24tbG9nb3V0XHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fbG9nb3V0LmdpZlwiKTsgfVxuICAgIC5pY29uLW1hcmtcdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX21hcmsuZ2lmXCIpOyB9XG4gICAgLmljb24tbWNwXHRcdFx0XHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9tY3AuZ2lmXCIpOyB9XG4gICAgLmljb24tbWVtYmVyc1x0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX21lbWJlcnMuZ2lmXCIpOyB9XG4gICAgLmljb24tbm90aWZpY2F0aW9uXHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX25vdGlmaWNhdGlvbi5naWZcIik7IH1cbiAgICAuaWNvbi1wYWdlc1x0XHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fcGFnZXMuZ2lmXCIpOyB9XG4gICAgLmljb24tcG1cdFx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3BtLmdpZlwiKTsgfVxuICAgIC5pY29uLXByaW50XHRcdFx0XHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9wcmludC5naWZcIik7IH1cbiAgICAuaWNvbi1wcm9maWxlXHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fcHJvZmlsZS5naWZcIik7IH1cbiAgICAuaWNvbi1yZWdpc3Rlclx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3JlZ2lzdGVyLmdpZlwiKTsgfVxuICAgIC5pY29uLXNlYXJjaCwgLnJlc3BvbnNpdmUtc2VhcmNoIGFcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9zZWFyY2guZ2lmXCIpOyB9XG4gICAgLmljb24tc2VhcmNoLWFjdGl2ZVx0XHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvc3ViZm9ydW1fcmVhZC5naWZcIik7IH1cbiAgICAuaWNvbi1zZWFyY2gtbmV3XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9zdWJmb3J1bV91bnJlYWQuZ2lmXCIpOyB9XG4gICAgLmljb24tc2VhcmNoLXNlbGZcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fdG9waWNfbGF0ZXN0LmdpZlwiKTsgfVxuICAgIC5pY29uLXNlYXJjaC11bmFuc3dlcmVkXHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl9wb3N0X3RhcmdldC5naWZcIik7IH1cbiAgICAuaWNvbi1zZWFyY2gtdW5yZWFkXHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9zdWJmb3J1bV91bnJlYWQuZ2lmXCIpOyB9XG4gICAgLmljb24tc2VuZGVtYWlsXHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fc2VuZGVtYWlsLmdpZlwiKTsgfVxuICAgIC5pY29uLXN1YnNjcmliZVx0XHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3N1YnNjcmliZS5naWZcIik7IH1cbiAgICAuaWNvbi10ZWFtXHRcdFx0XHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbl90ZWFtLmdpZlwiKTsgfVxuICAgIC5pY29uLXVjcFx0XHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25fdWNwLmdpZlwiKTsgfVxuICAgIC5pY29uLXVuc3Vic2NyaWJlXHRcdFx0eyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3Vuc3Vic2NyaWJlLmdpZlwiKTsgfVxuICAgICovXG4gICAgLyogUHJvZmlsZSAmIG5hdmlnYXRpb24gaWNvbnMgKi9cbiAgICAvLy5jb250YWN0LWljb25cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZXMvaWNvbnNfY29udGFjdC5wbmdcIik7IH1cbiAgICAvLy5pY29uLWJ1dHRvbjpiZWZvcmUsIC5kcm9wZG93bi1zZWxlY3Q6YWZ0ZXJcdFx0XHRcdFx0XHR7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2ljb25zX2J1dHRvbi5wbmdcIik7IH1cblxuICAgIC5jb250YWN0LWljb24ucG0taWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1oZWFkZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjBlNVwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pY29uLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgIC5pbWFnZXNldC5pY29uX3RvcGljX2xhdGVzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1hbWJlcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDhlXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlc2V0Lmljb25fdG9waWNfcG9sbCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwODAgXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2VzZXQuaWNvbl9jb250YWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1pY29uO1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA3NSBcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBGb3J1bSBpY29ucyAmIFRvcGljIGljb25zICovXG5cbiAgICAuZ2xvYmFsX3JlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMWUnO1xuICAgIH1cbiAgICAuZ2xvYmFsX3JlYWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjExZSc7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gICAgLmdsb2JhbF9yZWFkX2xvY2tlZCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAyNCc7XG4gICAgfVxuICAgIC5nbG9iYWxfcmVhZF9sb2NrZWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAyNCc7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gICAgLmdsb2JhbF91bnJlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgIH1cbiAgICAuZ2xvYmFsX3VucmVhZF9taW5lIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgICAuZ2xvYmFsX3VucmVhZF9sb2NrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nbG9iYWxfdW5yZWFkX2xvY2tlZF9taW5lIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5hbm5vdW5jZV9yZWFkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTFlJztcbiAgICB9XG4gICAgLmFubm91bmNlX3JlYWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjExZSc7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gICAgLmFubm91bmNlX3JlYWRfbG9ja2VkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDI0JztcbiAgICB9XG4gICAgLmFubm91bmNlX3JlYWRfbG9ja2VkX21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMjQnO1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICAgIC5hbm5vdW5jZV91bnJlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgIH1cbiAgICAuYW5ub3VuY2VfdW5yZWFkX21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICAgIC5hbm5vdW5jZV91bnJlYWRfbG9ja2VkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICB9XG4gICAgLmFubm91bmNlX3VucmVhZF9sb2NrZWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG5cbiAgICAuZm9ydW1fbGluayBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA4ZSc7XG4gICAgfVxuICAgIC5mb3J1bV9yZWFkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTFlJztcbiAgICB9XG4gICAgLmZvcnVtX3JlYWRfbG9ja2VkICBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAyNCc7XG4gICAgfVxuICAgIC5mb3J1bV9yZWFkX3N1YmZvcnVtIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDI0JztcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuXG4gICAgLmZvcnVtX3VucmVhZCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgfVxuXG4gICAgLmZvcnVtX3VucmVhZCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICB9XG5cbiAgICAuZm9ydW1fbGluayBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDhlJztcbiAgICB9XG4gICAgLmZvcnVtX3JlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZSc7XG4gICAgfVxuICAgIC5mb3J1bV9yZWFkX2xvY2tlZCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDI0JztcbiAgICB9XG4gICAgLmZvcnVtX3JlYWRfc3ViZm9ydW0gYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAyNCc7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuICAgIC5mb3J1bV91bnJlYWRfbG9ja2VkIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgfVxuICAgIC5mb3J1bV91bnJlYWRfc3ViZm9ydW0gYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuXG4gICAgLnN0aWNreV9yZWFkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWUnO1xuICAgIH1cbiAgICAuc3RpY2t5X3JlYWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTFlJztcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICAgIC5zdGlja3lfcmVhZF9sb2NrZWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAyNCc7XG5cbiAgICB9XG4gICAgLnN0aWNreV9yZWFkX2xvY2tlZF9taW5lIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMjQnO1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gICAgLnN0aWNreV91bnJlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgfVxuICAgIC5zdGlja3lfdW5yZWFkX21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgICAuc3RpY2t5X3VucmVhZF9sb2NrZWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgfVxuICAgIC5zdGlja3lfdW5yZWFkX2xvY2tlZF9taW5lIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG5cbiAgICAudG9waWNfbW92ZWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjE4Nyc7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgfVxuICAgIC50b3BpY19yZWFkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWUnO1xuICAgIH1cbiAgICAudG9waWNfcmVhZF9taW5lIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWUnO1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gICAgLnRvcGljX3JlYWRfaG90IGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWUnO1xuICAgICAgICBjb2xvcjogI2ZmNDIwMDtcbiAgICB9XG4gICAgLnRvcGljX3JlYWRfaG90X21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZSc7XG4gICAgICAgIGNvbG9yOiAjZGE2MDAwO1xuICAgIH1cbiAgICAudG9waWNfcmVhZF9sb2NrZWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG5cbiAgICB9XG4gICAgLnRvcGljX3JlYWRfbG9ja2VkX21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgICAudG9waWNfdW5yZWFkIGEuaWNvbi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMWQnO1xuICAgIH1cbiAgICAudG9waWNfdW5yZWFkX21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgICAudG9waWNfdW5yZWFkX2hvdCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICAgICAgY29sb3I6ICNmZjQyMDA7XG4gICAgfVxuICAgIC50b3BpY191bnJlYWRfaG90X21pbmUgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgIGNvbG9yOiAjZGE2MDAwO1xuICAgIH1cbiAgICAudG9waWNfdW5yZWFkX2xvY2tlZCBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICB9XG4gICAgLnRvcGljX3VucmVhZF9sb2NrZWRfbWluZSBhLmljb24tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTFkJztcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLnBtX3JlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZSc7XG4gICAgfVxuICAgIC5wbV91bnJlYWQgYS5pY29uLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgfVxuXG5cbiAgICAvKlxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ29sb3VycyBhbmQgYmFja2dyb3VuZHMgZm9yIGNwLmNzc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNYWluIENQIGJveFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLnBhbmVsLWNvbnRhaW5lciBoMywgLnBhbmVsLWNvbnRhaW5lciBociwgI2NwLW1lbnUgaHIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWxpc3QtbGFiZWxcbiAgICB9XG5cbiAgICAucGFuZWwtY29udGFpbmVyIC5wYW5lbCBsaS5yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjQjVDMUNCO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjRjlGOUY5O1xuICAgIH1cblxuICAgIHVsLmNwbGlzdCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5wYW5lbC1jb250YWluZXIgLnBhbmVsIGxpLmhlYWRlciBkZCwgLnBhbmVsLWNvbnRhaW5lciAucGFuZWwgbGkuaGVhZGVyIGR0IHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLnBhbmVsLWNvbnRhaW5lciB0YWJsZS50YWJsZTEgdGhlYWQgdGgge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgI2NwLW1haW4gLnBtLW1lc3NhZ2Uge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAvKiBDUCB0YWJiZWQgbWVudVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgICN0YWJzIC50YWIgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtaGVhZGVyLWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgIH1cblxuICAgICN0YWJzIC50YWIgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYmctZGFyaztcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgICN0YWJzIC5hY3RpdmV0YWIgPiBhLFxuICAgICN0YWJzIC5hY3RpdmV0YWIgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgI3RhYnMgLmFjdGl2ZXRhYiA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAvKiBNaW5pIHRhYmJlZCBtZW51IHVzZWQgaW4gTUNQXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgI21pbml0YWJzIC50YWIgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlnaHQtZ3JleTtcbiAgICB9XG5cbiAgICAjbWluaXRhYnMgLmFjdGl2ZXRhYiA+IGEsXG4gICAgI21pbml0YWJzIC5hY3RpdmV0YWIgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLyogUmVzcG9uc2l2ZSB0YWJzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgLnJlc3BvbnNpdmUtdGFiIC5yZXNwb25zaXZlLXRhYi1saW5rOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZS1ncmV5O1xuICAgIH1cblxuICAgIC5yZXNwb25zaXZlLXRhYiAucmVzcG9uc2l2ZS10YWItbGluazpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWJnLWRhcms7XG4gICAgfVxuXG4gICAgLyogVUNQIG5hdmlnYXRpb24gbWVudVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyogTGluayBzdHlsZXMgZm9yIHRoZSBzdWItc2VjdGlvbiBsaW5rcyAqL1xuICAgICNuYXZpZ2F0aW9uIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1ibHVlLWdyZXk7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZmlsdGVyOiBub25lO1xuICAgIH1cblxuICAgIC5ydGwgI25hdmlnYXRpb24gYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgI25hdmlnYXRpb24gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJnLWRhcms7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZmlsdGVyOiBub25lO1xuICAgIH1cblxuICAgICNuYXZpZ2F0aW9uICNhY3RpdmUtc3Vic2VjdGlvbiBhIHtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1iZy1kYXJrO1xuICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgI25hdmlnYXRpb24gI2FjdGl2ZS1zdWJzZWN0aW9uIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCksIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgI25hdmlnYXRpb24gYSwgLnJ0bCAjbmF2aWdhdGlvbiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFByZWZlcmVuY2VzIHBhbmUgbGF5b3V0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgLnBhbmVsLWNvbnRhaW5lciBoMiB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5wYW5lbC1jb250YWluZXIgLnBhbmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgICB9XG5cbiAgICAjY3AtbWFpbiAucG0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAvKiBGcmllbmRzIGxpc3QgKi9cbiAgICAuY3AtbWluaSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgZGwubWluaSBkdCB7XG4gICAgICAgIGNvbG9yOiAkYy1iZy1kYXJrO1xuICAgIH1cblxuICAgIC8qIFBNIFN0eWxlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIC8qIFBNIE1lc3NhZ2UgaGlzdG9yeSAqL1xuICAgIC5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBQTSBtYXJraW5nIGNvbG91cnMgKi9cbiAgICAucG1saXN0IGxpLnBtX21lc3NhZ2VfcmVwb3J0ZWRfY29sb3VyLCAucG1fbWVzc2FnZV9yZXBvcnRlZF9jb2xvdXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI0JDMkE0RDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjQkMyQTREO1xuICAgIH1cblxuICAgIC5wbWxpc3QgbGkucG1fbWFya2VkX2NvbG91ciwgLnBtX21hcmtlZF9jb2xvdXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXByaW1hcnlcbiAgICB9XG5cbiAgICAucG1saXN0IGxpLnBtX3JlcGxpZWRfY29sb3VyLCAucG1fcmVwbGllZF9jb2xvdXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWJvcmRlclxuICAgIH1cblxuICAgIC5wbWxpc3QgbGkucG1fZnJpZW5kX2NvbG91ciwgLnBtX2ZyaWVuZF9jb2xvdXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgLnBtbGlzdCBsaS5wbV9mb2VfY29sb3VyLCAucG1fZm9lX2NvbG91ciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtZXJyb3I7XG4gICAgfVxuXG4gICAgLyogQXZhdGFyIGdhbGxlcnkgKi9cbiAgICAjZ2FsbGVyeSBsYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICNDQ0M7XG4gICAgfVxuXG4gICAgI2dhbGxlcnkgbGFiZWw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodC1ncmV5O1xuICAgIH1cblxuICAgIC8qXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDb2xvdXJzIGFuZCBiYWNrZ3JvdW5kcyBmb3IgZm9ybXMuY3NzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEdlbmVyYWwgZm9ybSBzdHlsZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtaW5wdXQtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogJGMtYmctZGFyaztcbiAgICB9XG5cbiAgICBvcHRpb24uZGlzYWJsZWQtb3B0aW9uIHtcbiAgICAgICAgY29sb3I6ICRjLW1pZC1ncmV5O1xuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gbGlzdCBsYXlvdXQgZm9yIGZvcm1zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIGRkIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWlkO1xuICAgIH1cblxuICAgIGZpZWxkc2V0LmZpZWxkczEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciBlZmZlY3RzICovXG4gICAgZmllbGRzZXQgZGw6aG92ZXIgZHQgbGFiZWwge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICBmaWVsZHNldC5maWVsZHMyIGRsOmhvdmVyIGR0IGxhYmVsIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyogUXVpY2stbG9naW4gb24gaW5kZXggcGFnZSAqL1xuICAgIGZpZWxkc2V0LnF1aWNrLWxvZ2luIGlucHV0LmlucHV0Ym94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgLyogUG9zdGluZyBwYWdlIHN0eWxlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgI21lc3NhZ2UtYm94IHRleHRhcmVhIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgI21lc3NhZ2UtYm94IHRleHRhcmVhLmRyYWctbi1kcm9wIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjUpO1xuICAgIH1cblxuICAgICNtZXNzYWdlLWJveCB0ZXh0YXJlYS5kcmFnLW4tZHJvcC1oaWdobGlnaHQge1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAkYy1oZWFkZXItb3ZlcmxheTtcbiAgICB9XG5cbiAgICAvKiBJbnB1dCBmaWVsZCBzdHlsZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLmlucHV0Ym94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtaW5wdXQtYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAuaW5wdXRib3g6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5pbnB1dGJveDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5pbnB1dGJveDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIC5pbnB1dGJveDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtaW5wdXQtYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAuaW5wdXRib3g6Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuaW5wdXRib3g6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLyogRm9ybSBidXR0b24gc3R5bGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgYS5idXR0b24xLCBpbnB1dC5idXR0b24xLCBpbnB1dC5idXR0b24zLCBhLmJ1dHRvbjIsIGlucHV0LmJ1dHRvbjIge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgJi5idXR0b24xLCAmLmJ1dHRvbjIge1xuICAgICAgICAgICAgJjp2aXNpdGVkLCAmOmxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEuYnV0dG9uMSwgaW5wdXQuYnV0dG9uMSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQuYnV0dG9uMyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQWx0ZXJuYXRpdmUgYnV0dG9uICovXG4gICAgYS5idXR0b24yLCBpbnB1dC5idXR0b24yLCBpbnB1dC5idXR0b24zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxuICAgIH1cblxuICAgIC8qIDxhPiBidXR0b24gaW4gdGhlIHN0eWxlIG9mIHRoZSBmb3JtIGJ1dHRvbnMgKi9cbiAgICBhLmJ1dHRvbjEsIGEuYnV0dG9uMiB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciBzdGF0ZXMgKi9cbiAgICBhLmJ1dHRvbjE6aG92ZXIsIGlucHV0LmJ1dHRvbjE6aG92ZXIsIGEuYnV0dG9uMjpob3ZlciwgaW5wdXQuYnV0dG9uMjpob3ZlciwgaW5wdXQuYnV0dG9uMzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdi1ob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgIC8qIEZvY3VzIHN0YXRlcyAqL1xuICAgIGlucHV0LmJ1dHRvbjE6Zm9jdXMsIGlucHV0LmJ1dHRvbjI6Zm9jdXMsIGlucHV0LmJ1dHRvbjM6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXYtaG92ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYy1oZWFkZXItbGlnaHQ7XG4gICAgfVxuXG4gICAgaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9pY29uX3RleHRib3hfc2VhcmNoLmdpZlwiKTtcbiAgICB9XG5cbiAgICBpbnB1dC5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICB9XG5cbiAgICAvKiBqUXVlcnkgcG9wdXBzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC5waHBiYl9hbGVydCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gICAgfVxuICAgIC5waHBiYl9hbGVydCAuYWxlcnRfY2xvc2Uge1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2VzL2FsZXJ0X2Nsb3NlLnBuZ1wiKTtcbiAgICB9XG4gICAgI2RhcmtlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgI2xvYWRpbmdfaW5kaWNhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGV4dDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2ltYWdlcy9sb2FkaW5nLmdpZlwiKTtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tZXh0ZW5kZWQgdWwgbGkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjQjlCOUI5O1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1leHRlbmRlZCB1bCBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0LWdyZXk7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1leHRlbmRlZCAuaGVhZGVyLCAuZHJvcGRvd24tZXh0ZW5kZWQgLmZvb3RlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0I5QjlCOTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWV4dGVuZGVkIC5mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1leHRlbmRlZCAuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtaGVhZGVyLWxpZ2h0XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duIC5wb2ludGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKSB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24gLnBvaW50ZXItaW5uZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXdoaXRlIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1leHRlbmRlZCAucG9pbnRlci1pbm5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgdWwubGlua2xpc3QgbGkucmVzcG9uc2l2ZS1tZW51IGEucmVzcG9uc2l2ZS1tZW51LWxpbms6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1iZy1kYXJrXG4gICAgfVxuXG4gICAgdWwubGlua2xpc3QgbGkucmVzcG9uc2l2ZS1tZW51IGEucmVzcG9uc2l2ZS1tZW51LWxpbms6aG92ZXI6YmVmb3JlLCB1bC5saW5rbGlzdCBsaS5yZXNwb25zaXZlLW1lbnUudmlzaWJsZSBhLnJlc3BvbnNpdmUtbWVudS1saW5rOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VhN2MyNjtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24gLmRyb3Bkb3duLWNvbnRlbnRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2I5YjliOTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi11cCAuZHJvcGRvd24tY29udGVudHMge1xuICAgICAgICBib3gtc2hhZG93OiAxcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duIGxpLCAuZHJvcGRvd24gbGkgbGkge1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQ0RDREM7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duIGxpLnNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0RDRENEQztcbiAgICB9XG5cbiAgICAvKiBOb3RpZmljYXRpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLm5vdGlmaWNhdGlvbl9saXN0IHAubm90aWZpY2F0aW9uLXRpbWUge1xuICAgICAgICBjb2xvcjogJGMtYmctZGFyaztcbiAgICB9XG5cbiAgICBsaS5ub3RpZmljYXRpb24tcmVwb3J0ZWQgc3Ryb25nLCBsaS5ub3RpZmljYXRpb24tZGlzYXBwcm92ZWQgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRjLWVycm9yO1xuICAgIH1cblxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiNoZWFkZXIge1xuICAgIC5pbnNpZGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1lbGVtZW50cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE2cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29udGVudC9oZWFkZXItcjRmLmpwZ1wiKSBuby1yZXBlYXQgMCAwIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDhweCBzb2xpZCAkYy13aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICB3aWR0aDogNTIlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTQsMTE0LDAsMC43KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoLTI3ZGVnKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSByaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbGFpbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSl7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDklO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgLy9mb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC4zcmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIwcmVtO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmxvZ28tdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdzdGFzbWljcmVndWxhcicsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICRjLWhlYWRlcjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zMnJlbTtcbiAgICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb2JpbGUgTWVudSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuI21vYmlsZS1idXR0b24ge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6JGMtcHJpbWFyeTtcbn1cblxuI21lbnUtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA5OTtcbn1cbiNtZW51LWJ1dHRvbiB7XG5cbiAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjp2aXNpdGVkLCAmOmhvdmVyIHtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG5cbiNob3Rkb2ctMSwgI2hvdGRvZy0yLCAjaG90ZG9nLTMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAvKiBwcmVwYXJlIGZvciBhbmltYXRpb24gKi9cbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4ycyBsaW5lYXIpXG59XG4jaG90ZG9nLTEge1xuICAgIHRvcDogMC40cmVtOyBsZWZ0OiAwO1xufVxuI2hvdGRvZy0yIHtcbiAgICB0b3A6IDFyZW07IGxlZnQ6IDA7XG59XG4jaG90ZG9nLTMge1xuICAgIGJvdHRvbTogMC44cmVtOyBsZWZ0OiAwO1xufVxuXG4jaG90ZG9nLTEuaG90ZG9nLmFycm93IHtcbiAgICB0b3A6IDFyZW07XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4jaG90ZG9nLTIuaG90ZG9nLmFycm93IHtcbiAgICBvcGFjaXR5OiAwO1xufVxuI2hvdGRvZy0zLmhvdGRvZy5hcnJvdyB7XG4gICAgYm90dG9tOiAxLjRyZW07XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcGFnZSBvdmVybGF5IChtb2JpbGUpXG5cbi5wYWdlLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdGFydCAvIEhvbWUgcGFnZSB3aXRoIG5ld3MgbW9kdWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhvbWUge1xuICAgIC5sYXlvdXRfbGF0ZXN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwIDNyZW0gMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW07XG4gICAgfVxuXG4gICAgLmluZm8ge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJnLWRhcms7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtYmctZGFyaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoLTE1ZGVnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYXRlc3QtY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLy9tYXJnaW4tbGVmdDogMjEuNXJlbTsgLy9zdHlsaW5nIHVzZWQgd2l0aCBubyBsZWZ0IHNpZGViYXJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcblxuICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCkge1xuXG4gICAgICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubGF0ZXN0LWNvbnRlbnQtd3JhcHBlci53aWRlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG5cbiAgICAgICAgICAgIGgxLCBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSwgaDIge1xuICAgICAgICBjb2xvcjogJGMtYmctZGFyaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgICYsICY6bGluaywgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmctZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RfbmV3c2xpc3Qge1xuICAgICAgICAuZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWRlLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhMmEyYTI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGF7XG4gICAgICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9hcnJvdy1kb3duLXdoaXRlLnBuZ1wiKSAxMDAlIDUwJSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDMuMnJlbTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGVudCBFbGVtZW50c1xuLy8gQ29udGFvIENvbnRlbnQgRWxlbWVudHMgYW5kIGN1c3RvbWlzZWQgY29udGVudCBlbGVtZW50c1xuLy8gZWcgbW9kX2FydGljbGUsIGNlX3RleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQXJ0aWNsZXNcblxuLm1vZF9hcnRpY2xlIHtcblxuICAgICYuZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJnLWRhcms7XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uY2VfdGV4dCwgLmNlX3RhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgfmgzLCB+aDQsIH5oNSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgaDQsaDUsaDYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG5cbiAgICBhIHtcbiAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdlIEludHJvIC0gcGFnZSBoZWFkZXIgd2l0aCBzdWJ0ZXh0XG5cbi5wYWdlLWludHJvIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1iZy1kYXJrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAldGl0bGUtdGFiO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWdyZXk7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIGF1dG8gMnJlbSAtM3JlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICYsICY6bGluayAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgze1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmLCAmOmxpbmsgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bGFyZ2UpIHtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgY29sb3I6ICRjLWhlYWRlci1saWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDI2cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MDApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFnZSBUaXRsZSAtIHNpbXBsZSBwYWdlIGhlYWRlclxuXG4ucGFnZS10aXRsZSB7XG4gICAgJi5kYXJrIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtYmx1ZS1ncmV5O1xuICAgICAgICAgICAgcGFkZGluZzogMCAzcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtYmx1ZS1ncmV5O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoLTE1ZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNlX2h5cGVybGlua1xuXG4ud2lkZS1saW5rIHtcbiAgICBAZXh0ZW5kICV3aWRlLWxpbms7XG59XG5cbi5idXR0b24ge1xuICAgIEBleHRlbmQgJWJ1dHRvbjtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xuICAgIH1cblxuICAgICYuYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgICAgIEBleHRlbmQgJWJ1dHRvbi1zZWNvbmRhcnk7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG59XG5cbi5mbGF0LWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBjb2xvcjogJGMtdGV4dC1taWQgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMi44cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAuMmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy13aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctYnV0dG9uLWxpZ2h0LWdyZXk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2Utb3V0O1xuXG4gICAgJi0tZ3JlZW4ge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0EyQ0E2RjtcbiAgICB9XG5cbiAgICAmLS10cmFuc3BhcmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYtLWdyZXkge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGV2ZWwzLWJnO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtaGVhZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGN1c3RvbSBuYXZpZ2F0aW9uIC0gSW4gUGFnZSBTdWIgTmF2aWdhdGlvblxuXG4uaW4tcGFnZS1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDJyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgICAgJiwgJjpsaW5rLCAmLnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNSc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jZV90ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2lkZWJhci13aWRnZXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR29vZ2xlIEFkc2Vuc2VcblxuLmNlX3RleHQuZ2EtYWRzZW5zZSB7XG4gICAgcGFkZGluZzogMS41cmVtICAzcmVtO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlc3BvbnNpdmUgKGJvb3RzdHJhcCkgdGFibGUgaW4gdGV4dCBlbGVtZW50XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkgIHtcblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgID4udGFibGUge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICA+dGJvZHkge1xuICAgICAgICAgICAgICAgID50ciB7XG4gICAgICAgICAgICAgICAgICAgID50ZCwgPnRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+dGZvb3Qge1xuICAgICAgICAgICAgICAgID50ciB7XG4gICAgICAgICAgICAgICAgICAgID50ZCwgPnRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+dGhlYWQge1xuICAgICAgICAgICAgICAgID50ciB7XG4gICAgICAgICAgICAgICAgICAgID50ZCwgPnRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmFuZG9tIEJhbm5lcnMgKFBhcnRuZXJiYW5uZXIvS3VuZGVuYmFubmVyL1Nwb25zb3Jlbilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYmFubmVyX3dpZGdldCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYy1iZy1zaWRlYmFyLWdyZXk7XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIH1cbn1cbi5yYW5kb21fYmFubmVyIHtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG59XG4ucmFuZG9tX2Jhbm5lcl9jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgJi5yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIC5pbWFnZV9jb250YWluZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRjLWhlYWRlci1saWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3RpdmVJbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5zbWFsbC1vbmx5IHtcbiAgICAucmFuZG9tX2Jhbm5lcl9jb250YWluZXIge1xuICAgICAgICBtaW4td2lkdGg6IDc0cHg7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEN1c3RvbSBMYXlvdXQgU2VjdGlvbnMgKEZvcnVtIGxheW91dClcblxuLndyYXBwZXItY3VzdG9tLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogJHRyaW0gYXV0bztcblxuICAgIC5yYW5kb21fYmFubmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgfVxuICAgIC5yYW5kb21fYmFubmVyX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxOSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMiU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZV9jb250YWluZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgICYuYWN0aXZlSW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIC5pbWFnZV9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NiU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4zJTtcbiAgICAgICAgICAgIGhlaWdodDogN3JlbTtcblxuICAgICAgICAgICAgLmltYWdlX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG4rNSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2V3ZXJiZXRyZWliZW5kZSBCYW5uZXIgKFJhbmRvbSBCYW5uZXIgTW9kdWxlKVxuXG4jbWFpbiB7XG4gICAgLmJhbm5lcl93aWRnZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcblxuICAgICAgICAuY2xhc3NpZmllZC1kZXRhaWxzLXNpdGUgJiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJiB+IC5iYW5uZXJfd2lkZ2V0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmFubmVyLWhlYWRsaW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzZweDtcblxuICAgIC5jbGFzc2lmaWVkLWRldGFpbHMtc2l0ZSAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmdld2VyYmViYW5uZXIge1xuICAgICYubGFuZHNjYXBlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIC5jbGFzc2lmaWVkLWRldGFpbHMtc2l0ZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZG9tX2Jhbm5lcl9jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE5JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMiU7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDZyZW07XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIC5pbWFnZV9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgICAgIC5pbWFnZV9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgICAgICAucmFuZG9tX2Jhbm5lcl9jb250YWluZXIge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsYXNzaWZpZWQtZGV0YWlscy1zaXRlICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIC5yYW5kb21fYmFubmVyX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMyU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChuKzUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNi4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgICAgICAgICAucmFuZG9tX2Jhbm5lcl9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHZXdlcmJldHJlaWJlbmRlIEJhbm5lciAoQ29udGVudCBFbGVtZW50KVxuXG4uZ2V3ZXJiZS1iYW5uZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIC5jZV9pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSkge1xuICAgICAgICAuY2VfaW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBnZW5lcmFsIHN0eWxpbmcgZm9yIGxpc3Qgdmlld3Ncbi8vIGVnLiBmb3IgbW9kdWxlcyByYWNldHJhY2tzLCBldmVudHMsIGNsYXNzaWZpZWRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gbGlzdHNcbi5saXN0LXdyYXBwZXIge1xuXG4gICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmLCAmOnZpc2l0ZWQsICY6bGluayB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4uZmlsdGVyLW1lbnUsIC5wYWdpbmF0aW9uX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5jdXJyZW50X3ZpZGVvcyB7XG4gICAgLnBhZ2luYXRpb25fd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAtMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgfVxufVxuXG4uZmlsdGVyLW1lbnUge1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtIDEuNXJlbTtcbn1cblxuLnBhZ2luYXRpb25fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG5cbiAgICBwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgfVxufVxuXG4ubGlzdF9pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcblxuICAgICYudmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExcmVtO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMS41cmVtO1xuICAgIH1cblxuICAgICYubGFwdGltZSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0X2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogJGMtbGlzdC1sYWJlbDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLmxpc3RfaW5mbyB7XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgIH1cblxuICAgICAgICAuZmEge1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuM3MgZWFzZSk7XG5cbiAgICAgICAgICAgICYuc3VjY2VzcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA2MjA5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1lcnJvcjtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4ZTAwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hbWJlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFtYmVyO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmYzYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZhLXBlbmNpbC1zcXVhcmUtbyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZmEtdHJhc2gge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZXJyb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mYS1pbmZvLWNpcmNsZSwgLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGV4dC1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuXG4uZGV0YWlsc19saXN0X3ZpZXcge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay10ZXh0O1xuICAgIG1hcmdpbjogMHJlbSAtMS41cmVtIDAgLTEuNXJlbTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIC5yb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtO1xuXG4gICAgICAgICYuZmlyc3QsICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW1hZ2VfdmlldyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZXRhaWxzXG5cbi5kZXRhaWxzX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG4gICAgJi5kZXRhaWxzX2Zvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1iZy1saWdodC1ncmV5O1xuICAgIH1cblxuICAgICYuZ3JleS1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWxpZ2h0LWdyZXk7XG4gICAgfVxufVxuXG4uY29udGVudF9ib3gge1xuICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgIHBhZGRpbmc6IDNyZW0gMS41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLm9mZnNldC10b3AtZ2FwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVHJhY2tzXG5cbi50cmFja19saXN0IHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cblxuLnRyYWNrX2luZm9zIHtcblxuICAgIGgyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdvb2dsZW1hcHMge1xuICAgIGEge1xuICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICB9XG59XG5cbiNtYXBfY2FudmFzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDUwJTtcbn1cblxuLmNvbW1lbnQtdGV4dCB7IC8vIHRvcHRlblxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi50cmFjay10aHVtYm5haWwsIC5vcmdhbmlzZXItdGh1bWJuYWlsIHtcbiAgICBtaW4taGVpZ2h0OiA3cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3cmVtO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuLm9yZ2FuaXNlci10aHVtYm5haWwge1xuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogOHJlbVxuICAgIH1cbn1cblxuLmNvdW50cnkge1xuICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udHJhY2sge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgIC5saXN0X2luZm8ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZpZGVvc1xuLmRldGFpbHMsIC5yYXRpbmcge1xuICAgIGltZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgfVxufVxuXG4udmlkZW9fZGVzY3JpcHRpb24sIC5xdWFydGVyX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbn1cblxuLnZpZGVvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uYWN0aW9uLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6JGMtaGVhZGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuXG4gICAgaDIge1xuICAgICAgICBAZXh0ZW5kICV0aXRsZS10YWI7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYmx1ZS1ncmV5O1xuICAgICAgICBtYXJnaW46IDEuNXJlbSBhdXRvIDJyZW0gLTEuNXJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJiwgJjpsaW5rLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctdHJhbnMtZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkYy1oZWFkZXItbGlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjcmVhdGVFZGl0X3ZpZGVvIHtcbiAgICAub3B0aW9uX2NvbnRhaW5lcjpudGgtY2hpbGQoMyksIC5vcHRpb25fY29udGFpbmVyOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAudmlkZW8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5saXN0X2xhYmVsLFxuICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRyYWNrIFZpZGVvc1xuLmN1cnJlbnRfdmlkZW9zIHtcblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAuY3VycmVudF92aWRlb3Mge1xuXG4gICAgICAgIC5saXN0X2xhYmVsLFxuICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0X2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZXRhaWxzICAoY2xhc3NpZmllZHMsIGFjY29tb2RhdGlvbi9xdWFydGVycylcbi5kZXRhaWwtd3JhcHBlciB7XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgfVxuXG5cbiAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIGF1dG8gMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFjayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29tb2RhdGlvbi9RdWFydGVyc1xuXG4ucXVhcnRlcl9jb250ZW50IHtcbiAgICAucm93LmltYWdlX3ZpZXcge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbn1cblxuI2Zvcm1fcXVhcnRlcl9yYXRpbmcge1xuICAgIGxlZ2VuZCB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yYWRpb19jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5xdWFydGVyX2RldGFpbCB7XG4gICAgaDIge1xuICAgICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi5xdWFydGVyIHtcbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgLnF1YXJ0ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5saXN0X2xhYmVsLFxuICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgICAgICAgLmxpc3RfaW5mbyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZhZGUgaW4gRGVzY3JpcHRpb25zXG4uZGVzY3JpcHRpb24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4Myw4Myw4MywwLjgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6ICAwIDNweCAxcHggLTJweCByZ2JhKDAsMCwwLC4xNCksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMDk4KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4wODQpOztcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDtcbiAgICByaWdodDogMTVweDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4yNXMgZWFzZS1pbiwgei1pbmRleCAuMjVzIGVhc2UpO1xuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI5MHB4O1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgIH1cbn1cblxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEV2ZW50c1xuXG4ucmFjZUFwcG9pbnRtZW50IHtcbiAgICAkbWF4LXdpZHRoLWxvZ286IDEycmVtO1xuICAgICRidXR0b24td2lkdGg6IDE1cmVtO1xuXG4gICAgJi5saXN0X2l0ZW0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy1zIDAgJHNwYWNpbmctcztcblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsYXQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICYtYW5nbGUtcmlnaHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy14cztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWluZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bCAhaW1wb3J0YW50OyAvLyBEZXNpZ24gZGVmaW5lZFxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDokc3BhY2luZy14cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi11c2VycyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiRzcGFjaW5nLXhzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ3JlZW4ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy14eHM7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXctbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAucGFydGljaXBhbnRzLWNvdW50ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy1zO1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJnLWxpZ2h0ZXItZ3JleTtcbiAgICAgICAgbWluLWhlaWdodDogJHNwYWNpbmctbTtcblxuICAgICAgICAub3JnYW5pemVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2luZy1tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNob3J0aW5mb3Mge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRsaW5lLWNvbnRlbnQtcmlnaHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JHNwYWNpbmctc30pO1xuICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6JHNwYWNpbmcteHMgMCAkc3BhY2luZy14cyAkc3BhY2luZy1zO1xuXG4gICAgICAgIC5saXN0X2xhYmVsLFxuICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmcteHM7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2VzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aC1sb2dvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRldGFpbHMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5kYXRlLFxuICAgICAgICAgICAgLnRyYWNrIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTc1cHg7IC8vIGJyZWFrIG9uIHNjcmVlbiByZXNpemVcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJ1dHRvbnMge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSArICN7JHNwYWNpbmctc30vMik7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIC5mbGF0LWJ1dHRvbi0tdHJhbnNwYXJlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gc3RvcHMgd3JhcHBpbmcgb24gc21hbGxlc3QgdmlldyAoaXBob25lIDUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFydGljaXBhbnRzLWNvdW50ZXIge1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cyBlYXNlLW91dDtcblxuICAgICAgICAmLmlzLWVtcHR5IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5kZXRhaWxzX2xpc3RfdmlldyB7XG4gICAgICAgIC5vcHRpb24ge1xuICAgICAgICAgICAgLmxhc3Qge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hdmFpbGFibGUge1xuICAgICAgICAgICAgICAgIC5sYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9maWxlcy9yNGZfcmVsYXVuY2hfMjAxNi9pbWFnZXMvaWNvbnMvY2hlY2ttYXJrLnBuZ1wiKSAkc3BhY2luZy1zIDUwJSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxLjZyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICAubGFzdCB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hdmFpbGFibGUge1xuICAgICAgICAgICAgICAgIC5sYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtc3VjY2VzcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFydGljaXBhbnRzLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFjayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzO1xuXG4gICAgICAgIC5saXN0X2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICB0b3A6IDk3JTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFydGljaXBhbnRzIExpc3RcbiAgICAucGFydGljaXBhbnRzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOTclO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgzLCA4MywgODMsIDAuOSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmctcztcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0sIG1pbikge1xuICAgICAgICAmX19oZWFkbGluZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5vcmdhbml6ZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGxpbmUtY29udGVudC1yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgYTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnV0dG9uLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGF0LWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1dHRvbi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmctcztcblxuICAgICAgICAgICAgJi0tbG9nbyxcbiAgICAgICAgICAgICYtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbWF4LXdpZHRoLWxvZ299IC0gKCN7JGJ1dHRvbi13aWR0aH0gKiAyKSAtICN7JHNwYWNpbmctc30pO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGJ1dHRvbi13aWR0aCAqIDIgKyAkc3BhY2luZy1zO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctcztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRidXR0b24td2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRyYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5saXN0X2xhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtbGlzdC1sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdCB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGFydGljaXBhbnRzLXdyYXBwZXIge1xuICAgICAgICAgICAgdG9wOiAzcmVtO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGV0YWlsc19jb250ZW50IHtcbiAgICAgICAgICAgIC5wYXJ0aWNpcGFudF9fdXNlcm5hbWUge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTZyZW07IC8vIEFkZCBtaW4td2lkdGggZm9yIGJldHRlciBjb250ZW50IGFsaWduXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBcHBvaW50bWVudHNcblxuLmFwcG9pbnRtZW50cywgLmxhcHRpbWVze1xuICAgICYuZGV0YWlsc19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgLmZpbHRlci1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXMgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYWNlQXBwb2ludG1lbnQucm93LCAubGFwdGltZS5yb3csIC5sYXB0aW1lQXBwb2ludG1lbnQucm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRldGFpbHMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5saXN0X2luZm8ge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBpLmZhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgfiAuc2hvcnRpbmZvcyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcmlnaHQ6IDNyZW1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCkge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0X2xhYmVsLnNob3J0aW5mb3Mge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBpLmZhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgfiAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uZWRpdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3R0b206IDAuNXJlbTtcbiAgICByaWdodDogJHNwYWNpbmctcztcblxuICAgIC5saXN0X2luZm8ge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxufVxuXG4ubGFwdGltZSB7XG4gICAgLnRyYWNrX19uYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbW1lbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5saXN0X2luZm8ge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy14eHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgIC5sYXB0aW1lIHtcblxuICAgICAgICAubGlzdF9pbmZvLFxuICAgICAgICAubGlzdF9sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAudHJhY2tfX25hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy14eHM7XG4gICAgICAgIH1cblxuICAgICAgICAudHJhY2ssXG4gICAgICAgIC5waWxvdCxcbiAgICAgICAgLnRpbWUsXG4gICAgICAgIC5iaWtlLFxuICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICBtYXJnaW46IC4xcmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zO1xuXG4gICAgICAgICAgICAubGlzdF9pbmZvLFxuICAgICAgICAgICAgLmxpc3RfbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2xhc3NpZmllZHMgUGFnZSAoS2xlaW5hbnplaWdlbilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbGFzc2lmaWVkc19tYW5hZ2VtZW50X2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDokYy1oZWFkZXI7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAldGl0bGUtdGFiO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJsdWUtZ3JleTtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gYXV0byAycmVtIDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1ibHVlLWdyZXk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsYXNzaWZpZWRzX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmctdHJhbnMtZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBjb2xvcjogJGMtaGVhZGVyLWxpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCl7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExpc3Rcbi5jbGFzc2lmaWVkc19saXN0IHtcblxuICAgIC5pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAubGlzdF9pdGVtIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSwgLmF1dGhvciB7XG4gICAgICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9pdGVtX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgbWFyZ2luOiAtMTVweCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5oaWdobGlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTNjZTtcblxuICAgICAgICAgICAgLmxpc3RfbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY2MjUyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZF9jb3VudCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5hdXRob3IsXG4gICAgLmRhdGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgLmxpc3RfbGFiZWwsXG4gICAgICAgIC5saXN0X2luZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUge1xuICAgICAgICAubGlzdF9pbmZvIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIC5saXN0X2xhYmVsIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb3JuZXItcmliYm9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1wcmltYXJ5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcbiAgICAuY2xhc3NpZmllZHNfbGlzdCB7XG4gICAgICAgIC5saXN0X2l0ZW0ge1xuICAgICAgICAgICAgLmxpc3RfaXRlbV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTVweDtcblxuICAgIGEge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyLjJyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2xhc3NpZmllZHNfZGV0YWlscyB7XG4gICAgaDIge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDNyZW0gMDtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICB9XG5cbiAgICAuZmItbGlrZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIH1cbn1cblxuLmNsYXNzaWZpZWRzX25ld2VzdCB7XG4gICAgLml0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFZGl0XG5cbi5yYWRpb19jb250YWluZXIge1xuICAgIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTbGlkZXIgb3IgZGV0YWlsIHBhZ2VcbiRjbGFzc2lmaWVkLWhlaWdodC1sYXJnZTogNTMwcHg7XG4kY2xhc3NpZmllZC1oZWlnaHQtbWVkaXVtOiAzNDBweDtcbiRjbGFzc2lmaWVkLWhlaWdodC1zbWFsbDogMjgwcHg7XG4kY2xhc3NpZmllZC10aHVtYi1sYXJnZTogNjBweDtcbiRjbGFzc2lmaWVkLXRodW1iLXNtYWxsOiA1MHB4O1xuJGNsYXNzaWZpZWQtaWNvbi1zaXplOiA0NXB4O1xuJGNsYXNzaWZpZWQtaWNvbi1mcm9tLXRvcDogNTVweDtcblxuLypcbiAgICBOT1RFOiAhaW1wb3J0YW50cyBhcmUgdXNlZCB0byBvdmVyd3JpdGUgaW5saW5lIG9yIGRlZmF1bHQgc3R5bGVzIGZyb20gc2xpZGVyIGxpYnJhcnlcbiovXG5cbi5jbGFzc2lmaWVkcy1nYWxsZXJ5IHtcbiAgICAuaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzO1xuICAgICAgICBoZWlnaHQ6ICRjbGFzc2lmaWVkLWhlaWdodC1sYXJnZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ib3JkZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUaHVtYiBwYWdlclxuLmxTUGFnZXIge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXMgIWltcG9ydGFudDtcblxuICAgIGxpIHtcbiAgICAgICAgd2lkdGg6ICRjbGFzc2lmaWVkLXRodW1iLWxhcmdlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJGNsYXNzaWZpZWQtdGh1bWItbGFyZ2U7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcGFkZGluZzogNXB4IDFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXhzICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTbGlkZXIgQ29udHJvbHNcbi5sU0FjdGlvbiB7XG4gICAgLmxTUHJldixcbiAgICAubFNOZXh0IHtcbiAgICAgICAgd2lkdGg6ICRjbGFzc2lmaWVkLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkY2xhc3NpZmllZC1pY29uLXNpemU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYm9yZGVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gQWRkIGFkZGl0aW9uYWwgc3BhY2UgZm9yIGNsaWNrLCBub3QganVzdCBvbiBpY29uXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC0yLjhyZW07XG4gICAgICAgICAgICBsZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1pY29uO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxTUHJldiB7XG4gICAgICAgIGxlZnQ6ICRzcGFjaW5nLWRlZmF1bHQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sU05leHQge1xuICAgICAgICByaWdodDogJHNwYWNpbmctZGVmYXVsdCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTWFnbmlmaWVyIEljb24gU3R5bGVzXG4uaW1hZ2Utem9vbSB7XG4gICAgbGVmdDogMy41cmVtOyAvLyBkdWUgcG9zaXRpb24gYWJzb2x1dGVcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYm9yZGVyO1xuICAgIHdpZHRoOiAkY2xhc3NpZmllZC1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkY2xhc3NpZmllZC1pY29uLXNpemU7XG4gICAgdG9wOiAoJGNsYXNzaWZpZWQtaGVpZ2h0LWxhcmdlIC8gMikgKyAkY2xhc3NpZmllZC1pY29uLWZyb20tdG9wO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblxuICAgICY6aG92ZXIsXG4gICAgJi5oYXMtaG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IC8vIERlc2lnbiBEZWZpbmVkXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY2xhc3NpZmllZC1pY29uLXNpemU7XG4gICAgfVxufVxuXG4vLyBSZXNwb25zaXZlIHN0eWxlc1xuQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgLmNsYXNzaWZpZWRzLWdhbGxlcnkge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjbGFzc2lmaWVkLWhlaWdodC1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubFNQYWdlciB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkY2xhc3NpZmllZC10aHVtYi1zbWFsbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAkY2xhc3NpZmllZC10aHVtYi1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS16b29tIHtcbiAgICAgICAgdG9wOiAoJGNsYXNzaWZpZWQtaGVpZ2h0LW1lZGl1bSAvIDIpICsgJGNsYXNzaWZpZWQtaWNvbi1mcm9tLXRvcDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKSB7XG4gICAgLmNsYXNzaWZpZWRzLWdhbGxlcnkge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjbGFzc2lmaWVkLWhlaWdodC1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS16b29tIHtcbiAgICAgICAgdG9wOiAoJGNsYXNzaWZpZWQtaGVpZ2h0LXNtYWxsIC8gMikgKyAkY2xhc3NpZmllZC1pY29uLWZyb20tdG9wO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTmV3ZXN0IGxpc3RzIC0gQ2xhc3NpZmllZHMsIEFwcG9pbnRtZW50cy5cbi8vIHRlYXNlciBib3hlcyBmb3IgbGFuZGluZyBwYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOZXdlc3QgQWQgLSBzdGFydCBwYWdlIG1vZHVsZVxuXG4uY2xhc3NpZmllZHNfbmV3ZXN0LCAucmFjZUFwcG9pbnRtZW50X25ld2VzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRyaW07XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSwgbWluKSB7XG4gICAgICAgICNsZWZ0ICYsICNyaWdodCAmIHtcbiAgICAgICAgICAgICYuY29sLXNtLTYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWhlYWRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjlyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmFjZUFwcG9pbnRtZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHNfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICNsZWZ0ICYsICNyaWdodCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0cmltO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1saWdodC1ncmV5O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3I0Zi1sb2dvLnBuZ1wiKSAwIDAgbm8tcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhY2VBcHBvaW50bWVudCwgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LW1pZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnNob3J0LWluZm8ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuLmNsYXNzaWZpZWRzX25ld2VzdCB7XG5cbiAgICAuaW1hZ2VfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTMxcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yYWNlQXBwb2ludG1lbnRfbmV3ZXN0IHtcblxuICAgIC5ncmV5LWJnIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xheW91dC9jYWxlbmRhci5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1LjVyZW0gYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN0YXJ0IC8gTGF0ZXN0IGZvcm0gcG9zdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubW9kX3I0Zl9uZXdwb3N0cyB7XG4gICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgcGFkZGluZzogMS41cmVtIDAgMDtcblxuICAgIGgxLCBoMiwgaDMsIGg0ICB7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG59XG5cbi5wb3N0IHtcbiAgICBwYWRkaW5nOiAycmVtIDNyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXRleHQ7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG5cbiAgICAmOm50aC1jaGlsZChldmVuKXtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYmctc2lkZWJhci1ncmV5O1xuICAgIH1cblxuICAgIC5ieSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgfVxuXG4gICAgLnRvcGljIHtcblxuICAgICAgICAmX19hY3Rpdml0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stdGV4dDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIH1cblxuXG4gICAgLmxhc3QtcG9zdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnRlYXNlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICAwLjVyZW07XG5cbiAgICAgICAgJl9fbWV0YSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbl90b3BpY19uZXdlc3Qge1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjExZCc7XG4gICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1pY29uO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb25fdG9waWNfbGF0ZXN0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWljb247XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDhlXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tbW9uIERlZmluaXRpb25zXG4vLyBBbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlbWUgd2hpY2ggaXMgbm90IHBhcnQgb2YgbGF5b3V0IG9yIG1vZHVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGhlYWRlcnNcbmgxLGgyLGgzLGg0LGg1LGg2IHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICBmb250LXdlaWdodDogJGYtdy1ub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbn1cbmgyIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbn1cbmgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmg0IHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbn1cbmg1LCBoNiB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gdGV4dFxuXG5wIHtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5wLCBsaSwgdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay10ZXh0O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAkYy10ZXh0O1xufVxuXG5hIHtcbiAgICAmLCAmOmxpbmssICY6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzKVxuICAgIH1cblxuICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gICAgfVxuXG4gICAgJi5iYWNrIHtcbiAgICAgICAgQGV4dGVuZCAlYnV0dG9uO1xuXG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVzL3I0Zl9yZWxhdW5jaF8yMDE2L2ltYWdlcy9pY29ucy9hcnJvdy1sZWZ0LXdoaXRlLnBuZ1wiKSAxcmVtIDUwJSBuby1yZXBlYXQgJGMtcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiA1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xuXG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGhlbHBlcnNcblxuLm1iLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm10LTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnBiLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuLmZhIHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2staWNvbjtcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFHQUEsbUZBQW1GO0FBSW5GLFVBQVU7RUFDTixXQUFXLEVBQUUsZ0JBQWdCO0VBQzdCLEdBQUcsRUFBRSxvQ0FBb0M7RUFDekMsR0FBRyxFQUFFLDJDQUEyQyxDQUFDLDJCQUEyQixFQUN2RSxzQ0FBc0MsQ0FBQyxlQUFlLEVBQ3RELHFDQUFxQyxDQUFDLGNBQWMsRUFDcEQsb0NBQW9DLENBQUMsa0JBQWtCLEVBQ3ZELG1EQUFtRCxDQUFDLGFBQWE7RUFDdEUsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0F5RnFDdEIsQVIxQ0EsS1EwQ0ssQUFrQkgsT0FBVSxFQWxCTCxBUjFDUCxRUTBDZSxBQWtCYixPQUFVLEVBbEJLLEFSMUNqQixNUTBDdUIsQUFrQnJCLE9BQVUsRUErRFosQVIzSEEsTVEySE0sQUFFRixPQUFRLEVNb0RaLEFkakxBLE9jaUxPLEVFa0lQLEFoQm5UQSxlZ0JtVGUsQ0FxQlgsY0FBYyxDQUdWLENBQUMsRUF4QlQsQWhCblRBLGVnQm1UZSxDQXFCWCxjQUFjLENBR1YsQ0FBQyxBQUNNLEtBQU0sRUF6QnJCLEFoQm5UQSxlZ0JtVGUsQ0FxQlgsY0FBYyxDQUdWLENBQUMsQUFDYyxRQUFTLEVFL1VoQyxBbEJHQSxpQ2tCSGlDLENBd0I3QixvQkFBb0IsQ0FJaEIsQ0FBQyxFR1lULEFyQnJDQSxDcUJxQ0MsQUFZRyxLQUFNLENyQmpERjtFQUNKLE9BQU8sRUFBRSxNQUFNO0VBQ2YsZ0JBQWdCLEVsRjREUixPQUFPO0VrRjNEZixLQUFLLEVsRjZEQyxPQUFPO0VrRjVEYixjQUFjLEVBQUUsU0FBUztFQUN6QixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVsRlNBLFFBQVEsRUFBRSxVQUFVO0VrRlIvQixXQUFXLEVsRmlDRixHQUFHO0VrRmhDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGFBQWEsRUFBRSxDQUFDO0VWZ0JaLGtCQUFvQixFVWZKLGdCQUFnQixDQUFDLElBQUc7RVZtQnBDLGVBQWlCLEVVbkJELGdCQUFnQixDQUFDLElBQUc7RVYrQnBDLFVBQVksRVUvQkksZ0JBQWdCLENBQUMsSUFBRyxHQVczQztFUW1CRCxBUjFDQSxLUTBDSyxBQWtCSCxPQUFVLEFSOUNSLEtBQU0sRVE0QkgsQVIxQ1AsUVEwQ2UsQUFrQmIsT0FBVSxBUjlDUixLQUFNLEVRNEJPLEFSMUNqQixNUTBDdUIsQUFrQnJCLE9BQVUsQVI5Q1IsS0FBTSxFUTZHVixBUjNIQSxNUTJITSxBQUVGLE9BQVEsQVIvR1IsS0FBTSxFY21LVixBZGpMQSxPY2lMTyxBZG5LSCxLQUFNLEVnQnFTVixBaEJuVEEsZWdCbVRlLENBcUJYLGNBQWMsQ0FHVixDQUFDLEFoQjdUTCxLQUFNLEVrQmpCVixBbEJHQSxpQ2tCSGlDLENBd0I3QixvQkFBb0IsQ0FJaEIsQ0FBQyxBbEJYTCxLQUFNLEVxQnVCVixBckJyQ0EsQ3FCcUNDLEFBWUcsS0FBTSxBckJuQ04sS0FBTSxFUTRCVixBUjFDQSxLUTBDSyxBQWtCSCxPQUFVLEFSOUNBLFFBQVMsRVE0QmQsQVIxQ1AsUVEwQ2UsQUFrQmIsT0FBVSxBUjlDQSxRQUFTLEVRNEJKLEFSMUNqQixNUTBDdUIsQUFrQnJCLE9BQVUsQVI5Q0EsUUFBUyxFUTZHckIsQVIzSEEsTVEySE0sQUFFRixPQUFRLEFSL0dBLFFBQVMsRWNtS3JCLEFkakxBLE9jaUxPLEFkbktLLFFBQVMsRWdCcVNyQixBaEJuVEEsZWdCbVRlLENBcUJYLGNBQWMsQ0FHVixDQUFDLEFoQjdURyxRQUFTLEVrQmpCckIsQWxCR0EsaUNrQkhpQyxDQXdCN0Isb0JBQW9CLENBSWhCLENBQUMsQWxCWEcsUUFBUyxFcUJ1QnJCLEFyQnJDQSxDcUJxQ0MsQUFZRyxLQUFNLEFyQm5DRSxRQUFTLENBQUM7SUFDZCxLQUFLLEVsRmlESCxPQUFPO0lrRmhEVCxjQUFjLEVBQUUsU0FBUyxHQUM1QjtFUXlCTCxBUjFDQSxLUTBDSyxBQWtCSCxPQUFVLEFSekNSLE1BQU8sRVF1QkosQVIxQ1AsUVEwQ2UsQUFrQmIsT0FBVSxBUnpDUixNQUFPLEVRdUJNLEFSMUNqQixNUTBDdUIsQUFrQnJCLE9BQVUsQVJ6Q1IsTUFBTyxFUXdHWCxBUjNIQSxNUTJITSxBQUVGLE9BQVEsQVIxR1IsTUFBTyxFYzhKWCxBZGpMQSxPY2lMTyxBZDlKSCxNQUFPLEVnQmdTWCxBaEJuVEEsZWdCbVRlLENBcUJYLGNBQWMsQ0FHVixDQUFDLEFoQnhUTCxNQUFPLEVrQnRCWCxBbEJHQSxpQ2tCSGlDLENBd0I3QixvQkFBb0IsQ0FJaEIsQ0FBQyxBbEJOTCxNQUFPLEVxQmtCWCxBckJyQ0EsQ3FCcUNDLEFBWUcsS0FBTSxBckI5Qk4sTUFBTyxFUXVCWCxBUjFDQSxLUTBDSyxBQWtCSCxPQUFVLEFSekNDLE1BQU8sRVF1QmIsQVIxQ1AsUVEwQ2UsQUFrQmIsT0FBVSxBUnpDQyxNQUFPLEVRdUJILEFSMUNqQixNUTBDdUIsQUFrQnJCLE9BQVUsQVJ6Q0MsTUFBTyxFUXdHcEIsQVIzSEEsTVEySE0sQUFFRixPQUFRLEFSMUdDLE1BQU8sRWM4SnBCLEFkakxBLE9jaUxPLEFkOUpNLE1BQU8sRWdCZ1NwQixBaEJuVEEsZWdCbVRlLENBcUJYLGNBQWMsQ0FHVixDQUFDLEFoQnhUSSxNQUFPLEVrQnRCcEIsQWxCR0EsaUNrQkhpQyxDQXdCN0Isb0JBQW9CLENBSWhCLENBQUMsQWxCTkksTUFBTyxFcUJrQnBCLEFyQnJDQSxDcUJxQ0MsQUFZRyxLQUFNLEFyQjlCRyxNQUFPLEVRdUJwQixBUjFDQSxLUTBDSyxBQWtCSCxPQUFVLEFSekNVLE9BQVEsRVF1QnZCLEFSMUNQLFFRMENlLEFBa0JiLE9BQVUsQVJ6Q1UsT0FBUSxFUXVCYixBUjFDakIsTVEwQ3VCLEFBa0JyQixPQUFVLEFSekNVLE9BQVEsRVF3RzlCLEFSM0hBLE1RMkhNLEFBRUYsT0FBUSxBUjFHVSxPQUFRLEVjOEo5QixBZGpMQSxPY2lMTyxBZDlKZSxPQUFRLEVnQmdTOUIsQWhCblRBLGVnQm1UZSxDQXFCWCxjQUFjLENBR1YsQ0FBQyxBaEJ4VGEsT0FBUSxFa0J0QjlCLEFsQkdBLGlDa0JIaUMsQ0F3QjdCLG9CQUFvQixDQUloQixDQUFDLEFsQk5hLE9BQVEsRXFCa0I5QixBckJyQ0EsQ3FCcUNDLEFBWUcsS0FBTSxBckI5QlksT0FBUSxDQUFDO0lBQ3ZCLGdCQUFnQixFbEY4RlYsT0FBTztJ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QUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSTtBQUMxQyxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLENBQUMsRUFBRSxBQUFBLENBQUMsRUFBRSxBQUFBLElBQUk7QUFDdkMsQUFBQSxLQUFLLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxHQUFHO0FBQ3hDLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsTUFBTTtBQUNmLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRTtBQUN0QixBQUFBLFFBQVEsRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLE1BQU07QUFDN0IsQUFBQSxLQUFLLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFO0FBQy9DLEFBQUEsT0FBTyxFQUFFLEFBQUEsS0FBSyxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsS0FBSztBQUN0QyxBQUFBLE1BQU0sRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU07QUFDbEMsQUFBQSxJQUFJLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxPQUFPO0FBQ3pDLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSSxFQUFFLEFB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 */

.header-social-links {
	position: relative;
	z-index: 1;
	width: 24px;
    padding-top: 2px;
    margin-right: 4px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	float: right;
}

.social-icon {
	display: block;
	height: 24px;
	width: 24px;
	flex: 0 0 24px;
	margin: auto;
	cursor: pointer;
	transition: background-color 0.3s;
}

.social-icon a {
	display: block;
}

.social-icon path,
.social-icon circle,
.social-icon rect {
	transition: fill 0.3s;
}

a .logo__facebook--blue,
a:link .logo__facebook--blue,
a:visited .logo__facebook--blue
{fill:#ffffff;}
a .logo__facebook--f,
a:link .logo__facebook--f,
a:visited {fill: #E17F40;}
.social-icon a:hover .logo__facebook--blue{fill:#3D5A98;}
.social-icon a:hover .logo__facebook--f{fill:#FFFFFF;}

.social-icon.youtube {
	background-color: rgba(255, 255, 255, 0);
	border-radius: 4px;
}
a .logo__youtube,
a:link .logo__youtube,
a:visited .logo__youtube 
{fill:#ffffff;}
.social-icon.youtube:hover {background-color: rgba(255, 255, 255, 1);}
.social-icon a:hover .logo__youtube {fill:#ff0000;}

a .logo__instagram,
a:link .logo__instagram,
a:visited .logo__instagram
 {fill:#ffffff;}
.social-icon a:hover .logo__instagram {fill:#111111;}

a .logo__twitter,
a:link .logo__twitter,
a:visited .logo__twitter
{fill:#ffffff;}
.social-icon a:hover .logo__twitter{fill:#1DA1F2;}

.social-icon.ebay {
	 background-color: rgba(255, 255, 255, 0.1);
}

a .logo__ebay--e, 
a .logo__ebay--b, 
a .logo__ebay--a, 
a .logo__ebay--y,
a:link .logo__ebay--e, 
a:link .logo__ebay--b, 
a:link .logo__ebay--a, 
a:link .logo__ebay--y,
a:visited .logo__ebay--e, 
a:visited .logo__ebay--b,
a:visited .logo__ebay--a, 
a:visited .logo__ebay--y
{fill: #ffffff;}
.social-icon a:hover .logo__ebay--e{fill:#E53238;}
.social-icon a:hover .logo__ebay--b{fill:#0064D2;}
.social-icon a:hover .logo__ebay--a{fill:#F5AF02;}
.social-icon a:hover .logo__ebay--y{fill:#86B817;}

@media only screen and (max-width: 992px) {
	.header-social-links {
		display: none;
	}
}

