.btn{background-color:#0078d2;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF0078D2",endColorstr="#FF0061AB");background:-owg-linear-gradient(#0078d2,#0061ab);background:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#0061ab));background:linear-gradient(#0078d2,#0061ab);border:1px solid #0078d2;border-radius:2px;color:#fff!important;text-shadow:none;height:2.5rem;padding:0;margin:5px 0;min-width:13.1em;font-family:AmericanSans,Helvetica,Arial,sans-serif;font-size:18px;font-size:1.28571rem;font-weight:400;text-align:center;vertical-align:middle;-webkit-box-align:center}.btn:focus:enabled,.btn:hover:enabled,a.btn:focus,a.btn:hover{background-color:#0061ab;color:#fff;border:1px solid #0061ab;text-decoration:underline;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF0061AB",endColorstr="#FF00467F");background:-owg-linear-gradient(#0061ab,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#0061ab),to(#00467f));background:linear-gradient(#0061ab,#00467f)}.btn:active:enabled,a.btn:active{background-color:#00467f;background:-owg-linear-gradient(#00467f,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#00467f),to(#00467f));background:linear-gradient(#00467f,#00467f);*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF00467F",endColorstr="#FF00467F")}.btn+.btn{margin-left:18px}.btn [class*=icon-]:before{margin-left:7px;font-size:14px;font-size:1rem}[class*=span]>.btn{min-width:100%}.btn-secondary{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF627A88",endColorstr="#FF536773");background:-owg-linear-gradient(#627a88,#536773);background:-webkit-gradient(linear,left top,left bottom,from(#627a88),to(#536773));background:linear-gradient(#627a88,#536773);border:1px solid #627a88}.btn-secondary:focus:enabled,.btn-secondary:hover:enabled,a.btn-secondary:focus,a.btn-secondary:hover{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF536773",endColorstr="#FF465762");background:-owg-linear-gradient(#536773,#465762);background:-webkit-gradient(linear,left top,left bottom,from(#536773),to(#465762));background:linear-gradient(#536773,#465762);border:1px solid #536773}.btn-secondary:active:enabled,a.btn-secondary:active{background-color:#465762;border:1px solid #465762}.btn-ghost{background:#fff;min-width:8.19em!important;height:35px;border:1px solid #0061ab;color:#0061ab!important;font-size:16px;font-size:1.14286rem}.btn-ghost:hover:enabled{background:#fff;border:1px solid #0078d2}.btn-ghost:focus:enabled{background:#fff;text-decoration:none;border:2px solid #0078d2}.btn-ghost:active:enabled{text-decoration:underline;background:#fff}a.btn{line-height:40px;display:inline-block}a.btn:focus{outline-width:1px}.btn-search{background:rgba(0,0,0,0);border:0;bottom:0;color:#0078d2;display:inline;padding:0;right:4px;width:auto;-webkit-appearance:none;-webkit-box-shadow:none;box-shadow:none}.btn-search:hover{color:#4db4fa}@-moz-document url-prefix(){.btn-search{bottom:2px}}.btn-fullWidth{width:100%;min-width:0}.btn-link{background:none repeat scroll 0 0 rgba(0,0,0,0);border:none;cursor:pointer;margin:0;padding:0;text-decoration:none;font-family:Arial,sans-serif;line-height:20px;font-size:14px;font-size:1rem}.btn-link,.btn-link:hover{color:#0078d2}.btn-link:focus{outline:1px dotted #ebeff0}.row-buttons{text-align:right;margin:20px 0 0}.row-buttons .btn{float:right;margin:0}.row-buttons .btn+.btn{margin-right:22px}.ui-datepicker{display:none;border:1px solid #627a88;width:17em;z-index:999!important}.ui-datepicker .ui-datepicker-calendar tbody .ui-datepicker-current-day a{color:#fff!important}.ui-helper-clearfix:after{content:""}.ui-autocomplete{z-index:999!important}.ui-slider.ui-slider-horizontal{height:7px;margin:0 5px 0 10px;background-color:#9da6ab;color:rgba(0,0,0,0);border-radius:4px;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF9DA6AB",endColorstr="#FFEBEFF0");background-image:-owg-linear-gradient(#9da6ab,#ebeff0);background-image:-webkit-gradient(linear,left top,left bottom,from(#9da6ab),to(#ebeff0));background-image:linear-gradient(#9da6ab,#ebeff0)}.ui-slider.ui-slider-horizontal .ui-slider-range{background-color:rgba(0,0,0,0);border:1px solid #9da6ab;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF00467F",endColorstr="#FF4DB4FA");background-image:-owg-linear-gradient(#00467f,#4db4fa);background-image:-webkit-gradient(linear,left top,left bottom,from(#00467f),to(#4db4fa));background-image:linear-gradient(#00467f,#4db4fa)}.ui-slider.ui-slider-horizontal .ui-slider-handle{top:-6px;height:18px;width:18px;z-index:1;margin-left:-1em;border:1px solid #9da6ab;color:rgba(0,0,0,0);background-color:#9da6ab;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNDgwMTE3NDA3MjA2ODExODA4MzkxMTc1NDg2RjU1NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNzY2QTRGQUU3RUYxMUUyQkUzNDhEMDFDNkVFQzc4NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNzY2QTRGOUU3RUYxMUUyQkUzNDhEMDFDNkVFQzc4NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ4MDExNzQwNzIwNjgxMTgwODM5MTE3NTQ4NkY1NTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ4MDExNzQwNzIwNjgxMTgwODM5MTE3NTQ4NkY1NTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5M1iDZAAAEmklEQVR42rRWS4vkVBQ+996kUu9XW9VTrTDQCi5UREVwMS7EfzALN66GccCfIAj+A0HGhbhw6dLNiChuehaiwywEUUaErsaFPaXdXa9UJ5Wkkly/c1NJFWq3zsLArXPrPs4533ceidBa0//9WJdtzudzB0JgqDRN82XJ/9cyllL6kEmr1brQW3EREhgQUNzHeD0Mww+DIPAhgyRJImynCo/jOKJcLh9B3oaxr7FEzWZT/2cj4/H4iflicXc2ne0naSrm5z55fkBxkmBXkyUV1WsVatarpKQMu93OF81G4wYMLf6K6h+NwEBzPJ3dWXretdOZqxbeEmo1eBNm39wxU16T1GpUqNduaadSPd7ptN/Y2dn57kIjTNFqtWq57uJjzzu//vtkbgVhREanEJApT4z+7JbOJ1QpO9RvN6jRaD5stZq3LMv6MkdkbRnYBf81GPl07rove8tAsfKSbZOQGwQ5GhY61YVxnrugEyuDSqX8PmL0AKd+zTPFIICCZ+I4vj6du6/guoqSlJSSZFmKOTcxsJVl5rxu1myrkDyiOGFHxGzu7kPX27PZTGwjkUAxiqLo5iqKKMRhzpSMJjKSf/I5yxyQcTOfYy+MY1JRZEPXNVDWw+pJbqSM1Oxj4ylzHt45Jbkduo0Wvf67jlMKqsTaan6KwwZd+6VSCazQndyIA5jPohYUn7eAIgtopq3IjSIcGSReVkJtJYEuDqGmutVq9UXXdT+38oCCw6sY2UUp18okFa6LTeD1FqKcPrFOaNSp2UcC2VzMuGPlSEL8qYEywbFQCHKmV2xqggWM64KYTeoXSHhHYy+NidsQ7lYhVW6EW0XIvQiKwJYg2y6Bb01SZIaMCrGhaeN5ji4zlICNlFtbmjINDu5oKwuUiDF+AgovDMIW+hEJB6kpxCb2eiviPJXsNWWdQGS0slNxGFIYBFQq2Ro62XFtyOfKhIH7tm0fTSZj46BGjzI1IdW6NpRJCCPBMs+lqSMLyYjoMZVAwXehA0ZKIdaGMJQUFY+FX4DgoF6vP/3w+Lg62NsDZRYxqlRnlV1Eomgzm7isopCCYEknJycEHYTOfAad33ImFMXQ6/VWQPJZo9EYIwHoFIcXrmugs9f2OiFyNOy5bWUygoHFYkFnZ2ecVehfjRi67uHcPWZpu+IY4vfw4gG6qEZLoOFwSL7v03QyQZv3TY9iBEqaxmX2ZtMJ+Z5Hh4eH3J4Id5NarfYzdN3udrve396MQBOgVj7pdDrPAc2V0WgkDw4OaLD3OO1e2aWy42SFymmI3obipT+AeHT8Gw0GAzPa7fYhKH4XsfrmwvcJ3iUK1XrT87x3gOYqKJATIJlOp3R+fg5qohy14R7emgEEbGCIKr8FI3eZjX97aXHveW25XH4EY09CuWIDTE9i3oxksoqTAvyzMQ2KjiqVypswfn/bwKWvX3hvgbrnEcgPQMtLkBUOKrcefjj4jAYjRib9iEDf6Pf7PzzShwQ/oEvB8zJawwDyBci3cP7VdYMPgWaC7PoKBt8DZaeP/LWSP+ii/NXyGKZtSB/Z5eusbrhsEhjhD4f0Mh1/CjAAjI+aN7GJz/4AAAAASUVORK5CYII=);background-image:-webkit-gradient(linear,left top,left bottom,from(#9da6ab),color-stop(#d0dae0),to(#ebeff0));background-image:linear-gradient(180deg,#9da6ab,#d0dae0,#ebeff0);border-radius:50%;-webkit-box-shadow:0 1px 5px -1px #131313;box-shadow:0 1px 5px -1px #131313}.ui-slider.ui-slider-horizontal .ui-slider-handle:focus{border:2px solid #0078d2}.ui-datepicker-trigger{height:18px;background:none;border:none;padding:0;color:#0078d2;cursor:pointer;font-family:American Icons;font-size:18px;position:absolute;margin:0;top:26px;right:4px}.ui-datepicker-trigger:before{content:"\10e03a"}.ui-datepicker-trigger:hover{color:#4db4fa}.ui-datepicker-trigger:focus{border:1px solid #0078d2;outline:1px solid #0078d2}.ui-datepicker-trigger[disabled]{color:#9da6ab}.ui-datepicker-trigger img{display:none}.ui-datepicker{padding:0;font-size:14px;font-size:1rem;border:1px solid #ebeff0}.ui-datepicker .ui-datepicker-header{background-color:#0078d2;background:-owg-linear-gradient(#0078d2,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#00467f));background:linear-gradient(#0078d2,#00467f);color:#fff;border-bottom:1px solid #fff;margin-bottom:-1px;z-index:1}.ui-datepicker .ui-datepicker-header .ui-datepicker-next.title,.ui-datepicker .ui-datepicker-header .ui-datepicker-next span,.ui-datepicker .ui-datepicker-header .ui-datepicker-prev.title,.ui-datepicker .ui-datepicker-header .ui-datepicker-prev span{display:none}.ui-datepicker .ui-datepicker-header .ui-datepicker-next:before,.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before{content:"";height:5px;width:5px;display:inline-block;border-color:#fff;border-style:none none solid solid;border-width:2px;margin:10px}.ui-datepicker .ui-datepicker-header .ui-datepicker-next:before{-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);transform:rotate(225deg)}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui-datepicker .ui-datepicker-header .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-header .ui-datepicker-prev-hover{background:none;border:none;top:2px}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev-hover{left:2px}.ui-datepicker .ui-datepicker-header .ui-datepicker-next-hover{right:2px}.ui-datepicker .ui-datepicker-calendar thead{border-bottom:0;background:none}.ui-datepicker .ui-datepicker-calendar thead th{color:#627a88;font-family:Arial,sans-serif;font-size:100%}.ui-datepicker .ui-datepicker-calendar tbody{border-bottom:0}.ui-datepicker .ui-datepicker-calendar tbody tr{border-bottom:0;padding:0}.ui-datepicker .ui-datepicker-calendar a{position:relative}.ui-datepicker .ui-datepicker-calendar a:focus,.ui-datepicker .ui-datepicker-calendar a:hover{text-decoration:underline}.ui-datepicker .ui-datepicker-calendar a:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;left:15%;top:15%}.ui-datepicker .ui-datepicker-calendar .ui-state-default{text-align:center;height:34px;border:none;outline:none;color:#00467f;padding:.55em .2em}.ui-datepicker .ui-datepicker-calendar .ui-state-highlight{background:#fff}.ui-datepicker .ui-datepicker-calendar .ui-state-highlight:before{border:2px solid #0078d2}.ui-datepicker .ui-datepicker-calendar .ui-state-hover{background:#ebeff0;outline:1px solid #ebeff0;text-decoration:underline}.ui-datepicker .ui-datepicker-calendar .ui-state-disabled span{color:#9da6ab!important;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.ui-datepicker .ui-datepicker-calendar .ui-state-disabled .ui-state-default{color:#00467f!important;text-decoration:line-through}.ui-datepicker .ui-datepicker-calendar .aa-highlight,.ui-datepicker .ui-datepicker-calendar .aa-highlight .ui-state-default,.ui-datepicker .ui-datepicker-calendar .ui-state-active{background-color:#0078d2;background:-owg-linear-gradient(#0078d2,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#00467f));background:linear-gradient(#0078d2,#00467f)}.ui-datepicker .ui-datepicker-calendar .aa-highlight .ui-state-default,.ui-datepicker .ui-datepicker-calendar .ui-state-active{color:#fff;font-weight:400;border:1px solid rgba(0,0,0,0);-o-border-image:linear-gradient(180deg,#0078d2 0,#00467f);border-image:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#00467f));border-image:linear-gradient(180deg,#0078d2 0,#00467f);border-image-slice:1}.ui-datepicker .ui-datepicker-calendar .aa-highlight .ui-state-default.ui-state-highlight:before,.ui-datepicker .ui-datepicker-calendar .ui-state-active.ui-state-highlight:before{border:2px solid #fff}.ui-datepicker .ui-datepicker-buttonpane{border-top:1px solid #ebeff0!important;background-color:#ebeff0;margin:0;padding:0;border:0;display:table;width:100%}.ui-datepicker .ui-datepicker-buttonpane button{margin:1px;padding:6px;border:none;background-color:#ebeff0;font-family:Arial,sans-serif;font-size:14px;font-size:1rem;color:#00467f;font-weight:400}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{width:25%;text-align:left;opacity:1;filter:Alpha(Opacity=100)}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close{width:74.4%;margin-left:0;text-align:right}.ui-datepicker-row-break{clear:none;border-left:1px solid #9da6ab;width:0;left:50%;margin-left:0!important}.ui-datepicker .ui-datepicker-calendar .ui-state-default{padding:.6em .2em}.ui-datepicker .ui-datepicker-calendar tbody tr td a,.ui-datepicker .ui-datepicker-calendar tbody tr td span{padding:.55em}.ui-datepicker .ui-datepicker-calendar tbody tr td a:before,.ui-datepicker .ui-datepicker-calendar tbody tr td span:before{bottom:0;left:0;margin:auto;right:0;top:0}.ui-datepicker .ui-datepicker-calendar tbody tr td.aa-highlight a{color:#fff!important}.ui-datepicker .ui-datepicker-header .ui-datepicker-next:before,.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before{margin:0}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-prev-hover{left:10px}.ui-datepicker-close{color:#00467f!important}#book-panel .menu-widget{background-color:#ebeff0;background-image:url(/content/images/chrome/rebrand/shadow12-up.png);background-repeat:no-repeat;background-position:50% bottom;background-size:100% 4px;border:0;padding:0}#book-panel .menu-widget .menu-item{border:0;background:rgba(0,0,0,0)}#book-panel .menu-widget .menu-item a{color:#0078d2;padding-top:9px;padding-bottom:9px;font-size:2rem;width:100%}#book-panel .menu-widget .menu-item.is-current:hover a,#book-panel .menu-widget .menu-item.is-current a{color:#00467f}#book-panel .menu-widget .menu-item:hover{background-color:rgba(0,0,0,0)}#book-panel .menu-widget .menu-item:hover a{text-decoration:underline;color:#0078d2}#book-panel .menu-widget .menu-item:focus a{text-decoration:underline}#book-panel .menu-widget .menu-item:focus:hover a{text-decoration:none}[data-behavior*=meganav-content] .span8{margin-left:2.13178%;width:64.53488%}#language-selector{display:none}input.hasDatepicker[readonly]{border-color:#9da6ab;background:#fff;color:#36495a}input.hasDatepicker[readonly]:focus{border-color:#627a88}.is-error input.hasDatepicker[readonly]{border-color:#c30019}.inline>.value{top:auto;bottom:5px}section.container{margin-top:36px}sup{font-size:11px;top:-2px}.sup--larger,sup{position:relative;vertical-align:top}.sup--larger{font-size:13px;top:1px}.carSeatsAncillaryHeader{display:inline}hr{clear:both;margin:9px 0}h1{margin:30px 0 20px}h2{line-height:33px;margin:0 0 20px}[class|=message]{padding:11px 0 11px 34px}[class|=message]:before{font-size:24px;font-size:1.71429rem;top:14px}[class|=message]:not([style*="display:none"]):not([style*="display: none"]):not(.is-hidden)~[class|=message]{border-top:1px dashed #d0dae0;margin-top:11px;padding-top:20px}[class|=message]:not([style*="display:none"]):not([style*="display: none"]):not(.is-hidden)~[class|=message]:before{top:24px}[class|=message]:last-of-type{margin-bottom:20px}[class|=message] .header{font-size:24px}[class|=message-inline]{background:none;margin:0;padding:0}[class|=message-inline]:before{font-family:American Icons;font-size:inherit;margin-right:.5rem;position:static}[class|=message-inline] a,[class|=message-inline] a:hover{text-decoration:underline}.lt-ie9 [class|=message-inline]{border-top:none;border-bottom:none}.lt-ie9 [class|=message-inline]:before{margin-right:5px}h3,h4,h5{margin-bottom:9px}h6{font-family:AmericanSans,Helvetica,Arial,sans-serif;font-size:16px;font-size:1.14286rem;line-height:40px}.icon-calendar,.icon-email,.icon-print{margin:0 3px}.btn,.btn-secondary{height:28px;font-size:13px}.custombox{display:block}.is-error-icon:before,.is-error .label:before,.label.is-error:before,label.is-error:before{float:left;margin:-1px 3px 0 0}ul.bulleted-list{list-style:square outside none;margin-left:15px}dl.dd-align-right>dd{text-align:right}dl.dd-font-bold>dd,dl.dt-font-bold>dt{font-weight:700}.column-header{color:#9da6ab}.box-margin-top{margin-top:18px}.box-margin-bottom{margin-bottom:18px}.box-padding{padding:15px}.header-margin-bottom{margin-bottom:9px}.header-margin-top{margin-top:9px}.module-header{border:solid #d0dae0;border-width:0 0 1px;margin:0 0 12px}.module-header h3,.module-header h4{margin:0 0 2px}.no-border{border:none}.print-text{display:none}.currency-symbol{font-size:13px;font-size:.92857rem;position:relative}.currency-code{font-size:12px;font-size:.85714rem;position:relative;color:#36495a;font-weight:400}.currency-cents{position:relative;top:-12px;font-size:18px;font-size:1.28571rem}.align-right{text-align:right!important}.align-center{text-align:center!important}.float-right{float:right!important}.nav-links{*zoom:1}.nav-links:after,.nav-links:before{content:"";display:table}.nav-links:after{clear:both}.nav-links li{display:inline-block;line-height:20px;margin-top:6px}.nav-links li a{padding:0 .5em;white-space:nowrap}.nav-links li>span{color:grey}.vertical-nav-links{margin:18px 0}.vertical-nav-links li{margin:9px 0}.font-small{font-size:11px;font-size:.78571rem;font-family:Arial,sans-serif;line-height:17.778px}.font-large{font-size:18px}.font-double-height{line-height:40px}.font-light-med-gray{color:#9da6ab!important}.font-med-gray{color:#627a88!important}.font-dark-gray{color:#36495a!important}.font-dark-blue{color:#00467f!important}.font-white{color:#fff!important;text-shadow:1px 1px #131313}.font-american-reg{font-family:AmericanSans,Helvetica,Arial,sans-serif}.font-american-light{font-family:AmericanSansLight,Helvetica,Arial,sans-serif}.font-bold{font-weight:700}[class*=" message-"],[class^=message-]{margin:18px 0}[class*=" message-"] h3,[class*=" message-"] p:last-child,[class^=message-] h3,[class^=message-] p:last-child{margin-bottom:0}.message-info h2,.message-info h3,.message-info h4{color:#008712}.message-disclaimer{color:#9da6ab!important;font-family:Arial,sans-serif;font-size:14px;font-size:1rem;line-height:20px;margin-bottom:0}.message-disclaimer.font-med-gray{color:#627a88!important}.rental-cdp-purchase{border:solid #ebeff0;border-width:0 1px 0 0;padding-right:2.13178%}.grid-gutter-left{margin-left:2.13178%}.grid-gutter-right{margin-right:2.13178%}.p-inside-margin-bottom>p{margin-bottom:18px}.aa-busy{position:relative}.aa-busy .aa-busy-module{z-index:1000;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0;background-color:rgba(0,0,0,0);cursor:wait;position:absolute}.aa-busy .aa-busy-module .aa-busy-bg{height:100%;width:100%;background-color:#fff;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:.8}.aa-busy .aa-busy-module .aa-busy-img{border:0;cursor:wait;left:0;margin:0;padding:0;position:absolute;text-align:center;top:10%;width:100%;z-index:1001}.aa-busy .aa-busy-module .aa-logo{background-image:url(/content/images/chrome/rebrand/aa-flight-icon.png);background-position:top;background-repeat:no-repeat;background-size:100% auto;height:100px;margin:0 auto;width:100px}.aa-busy .aa-busy-module img{width:100px}.aa-busy .aa-busy-module i{background-image:url(/content/images/common/loading_sequence.gif);background-repeat:no-repeat;height:32px;width:32px;vertical-align:middle;display:inline-block;*display:inline;zoom:1;alt:""}.aa-busy .aa-busy-module span{font-size:16px;font-weight:700;vertical-align:middle;padding-left:10px}.aa-busy[data-busy-middle=true] .aa-busy-module .aa-busy-img{top:45%}.t-g-gray{background-color:#ebeff0;background:-owg-linear-gradient(#fff,#ebeff0);background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#ebeff0));background:linear-gradient(#fff,#ebeff0);color:#36495a}.drop-shadow{position:relative;top:0;margin-bottom:18px}.drop-shadow:after,.drop-shadow:before{content:"";position:absolute;z-index:-2}.drop-shadow.curved-horizontal:before{top:50%;bottom:0;left:10px;right:10px;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4);box-shadow:0 0 5px rgba(0,0,0,.4);border-radius:700px/10px}.drop-shadow.inside-up{z-index:1}.drop-shadow.inside-up:before{bottom:50%;top:0}.drop-shadow.inside-down{margin-bottom:0;z-index:999}.drop-shadow.content-inside .border-line{height:auto}.drop-shadow .border-line{height:12px;background:#fff;position:relative}.drop-shadow .border-line hr{margin:0;background-color:#d0dae0;position:relative;opacity:0;top:18px;background:-owg-linear-gradient(left,#fff,#ebeff0,#fff);background:-webkit-gradient(linear,left top,right top,from(#fff),color-stop(#ebeff0),to(#fff));background:linear-gradient(left,#fff,#ebeff0,#fff)}.popup-header .site-logo{position:relative;bottom:0}.popup-content h2,.popup-content ul{margin-bottom:9px}.popup-footer{background:#fff;color:#9da6ab;margin-top:0}.rental-cars{display:inline-block;margin:0;padding:0;position:relative;vertical-align:middle;height:74px;width:150px;max-width:none;overflow:hidden}.rental-cars img{max-width:none!important}.rental-car-economy img{margin:0}.rental-car-compact img{margin-left:-150px}.rental-car-midsize img{margin-left:-300px}.rental-car-standard img{margin-left:-450px}.rental-car-fullsize img{margin-left:-600px}.rental-car-premium img{margin-left:-750px}.rental-car-luxury img{margin-left:-900px}.rental-car-small_suv img{margin-left:-1050px}.rental-car-midsize_suv img{margin-left:-1200px}.rental-car-fullsize_suv img{margin-left:-1350px}.rental-car-minivan img{margin-left:-1500px}.rental-car-van img{margin-left:-1650px}.rental-car-midsize_pickup img{margin-left:-1800px}.rental-car-fullsize_pickup img{margin-left:-1950px}.rental-car-convertible img{margin-left:-2100px}.rental-car-specialty img{margin-left:-2250px}.logos-cars,.logos-cars-lrg,.logos-cars-med,.logos-cars-sm{display:inline-block;margin:0;padding:0;position:relative;vertical-align:middle;height:23px;max-width:none;overflow:hidden}.logos-cars-lrg img,.logos-cars-med img,.logos-cars-sm img,.logos-cars img{max-width:none!important}.logos-cars-lrg{height:43px}.logos-cars-lrg.logo-budget{width:195px}.logos-cars-lrg.logo-budget img{margin-left:0;margin-top:-37px}.logos-cars-lrg.logo-avis{width:132px}.logos-cars-lrg.logo-avis img{margin-left:-385px;margin-top:-38px}.logos-cars-lrg.logo-payless{width:125px}.logos-cars-lrg.logo-payless img{margin-left:-578px;margin-top:-36px}.logos-cars-med{height:30px}.logos-cars-med.logo-budget{width:144px}.logos-cars-med.logo-budget img{margin-left:0;margin-top:-5px}.logos-cars-med.logo-avis{width:98px}.logos-cars-med.logo-avis img{margin-left:-288px;margin-top:-4px}.logos-cars-med.logo-payless{width:92px}.logos-cars-med.logo-payless img{margin-left:-432px;margin-top:-5px}.logo-smaller-payless{width:65px}.logo-smaller-payless img{margin-top:-13px;margin-left:-863px}.logo-smaller-budget{width:81px}.logo-smaller-budget img{margin-top:-12px;margin-left:-590px}.logo-smaller-avis{width:63px}.logo-smaller-avis img{margin-top:-11px;margin-left:-765px}.icon-ui-sprite-large{background-image:url(/content/images/standaloneCar/aa-icon-ui-sprite-large.png);background-repeat:no-repeat;display:inline-block;margin:0;padding:0;position:relative;width:50px;height:50px}.icon-ui-sprite-large.icon-passenger{background-position:0 0}.icon-ui-sprite-large.icon-compass{background-position:0 -54px}.icon-ui-sprite-large.icon-lock{background-position:0 -108px}.customComponent input[type=checkbox]:focus~label .control,.customComponent input[type=checkbox]:hover~label .control,.customComponent input[type=checkbox]~label .control:focus,.customComponent input[type=checkbox]~label .control:hover{border:1px solid #0078d2}.customComponent input[type=radio]~label .control{border-radius:50%;margin-right:5px}.customComponent input[type=radio]:checked:focus~label .control,.customComponent input[type=radio]:checked:hover~label .control,.customComponent input[type=radio]:checked~label .control:focus,.customComponent input[type=radio]:checked~label .control:hover{outline:1px solid #0078d2}.customComponent input[type=radio]:focus~label .control,.customComponent input[type=radio]:hover~label .control,.customComponent input[type=radio]~label .control:focus,.customComponent input[type=radio]~label .control:hover{border:2px solid #0078d2;outline:1px solid #0078d2}.customComponent input[type=radio]~label.is-error:before{content:none}.customComponent input[type=radio]~label.is-error .control{border:1px solid #c30019}.customComponent input[type=radio]:focus~label.is-error .control,.customComponent input[type=radio]:hover~label.is-error .control,.customComponent input[type=radio]~label.is-error .control:focus,.customComponent input[type=radio]~label.is-error .control:hover{border:2px solid #0078d2}.customComponent input[type=radio]:checked:focus~label.is-error .control,.customComponent input[type=radio]:checked:hover~label.is-error .control,.customComponent input[type=radio]:checked~label.is-error .control:focus,.customComponent input[type=radio]:checked~label.is-error .control:hover{-webkit-box-shadow:0 0 0 1px #0078d2;box-shadow:0 0 0 1px #0078d2;border:1px solid #0078d2}.oldCustombox-radioLayout{padding-left:25px;line-height:16px}.oldCustombox-radioLayout .control{margin-left:-25px!important}.homepage-wrapper{margin-top:36px}.book-panel-wrapper{position:relative!important;min-height:430px;margin-bottom:36px}#hero-panel{position:relative;-webkit-box-shadow:0 15px 15px -15px #131313;box-shadow:0 15px 15px -15px #131313}#hero-panel .hero-text{margin:2% 2% 0 50%;text-align:right;color:#0078d2;position:absolute;top:0;font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:42px;font-size:3rem;line-height:45px}#hero-panel img{vertical-align:middle}#book-panel{background:#fff;color:#627a88;position:absolute;left:2%;top:-18px;min-width:320px;z-index:1;-webkit-box-shadow:0 0 7px -1px rgba(0,0,0,.8);box-shadow:0 0 7px -1px rgba(0,0,0,.8)}#book-panel .form-panel-pad{padding:9px 7px}#book-panel p{margin-bottom:4px}#book-panel .menu-widget>.menu-item{width:50%}#book-panel button.btn{margin-bottom:9px}#book-panel .form-header{color:#627a88;padding:0}#book-panel .is-error select:focus{border-color:#c30019;outline:1px solid #0078d2}#more-options-row,#search-btn-row{margin:0 7px}#searchButton{margin-top:9px}.avis-budget-wrapper #hero-panel{overflow:hidden}.avis-budget-wrapper #hero-panel img{max-width:none}#moreOptionsContent{background:#36495a;color:#fff;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.4) inset;box-shadow:inset 0 5px 10px rgba(0,0,0,.4);background:-owg-linear-gradient(#627a88,#36495a);background:-webkit-gradient(linear,left top,left bottom,from(#627a88),to(#36495a));background:linear-gradient(#627a88,#36495a);width:100%}#moreOptionsContent label{color:#fff;margin-bottom:9px}#moreOptionsContent label input[readonly]{color:#36495a;background:#ebeff0;border-color:#d0dae0}.features [class*=feature-top]{min-height:180px;margin:18px 0}.features .last-feature{border:none}.features .feature-img{min-height:56px}.features [class*=feature-middle]{padding:15px 0}.features [class*=feature-middle] p{color:#627a88}.features .feature-middle-aadv img{margin-top:18px}.features .feature-middle-lpg h3{margin-bottom:0}.features .feature-middle-lpg img{margin-top:6px}.features .drop-shadow{margin-bottom:0}.feature-border-right{border-right:1px solid #ebeff0;padding-right:2%}.row.features .feature-body,.row.features .feature-head{color:#36495a}.row.features a.call-to-action{display:block}p.feature-call:hover{text-decoration:underline}p.feature-call:after{content:"\a0 \00BB"}.h3-container:hover{color:#0078d2;text-decoration:underline}.box-header{padding:0 9px}.results-wrapper{position:relative}.rentalCar-count{font-family:Arial,sans-serif;font-size:18px;font-size:1.28571rem;line-height:20px}.rentalCar-vendor-image{margin-left:9px}.rentalCar-image{text-align:center}.rentalCar-details{margin-top:9px}.rentalCar-details .icon-car-features:first-child{margin-left:0}.filters-header{line-height:36px}.rentalCar-description{margin-bottom:9px;color:#627a88}.rentalCar-extra-info p{font-weight:700}.rentalCar-price{border-left:1px solid #d0dae0;min-height:90px;text-align:right}.rentalCar-price .rental-price-day{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:36px;font-size:2.57143rem;line-height:40px}.rentalCar-price .rental-price-day .currency-symbol{font-size:22px;font-size:1.57143rem;top:-7px}.rentalCar-price .rental-price-day .currency-code{top:-15px}.rentalCar-price .rental-price{color:#9da6ab}.filterPrice-hidden,.filterType-hidden,.filterVendor-hidden{display:none}#modifySearch button.btn{margin-top:24px}#numberCarsShown{color:#0078d2}#searchFilters{background-color:#ebeff0;color:#36495a!important}#searchFilters h3{margin-bottom:0;line-height:36px;color:#627a88}#sortButtons{margin-top:0}#modifyResultsOptions{margin-bottom:9px;margin-left:0}.results-prices-text{color:#9da6ab}.pageslide-header{display:none;background-color:#131313;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF36495A",endColorstr="#FF131313");background:-owg-linear-gradient(#36495a,#131313);background:-webkit-gradient(linear,left top,left bottom,from(#36495a),to(#131313));background:linear-gradient(#36495a,#131313);height:40px;margin:0 -7px 18px}.pageslide-header [class*=icon-]{padding:4px 11px}.pageslide-header .icon-on{color:#fff}.pageslide-header h2{color:#fff;padding:0 10px;font-family:AmericanSans,Helvetica,Arial,sans-serif;font-size:16px;font-size:1.14286rem;line-height:40px}.pageslide-bar{background-color:#131313;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF36495A",endColorstr="#FF131313");background:-owg-linear-gradient(#36495a,#131313);background:-webkit-gradient(linear,left top,left bottom,from(#36495a),to(#131313));background:linear-gradient(#36495a,#131313)}.pageslide-container .box-padding{padding:9px 7px}#searchResultsMatrix{display:none;position:relative;margin:0 4px 0 3px}#searchResultsMatrix a:hover{text-decoration:none}#searchResultsMatrix .matrix-nav a{background:#00467f;position:absolute;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1,startColorstr="#FF00467F",endColorstr="#FF0078D2");background:-owg-linear-gradient(left,#00467f,#0078d2);background:-webkit-gradient(linear,left top,right top,from(#00467f),to(#0078d2));background:linear-gradient(left,#00467f,#0078d2);background:linear-gradient(90deg,#00467f,#0078d2);border:0;height:100%;margin:0;top:0;display:block;z-index:1;width:18px;overflow:hidden}#searchResultsMatrix .matrix-nav a:focus{border:2px solid #0078d2;outline:none;text-decoration:none}#searchResultsMatrix .matrix-nav a:focus.matrix-next .arrow-slide,#searchResultsMatrix .matrix-nav a:focus.matrix-prev .arrow-slide{margin:-2px 0}#searchResultsMatrix .matrix-nav a .arrow-slide{height:0;position:relative;vertical-align:middle}#searchResultsMatrix .matrix-nav a .arrow-slide.arrow-slide-top{outline:0 none;top:100px}#searchResultsMatrix .matrix-nav a .arrow-slide.arrow-slide-bottom{bottom:-320px}#searchResultsMatrix .matrix-nav a:hover{*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1,startColorstr="#FF4DB4FA",endColorstr="#FF0078D2");background:-owg-linear-gradient(left,#4db4fa,#0078d2);background:-webkit-gradient(linear,left top,right top,from(#4db4fa),to(#0078d2));background:linear-gradient(left,#4db4fa,#0078d2);background:linear-gradient(90deg,#4db4fa,#0078d2)}#searchResultsMatrix .matrix-nav a.is-disabled{cursor:default;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=30);opacity:.3}#searchResultsMatrix .matrix-nav a.is-disabled:hover{background:-owg-linear-gradient(left,#0078d2,#4db4fa);background:-webkit-gradient(linear,left top,right top,from(#0078d2),to(#4db4fa));background:linear-gradient(left,#0078d2,#4db4fa);background:linear-gradient(90deg,#0078d2,#4db4fa)}#searchResultsMatrix .matrix-nav a.matrix-next .arrow-slide,#searchResultsMatrix .matrix-nav a.matrix-prev .arrow-slide{border:0;color:#fff;margin:0 2px}#searchResultsMatrix .matrix-nav a.matrix-prev{right:0;-webkit-box-shadow:5px 0 10px -2px #fff;box-shadow:5px 0 10px -2px #fff}#searchResultsMatrix .matrix-nav a.matrix-next{right:0;-webkit-box-shadow:-5px 0 10px -2px #fff;box-shadow:-5px 0 10px -2px #fff}#searchResultsMatrix .matrix-nav-links a.matrix-next{margin-right:18px}#searchResultsMatrix .matrix-nav-links a.is-disabled{display:none}#searchResultsMatrix .matrix-wrapper{padding-right:18px;position:relative;border-top:1px solid #d0dae0;-webkit-box-shadow:0 20px 5px -18px rgba(0,0,0,.4);box-shadow:0 20px 5px -18px rgba(0,0,0,.4)}#searchResultsMatrix .matrix-data-wrapper,#searchResultsMatrix .matrix-vendors-wrapper{position:relative}#searchResultsMatrix .matrix-data-wrapper .flex-viewport{margin-left:1px;border-right:1px solid #d0dae0}.tabular-matrix{padding-right:18px}.tabular-matrix .cell{border-left:1px solid #d0dae0;border-bottom:1px solid #d0dae0;height:60px;background:#ebeff0;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=1,startColorstr="#FFEBEFF0",endColorstr="#FFFFFFFF");background:-owg-linear-gradient(left,#ebeff0,#fff);background:-webkit-gradient(linear,left top,right top,from(#ebeff0),to(#fff));background:linear-gradient(left,#ebeff0,#fff);background:linear-gradient(90deg,#ebeff0,#fff);font-size:11px;text-align:center;padding:9px 0;color:#9da6ab}.tabular-matrix .cell .matrix-priceDay{font-family:AmericanSans,Helvetica,Arial,sans-serif;font-size:22px;font-size:1.57143rem;line-height:20px}.tabular-matrix .cell .matrix-priceDay .currency-symbol{top:-5px}.tabular-matrix .cell .data-unavailable{line-height:40px;color:#9da6ab}.tabular-matrix .column-header{height:40px;font-family:AmericanSans,Helvetica,Arial,sans-serif;font-weight:700;line-height:40px;padding:0;color:#36495a;margin:0}.tabular-matrix .matrix-carVendor{padding:16px 0 0}#matrixButton{margin:0}#matrixButton.is-selected .btn-text-show,#matrixButton:not(.is-selected) .btn-text-hide{display:none}#priceFilterAmounts{padding-bottom:5px;text-align:center;color:#627a88}#differentLocationLabel{min-width:220px}ul.vendor-codes{margin-bottom:3px}ul.vendor-codes li{border-left:none;border-right:1px solid #ebeff0}ul.vendor-codes li:last-child{border-right:none}.vendor-name{text-align:right;font-weight:700}.content-wrapper{min-height:400px}.details-wrapper .column-pad{padding-bottom:18px}.details-wrapper h3{margin-bottom:0}.vertical-bar{border-right:1px solid #ebeff0;height:198px;width:50%}.rental-summary-wrapper{position:relative}.rental-booking-summary-wrapper{background:#ebeff0;color:#36495a}.rental-total-summary{background:#fff;margin-left:0!important;padding:5px}.rental-options-wrapper{background:-owg-linear-gradient(#ebeff0,#fff 15%,#fff 85%,#ebeff0);background:-webkit-gradient(linear,left top,left bottom,from(#ebeff0),color-stop(15%,#fff),color-stop(85%,#fff),to(#ebeff0));background:linear-gradient(#ebeff0,#fff 15%,#fff 85%,#ebeff0)}.rental-options-wrapper .rental-upgrade{padding:18px 2% 18px 0;margin-left:0}.rental-options-wrapper .rental-upgrade .rentalCar-image{text-align:center;margin-top:18px}.rental-options-wrapper .rental-upgrade .rentalCar-price{color:#0078d2}.rental-options-wrapper .rental-upgrade .rentalCar-price .currency-code{font-size:18px;font-size:1.28571rem;top:-12px;color:#36495a}.rental-options-wrapper hr{margin:0 2.13178%}.margin-fix-details{margin-top:40px;margin-bottom:28px}.rental-date-location .column-pad{padding:9px}.rental-date-location h4{margin-top:3px}.rental-date-location [class*=icon-]:before{color:#4db4fa;font-size:27px;font-size:1.92857rem}.rental-products-wrapper{color:#36495a}.rental-products-wrapper .rental-product,.rental-products-wrapper h4{margin-top:9px}.rental-products-wrapper .vertical-bar{height:260px}.rental-date,.rental-location{margin-top:18px}.rental-location{min-height:66px}.rental-date{min-height:48px}.rentalCar-details-wrapper{text-align:center}.rentalCar-insurance-wrapper{background-color:#f5f5f7;min-height:100px}.rentalCar-insurance-wrapper h4{color:#0078d2}.rentalCar-insurance-wrapper fieldset{margin-bottom:9px}.rentalCar-insurance-wrapper label{color:#36495a!important}.rental-price-total{color:#0078d2;font-size:22px}.rental-price-total .currency-code,.rental-price-total .currency-symbol{top:-5px}.rental-plus-day{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:18px;font-size:1.28571rem;line-height:20px;color:#627a88;position:relative;top:-7px}.require-field{color:#f52305}.rental-add-ons h6{color:#627a88}.saved-cc-error{margin-top:21px}.rental-additional-info p{margin-bottom:9px}#driverDetailsFormRow .column-header{color:#131313;font-weight:700}#driverDetailsFormRow .currency-code,.rental-options-wrapper .rental-plus-day,.rental-options-wrapper .rentalCar-description{color:#36495a}.rental-options-wrapper .rental-upgrade .rentalCar-price{color:#00467f}fieldset[data-behavior~=tooltip]{display:block}.aa-tooltip{color:#36495a;background-color:#fff;border:1px solid #4db4fa}.aa-tooltip:focus{outline:none;border:2px solid #0078d2}.aa-tooltip:focus .tooltip-arrow{border-top:9px solid #0078d2}.aa-tooltip:focus .tooltip-wrapper{margin:9px}.aa-tooltip:focus .tooltip-close{top:9px;right:9px}.aa-tooltip .tooltip-wrapper{margin:10px;overflow:hidden}.aa-tooltip .tooltip-title{font-size:14px;font-size:1rem;line-height:20px;margin:0 0 10px}.aa-tooltip .tooltip-close{padding:0;position:absolute;top:10px;right:10px}.aa-tooltip .tooltip-close:focus{outline:none}.aa-tooltip .tooltip-close:focus [class*=icon-]{display:inline}.tooltip-container{position:relative}.tooltip-container a{position:absolute;top:0;right:0}.tooltip-container a.sc-tooltip-icon-align{top:4px}.tooltip-container .label-text{padding-right:15px}.generalErrors .message-error h2,.generalErrors .message-error h2 .linkToFirstError,.generalErrors .message-error h3,.generalErrors .message-error h3 .linkToFirstError{color:#c30019}.generalErrors.error-small .message-error{padding:0 0 0 16px}.generalErrors.error-small .message-error:before{font-size:1.08333rem;top:0}.generalErrors.error-small .message-error h2,.generalErrors.error-small .message-error h3{font-size:100%;font-family:inherit;line-height:inherit;display:inline}.cars-feature-home{margin-top:18px;position:relative;z-index:2}.cars-feature-home,.cars-feature-home:active,.cars-feature-home:focus,.cars-feature-home:hover{text-decoration:none}.aadvantage-logo{margin:-9px 0 -14px}.lt-ie9 #book-panel{border:1px solid #d0dae0}.lt-ie9 .drop-shadow{border:solid #d0dae0;border-width:0 0 1px}.lt-ie9 .drop-shadow.inside-up{border:solid #d0dae0;border-width:1px 0 0}@media print{.ad-container-footer,.footer-icons,.menu-meganav,.menu-utility,.nav-links{display:none}.site-banner{height:70px}.oneworld-logo{top:7px}.footer-head,.footer-head+.list-standard,footer{display:none}section.container{margin-top:18px}.print-text{display:block!important}.print-column-width{width:auto!important;text-align:left}.drop-shadow.curved-horizontal{border:solid #d0dae0;border-width:0 0 1px}.drop-shadow.curved-horizontal:before{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.drop-shadow.curved-horizontal.inside-up{border-width:1px 0 0}.confirmation-wrapper .btn,.confirmation-wrapper .icon-clock,.confirmation-wrapper .icon-location,.confirmation-wrapper .rental-cars,.confirmation-wrapper [class*=icon-],.confirmation-wrapper [class^=icon-],.confirmation-wrapper [class^=logos-cars],.confirmation-wrapper button,.confirmation-wrapper form a{display:none}.confirmation-wrapper .box-margin-bottom{margin-bottom:9px}.confirmation-wrapper .rental-location{min-height:inherit;margin-top:9px;margin-bottom:0}.confirmation-wrapper .icon-car-features,.confirmation-wrapper .logos-cars-sm{background-image:none;width:auto}.confirmation-wrapper .lead{font-size:16px;line-height:21px}.confirmation-wrapper .sub-lead{font-size:13px;line-height:18px}.confirmation-wrapper .rental-booking-summary-wrapper{padding:0}.confirmation-wrapper .rental-date-location .logos-cars-sm .print-text{font-size:18px;line-height:21px;font-weight:700}.confirmation-wrapper .rentalCar-details .delta{top:0;font:inherit}.confirmation-wrapper .rentalCar-details .print-text{display:inline-block!important}}.row-noBreak>[class*=span] .btn,.row>[class*=span] .btn{width:100%;min-width:0}@media (max-width:479px){.icon-car-features{margin-right:0}.rentalCar-vendor-image{margin-left:3px}#book-panel{min-width:200px;z-index:0}}@media screen and (min-width:480px) and (max-width:767px){#book-panel{min-width:300px;z-index:0}.feature .feature-head{margin-top:0}.features .feature-middle-lpg h3{margin-top:18px}}@media screen and (max-width:767px){#navigation ul li.opened a{-webkit-box-shadow:none;box-shadow:none}#navigation ul li.opened a:after{position:relative}section.container{margin-top:18px}.book-panel-wrapper{min-height:0}#book-panel{left:0;position:relative}#main-content .site-content{top:-20px}.drop-shadow .border-line{height:12px}.drop-shadow{margin-bottom:12px}.banner{margin-top:18px}.pageslide{display:block!important}.rentalCar-price{border:none;margin-top:18px}.rental-days-total{border-bottom:1px solid #d0dae0;padding-bottom:3px;margin-bottom:18px}#modifySearch{margin-top:0;background-color:#ebeff0;color:#36495a!important}.lead{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:18px;font-size:1.28571rem;line-height:30px}.nav-links,.nav-links li{text-align:center}.rental-cars{width:145px}.vendor-name{text-align:left}.box-padding{padding:9px 7px}.results-prices-text{margin-top:9px}.rentalCar-insurance-wrapper{margin-top:18px;min-height:100px}.saved-cc-error{margin-top:0}.rental-cdp-purchase{border:none}.features{margin-bottom:0}.features .feature-middle-aadv h3{margin-top:9px}.features [class*=feature-top]{border-bottom:1px solid #d0dae0;text-align:center;padding-bottom:9px}.features .feature-call{margin-right:0}.features .last-feature{border:none}.feature-border-right{border-right:none;padding-right:0}#modifyResultsOptions{background-color:#ebeff0}.custombox-wrapper input[type=checkbox],.custombox-wrapper input[type=radio],.custombox>input[type=checkbox],.custombox>input[type=radio]{left:4px;opacity:0;top:2px;margin-left:0}.cars-feature-home,.margin-top.mobile{margin-top:0}.drop-shadow.margin-fix{margin-top:13px;margin-bottom:6px}.block-phone{display:block!important}header #main-navigation{border-bottom:1px solid #f5f5f7;margin-left:0}header #main-navigation .mobile-logo{float:left}header #main-navigation .mobile-logo .aa-logo{margin-bottom:14px}header #main-navigation .mobile-logo .aa-logo img{display:block;height:24px;margin-top:16px;max-width:none}header #main-navigation .mobile-nav{float:right}header #main-navigation .mobile-nav .utility-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}header #main-navigation .login-button{color:#fff;background-color:#0061ab;padding:4px 6px;margin:15px 0;min-width:77px;font-size:12px;font-size:.85714rem;line-height:18px;text-align:center;white-space:nowrap;vertical-align:middle;border:1px solid rgba(0,0,0,0);border-radius:2px}header #main-navigation .pageslide-button .icon-menu.icon-large:before{font-size:28px;font-size:2rem}header #main-navigation #utilityCustomerInfo.customer-info{margin-top:15px;margin-bottom:13px;position:relative;bottom:0;right:-4px}header #main-navigation #utilityCustomerInfo.customer-info [data-behavior~=dropdown-trigger]{margin-top:2px;outline-offset:-2px}header #main-navigation #utilityCustomerInfo.customer-info .js-dropdown-panel{left:auto;right:-30px}header #main-navigation #utilityCustomerInfo.customer-info .icon-downarrowhead:before{font-size:22px;font-size:1.57143rem}header #main-navigation .pageslide-button{padding:8px 7px;margin:0}header #main-navigation #loginLogoutLink{margin-right:5px}header #main-navigation #myAccountDropdown{display:inline-block;color:#0061ab;font-size:13px;font-size:.92857rem;line-height:19px}header #main-navigation #myAccountDropdown .icon-downarrowhead:before{font-size:18px;font-size:1.28571rem;line-height:24px}header #main-navigation #myAccountDropdown .user-greeting{display:inline-block;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:96px}header #main-navigation #myAccountDropdown:focus,header #main-navigation #myAccountDropdown:hover{text-decoration:none}header #main-navigation #myAccountDropdown:focus .user-greeting,header #main-navigation #myAccountDropdown:hover .user-greeting{text-decoration:underline}header .mobile-utility #language-selector{z-index:90}header .container{padding:0 3%;margin-bottom:0;background:none}header .container .menu-utility{float:none;margin:0}header .container .menu-utility .customer-info{float:left}header .container .menu-utility .customer-info .js-dropdown-panel{right:auto;left:6px}header .aa-logo{margin-top:14px;margin-bottom:5px;width:auto}header .pageslide-button{margin-top:5px}header .pageslide-button i{margin-top:-2px}header #site-nav{display:none}header #utility-nav{position:relative}header #utility-nav [data-behavior~=dropdown]{float:right}header #utility-nav [data-behavior~=dropdown] .js-dropdown-panel{right:6px;left:auto}header #utility-nav .customer-info{float:left}header #utility-nav .customer-info .js-dropdown-panel{right:auto;left:6px}header #countrySelector{float:right}header #countrySelector .js-dropdown-panel{right:6px;left:auto}header #aa-site-search{display:none}header .site-banner{height:auto;margin:9px 0}header .site-logo{position:relative;bottom:0}header .oneworld-logo{display:none}header .aa-logo img,header .site-logo img{max-width:150px}}@media screen and (min-width:768px) and (max-width:979px){#main-content .site-content{top:-50px}.book-panel-wrapper{min-height:360px}.banner{margin-top:36px}.pageslide{display:block!important}.saved-cc-error{margin-top:0}.rentalCar-insurance-wrapper{margin-top:18px;min-height:100px}.features [class*=" feature-middle"] .feature-row{min-height:126px}.feature-middle-lpg [class*=span]{margin-top:15px}#searchResultsMatrix{margin-right:6px;margin-left:6px}}@media screen and (min-width:768px){.allianz-logo{float:right;text-align:right}}@media screen and (min-width:980px){.rental-days-total{text-align:right}}.is-mobile a [class^=icon-]:before,.is-tablet a [class^=icon-]:before{font-size:18px;font-size:1.28571rem}.is-mobile a .icon-large:before,.is-tablet a .icon-large:before{font-size:22px;font-size:1.57143rem}.is-mobile a .icon-xlarge:before,.is-tablet a .icon-xlarge:before{font-size:54px;font-size:3.85714rem;line-height:1}#aa-content-frame{margin-top:-10px;padding-top:10px}.filterCheckbox-fullwidth{width:100%}#filterCar li label,#filterVendor li label{margin:2px 0}#searchFilters a,a .matrix-priceDay{color:#00467f}#priceFilterAmounts,#searchFilters h3,.paragraph-link-gray,.rentalCar-price .rental-price,.results-prices-text,.tabular-matrix .cell,.tabular-matrix .cell .data-unavailable{color:#36495a}.hover-link-paragraph{color:#0078d2}.hover-link-paragraph:active,.hover-link-paragraph:focus,.hover-link-paragraph:hover{text-decoration:underline}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19idXR0b25zLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCIvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19oYWNrcy5zY3NzIiwiL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbWFnZXMuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jcm9zc19icm93c2VyX3N1cHBvcnQuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCIuLi92My9zdGFuZGFsb25lLWNhci9wYXJ0aWFscy9fanF1ZXJ5LXVpLnNjc3MiLCIuLi92My9zdGFuZGFsb25lLWNhci9wYXJ0aWFscy9fZGF0ZXBpY2tlci1vdmVycmlkZS5zY3NzIiwiLi4vdjMvc3RhbmRhbG9uZS1jYXIvcGFydGlhbHMvX3RhYnMtb3ZlcnJpZGUuc2NzcyIsIi4uL3YzL3N0YW5kYWxvbmUtY2FyL3BhcnRpYWxzL19iYXNlLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fZ3JpZC12YXJpYWJsZXMuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fb3BhY2l0eS5zY3NzIiwiLi4vdjMvc3RhbmRhbG9uZS1jYXIvcGFydGlhbHMvX2llLWZpeGVzLnNjc3MiLCIuLi92My9zdGFuZGFsb25lLWNhci9wYXJ0aWFscy9fcHJpbnQuc2NzcyIsIi4uL3YzL3N0YW5kYWxvbmUtY2FyL3BhcnRpYWxzL19yZXNwb25zaXZlLnNjc3MiLCIuLi92My9zdGFuZGFsb25lLWNhci9wYXJ0aWFscy9fYWRhcHRpdmUuc2NzcyIsIi4uL3YzL3N0YW5kYWxvbmUtY2FyL3BhcnRpYWxzL19hMTF5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsS0FDSSx3QkNFZSxFQ3NCZixNQUFRLENDOERSLG1IQUF3SyxDQWpFcEYsZ0RDY3JELENEVHFELGtGSHhCdkIsQ0d3QnVCLDJDSHhCdkIsQ0FDN0Qsd0JDRGUsQ0lnQjhDLGlCTGRuQyxDQUMxQixvQkFBd0IsQ0FDeEIsZ0JBQWlCLENBQ2pCLGFBQWMsQ0FDZCxTQUFVLENBQ1YsWUFBYSxDQUNiLGdCQUFpQixDQUNqQixtREM2RWdFLENLdENoRSxjQUF5QixDQUN6QixvQkFBMEMsQ050QzFDLGVBQW1CLENBQ25CLGlCQUFrQixDQUNsQixxQkFBc0IsQ0FDdEIsd0JBQXlCLENBakI3Qiw4REFvQlEsd0JDaEJhLENEaUJiLFVDWk8sQ0RhUCx3QkNsQmEsQ0RtQmIseUJBQTBCLEVFRTlCLE1BQVEsQ0M4RFIsbUhBQXdLLENBakVwRixnRENjckQsQ0RUcUQsa0ZIRjVELENHRTRELDJDSEZwQixDQXpCcEUsaUNBNkJRLHdCQ3hCVSxDRWlCc0UsZ0RDY3JELENEVHFELGtGSEd2QixDR0h1QiwyQ0hHdkIsRUVMN0QsTUFBUSxDQzhEUixtSEFBd0ssQ0h2RjVLLFVBbUNRLGdCQUFpQixDQW5DekIsMkJBdUNRLGVBQWdCLENNWXBCLGNBQXlCLENBQ3pCLGNBQTBDLENOWHpDLG1CQUdHLGNBQWUsQ0FDbEIsZ0JFcEJELE1BQVEsQ0M4RFIsbUhBQXdLLENBakVwRixnRENjckQsQ0RUcUQsa0ZIdUJ4QixDR3ZCd0IsMkNIdUJ4QixDQUM1RCx3QkM3QmdCLENEMEJwQix1R0V2QkksTUFBUSxDQzhEUixtSEFBd0ssQ0FqRXBGLGdEQ2NyRCxDRFRxRCxrRkg0QmpCLENHNUJpQiwyQ0g0QmpCLENBQy9ELHdCQ2hDVyxDRHdCbkIscURBWVEsd0JDbkNlLENEb0NmLHdCQ3BDZSxDRHFDbEIsV0FJRCxlQ3pEVyxDRDBEWCwwQkFBNEIsQ0FDNUIsV0FBWSxDQUNaLHdC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USx5QkFBMEIiLCJmaWxlIjoidjMvc3RhbmRhbG9uZS1jYXIvc3RhbmRhbG9uZS1jYXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGJyYW5kQmx1ZSwgJGRldHJvaXRCbHVlKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkYnJhbmRCbHVlLCAkZGV0cm9pdEJsdWUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIG1pbi13aWR0aDogMTMuMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpob3ZlcjplbmFibGVkLCAmOmZvY3VzOmVuYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkZXRyb2l0Qmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlci1ncmFkaWVudCgkZGV0cm9pdEJsdWUsICRkYXJrQmx1ZSk7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRkZXRyb2l0Qmx1ZSwgJGRhcmtCbHVlKSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6ZW5hYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJGRhcmtCbHVlLCAkZGFya0JsdWUpKTtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyLWdyYWRpZW50KCRkYXJrQmx1ZSwgJGRhcmtCbHVlKTtcbiAgICB9XG5cbiAgICArIC5idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICB9XG5cbiAgICAmIFtjbGFzcyo9XCJpY29uLVwiXTpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJzcGFuXCJdID4gJiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJG1lZGl1bUdyYXksICRjYWRldEdyYXkpO1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRtZWRpdW1HcmF5LCAkY2FkZXRHcmF5KSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bUdyYXk7XG5cbiAgICAmOmhvdmVyOmVuYWJsZWQsICY6Zm9jdXM6ZW5hYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlci1ncmFkaWVudCgkY2FkZXRHcmF5LCAkZGFya0NhZGV0R3JheSk7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRjYWRldEdyYXksICRkYXJrQ2FkZXRHcmF5KSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYWRldEdyYXk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6ZW5hYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQ2FkZXRHcmF5O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFya0NhZGV0R3JheTtcbiAgICB9XG59XG5cbi5idG4tZ2hvc3Qge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBtaW4td2lkdGg6IDguMTllbSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGV0cm9pdEJsdWU7XG4gICAgY29sb3I6ICRkZXRyb2l0Qmx1ZSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAmOmhvdmVyOmVuYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgfVxuXG4gICAgJjpmb2N1czplbmFibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6ZW5hYmxlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxufVxuXG5hLmJ0biB7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgLmJ0bjplbmFibGVkO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICB9XG59XG5cbmEuYnRuLXNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAuYnRuLXNlY29uZGFyeTplbmFibGVkO1xufVxuXG4uYnRuLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJGxpbmtDb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICByaWdodDogNHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRCbHVlO1xuICAgIH1cbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYnRuLXNlYXJjaCB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgIH1cbn1cblxuLmJ0bi1mdWxsV2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmJ0bi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgY29sb3I6ICRsaW5rQ29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LWZhbWlseTogJHN0YW5kYXJkRm9udEZhbWlseTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZUZvbnRTaXplKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmtIb3ZlckNvbG9yO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkICRncmF5MDE7XG4gICAgfVxufVxuXG4ucm93LWJ1dHRvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBtYXJnaW4oXCJ0b3BcIiwgXCJiYXNlXCIpO1xuXG4gICAgLmJ0biB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICsgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIiRleHRyZW1lSGlnaGxpZ2h0Qmx1ZTogI0YwRjdGQzsgLy8gQUEgRXh0cmVtZSBoaWdobGlnaHQgYmx1ZVxuJGhpZ2hsaWdodEJsdWU6ICNFMUYwRkE7IC8vIEFBIEhpZ2hsaWdodCBCbHVlXG4kbGlnaHRCbHVlOiAjNERCNEZBOyAvLyBBQSBMaWdodCBCbHVlXG4kYnJhbmRCbHVlOiAjMDA3OEQyOyAvLyBBQSBCbHVlIChCcmFuZCBCbHVlKVxuJGRldHJvaXRCbHVlOiAjMDA2MUFCOyAvLyBBQSBCdXR0b24gQmx1ZVxuJGRhcmtCbHVlOiAjMDA0NjdGOyAvLyBBQSBEYXJrIEJsdWVcbiR0ZWFsOiAjQjFFMUVCOyAvLyBBQSBUZWFsXG4kbGlnaHRUZWFsOiAjRUZGOUZCOyAvLyBBQSBMaWdodCBUZWFsXG5cbiR3aGl0ZTogI0ZGRkZGRjsgLy8gQUEgV2hpdGVcbiRncmVlbjogIzAwODcxMjsgLy8gQUEgR3JlZW5cbiRyYW5nZXJHcmVlbjogIzAwN0QxMDsgLy8gQUEgRGFyayBHcmVlbiB1c2VkIGZvciBncmV5IGJhY2tncm91bmRzXG4keWVsbG93R3JlZW46ICNEMUQ1MzI7IC8vIEFBIFllbGxvdy1HcmVlblxuJGxpZ2h0T3JhbmdlOiAjRkFBRjAwOyAvLyBBQSBMaWdodCBPcmFuZ2VcbiRvcmFuZ2U6ICNEMTQ5MDQ7IC8vIEFBIE9yYW5nZVxuJHJlZDogI0Y1MjMwNTsgLy8gQUEgUmVkXG4kZGFya1JlZDogI0MzMDAxOTsgLy8gQUEgRGFyayBSZWRcbiRsdWNreVB1cnBsZTogIzkzMTk4MjsgLy8gQUEgTHVja3kgUHVycGxlXG5cbiR1bHRyYUxpZ2h0R3JheTogI0VCRUZGMDsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGxpZ2h0R3JheTogI0QwREFFMDsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXk6ICM5REE2QUI7IC8vIEFBIEdyYXlcbiRtZWRpdW1HcmF5OiAjNjI3QTg4OyAvLyBBQSBNZWRpdW0gR3JheVxuJGRhcmtHcmF5OiAjMzY0OTVBOyAvLyBBQSBEYXJrIEdyYXlcbiRjYWRldEdyYXk6ICM1MzY3NzM7IC8vQUEgQ2FkZXQgR3JheVxuJGRhcmtDYWRldEdyYXk6ICM0NjU3NjI7IC8vQUEgRGFyayBDYWRldCBHcmF5XG4kYmxhY2s6ICMxMzEzMTM7IC8vIEJsYWNrXG4kc3VwZXJVbHRyYUxpZ2h0R3JheTogI0Y1RjVGNzsgLy8gQUEgU3VwZXIgVWx0cmEgTGlnaHQgR3JheVxuJGV4dHJlbWVVbHRyYUxpZ2h0R3JheTogI0ZBRkJGQjsgLy8gQUEgRXh0cmVtZSBVbHRyYSBMaWdodCBHcmF5XG4kaGFsZndheUxpZ2h0R3JheTogI0U3RUNFRjsgLy8gQUEgaGFsZndheSBsaWdodCBHcmF5XG4kdGFibGVMaWdodEdyYXk6ICNGM0Y1RjY7ICAgLy8gQUEgVGFibGUgTGlnaHQgR3JheVxuXG4vLyBMZWdhY3kgdmFyaWFibGVzIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHlcbiRncmF5MDE6ICR1bHRyYUxpZ2h0R3JheTsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGdyYXkwMjogJGxpZ2h0R3JheTsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXkwMzogJGdyYXk7IC8vIEFBIEdyYXlcbiRncmF5MDQ6ICRtZWRpdW1HcmF5OyAvLyBBQSBNZWRpdW0gR3JheVxuJGdyYXkwNTogJGRhcmtHcmF5OyAvLyBBQSBEYXJrIEdyYXlcblxuLy9cbi8vIEVsaXRlIFRpZXIgY29sb3JzXG4vLyBUaGVzZSBhcmUgTk9UIEZJTkFMLCBiYXNlZCBvbiBjb25jZXB0cyBieSBEYXZlIEplbm5pbmdzIGFuZCBNaWtlIEhlYWRsZXlcbi8vXG4kdGllclJFR0Rhcms6ICRkYXJrQmx1ZTtcbiR0aWVyUkVHTWlkOiAkYnJhbmRCbHVlO1xuJHRpZXJSRUdMaWdodDogJGxpZ2h0Qmx1ZTtcblxuXG4kdGllckdMRERhcms6ICM3MzY1MkI7XG4kdGllckdMRE1pZDogIzc4NjkzMTtcbiR0aWVyR0xETGlnaHQ6ICNGRkY0REM7XG5cbiR0aWVyUExURGFyazogI0M3QzhDQTtcbiR0aWVyUExUTWlkOiAjRTdFOEU4O1xuJHRpZXJQTFRMaWdodDogI0ZERkRGRDtcblxuJHRpZXJFWFBEYXJrOiAjMDAwMDAwO1xuJHRpZXJFWFBNaWQ6ICM1MTUxNTE7XG4kdGllckVYUExpZ2h0OiAjQzdDOENBO1xuXG5cbi8vXG4vLyBCcmFuZC1yZWxhdGVkIHRleHQgY29sb3JzXG4vL1xuJGJvZHlDb2xvcjogJGRhcmtHcmF5O1xuXG4kbGlua0NvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtIb3ZlckNvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtWaXNpdGVkQ29sb3I6ICRsaWdodEJsdWU7XG5cbiRhbHRMaW5rQ29sb3I6ICRkYXJrR3JheTtcbiRhbHRMaW5rSG92ZXJDb2xvcjogJGJyYW5kQmx1ZTtcbiRhbHRMaW5rVmlzaXRlZENvbG9yOiAkZGFya0dyYXk7XG5cbiRoZWFkaW5nc0NvbG9yOiAkYnJhbmRCbHVlO1xuJGFsdEhlYWRpbmdzQ29sb3I6ICRtZWRpdW1HcmF5O1xuXG4kZm9jdXNDb2xvcjogI0IwRDFFODtcblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRhbWVyaWNhbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2FtZXJpY2FuLXYyL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSWNvbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2ljb25zL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSW1nUGF0aDogXCIvY29udGVudC9pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbiRzdGFuZGFyZEZvbnRGYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuJHNhbnNGb250RmFtaWx5TGlnaHQ6IFwiQW1lcmljYW5TYW5zTGlnaHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRzYW5zRm9udEZhbWlseVJlZ3VsYXI6IFwiQW1lcmljYW5TYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2Fuc0ZvbnRGYW1pbHlNZWRpdW06IFwiQW1lcmljYW5TYW5zTWVkaXVtXCIsIENhbGlicmksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRiYXNlRm9udFNpemU6IDE0O1xuJGJhc2VGb250RmFtaWx5OiAkc3RhbmRhcmRGb250RmFtaWx5O1xuJGJhc2VMaW5lSGVpZ2h0OiAyMHB4O1xuXG4vL1xuLy8gRm9udCBzaXplcyAoaW4gcGl4ZWxzKVxuLy9cbiRsZy1zaXplOiA1NiFkZWZhdWx0O1xuJGgxLXNpemU6IDM4IWRlZmF1bHQ7XG4kaDItc2l6ZTogMzAhZGVmYXVsdDtcbiRoMy1zaXplOiAyNCFkZWZhdWx0O1xuJGg0LXNpemU6IDE4IWRlZmF1bHQ7XG4kaDUtc2l6ZTogMTYhZGVmYXVsdDtcbiRoNi1zaXplOiAxNCFkZWZhdWx0O1xuJHNtLXNpemU6IDEyIWRlZmF1bHQ7XG4kdnNtLXNpemU6IDEwIWRlZmF1bHQ7XG4kbWVkLXNpemU6IDIxIWRlZmF1bHQ7XG4kcmVnLXNpemU6IDI3IWRlZmF1bHQ7XG5cbiRmb250U2l6ZXM6IChcbiAgICBhbHBoYTogKFxuICAgICAgICBkZXNrdG9wOiAkaDEtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAzMlxuICAgICksXG4gICAgYmV0YTogKFxuICAgICAgICBkZXNrdG9wOiAkaDItc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAyN1xuICAgICksXG4gICAgZ2FtbWE6IChcbiAgICAgICAgZGVza3RvcDogJGgzLXNpemUsXG4gICAgICAgIG1vYmlsZTogMjFcbiAgICApLFxuICAgIGRlbHRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNC1zaXplLFxuICAgICAgICBtb2JpbGU6IDE4XG4gICAgKSxcbiAgICBlcHNpbG9uOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNS1zaXplLFxuICAgICAgICBtb2JpbGU6IDE2XG4gICAgKSxcbiAgICB6ZXRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNi1zaXplLFxuICAgICAgICBtb2JpbGU6IDE1XG4gICAgKVxuKTtcblxuJGxpbmVIZWlnaHRJbmNyZW1lbnQ6IDYhZGVmYXVsdDtcbiRsZy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAzLjE7XG4kaDEtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMi4yO1xuJGgyLWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuODtcbiRoMy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjU7XG4kaDQtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMS4yO1xuJGg1LWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuMTtcbiRoNi1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQ7XG4kc20tbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMC45O1xuXG4kaWNvbi1zbWFsbDogICAxMiFkZWZhdWx0O1xuJGljb24tZGVmYXVsdDogMTQhZGVmYXVsdDtcbiRpY29uLW1lZGl1bTogIDE4IWRlZmF1bHQ7XG4kaWNvbi1sYXJnZTogICAyNCFkZWZhdWx0O1xuJGljb24teGxhcmdlOiAgNTQhZGVmYXVsdDtcbiRpY29uLXh4bGFyZ2U6IDcwIWRlZmF1bHQ7XG4kaWNvbi14eHhsYXJnZTo4NiFkZWZhdWx0O1xuXG4vLyBsaXN0IHNwYWNpbmdcbiRiYXNlTGlzdFNwYWNpbmc6IDZweDtcblxuLy9cbi8vIFRoaXMgaXMgdGhlIGJhc2U2NC1lbmNvZGVkIGRyb3Bkb3duIHRyaWFuZ2xlIHVzZWQgaW4gZHJvcGRvd24gdHJpZ2dlcnMgc3VjaFxuLy8gYXMgdGhlIGNvdW50cnkvbGFuZ3VhZ2UgYW5kIGFjY291bnQgc3RhdHVzIGluIHRoZSBoZWFkZXIsIGFzIHdlbGwgYXMgPHNlbGVjdD5cbi8vIGlucHV0cyBpbiBmb3Jtcy5cbi8vXG4kZHJvcGRvd25UcmlhbmdsZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaERRQUVBSUFBQUFBQUFQOEEveUg1QkFFSEFBRUFMQUFBQUFBTkFBUUFBQUlMaEEraEc1ak1EcHh2aGdJQU93PT0pO1xuJGJsdWVEcm9wZG93blRyaWFuZ2xlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBUENBWUFBQUQrcEEvYkFBQUFBWE5TUjBJQXJzNGM2UUFBQU45SlJFRlVPQkcxa2NFTmdrQVFSZi9BUVZ1Z0JROWNMTVVlOUlSbnRRQzFCS1VoVGw0MHNRVjZNREhyekVJVUI1QmR3RW1XTEp1Wjl6TjVoTzN0QkdOVytFY1JuUU5NZ2pXSXN0SDV3bVEyV2ZEdUhzRThMN3hKTkVvUVVRNEs1OWpQOHNBQytRS1lCVy95R0J4Z0djeXlUS0FJRU9vaHpuaURaSENBTUlSVjFpZEFIbzV4eWw4NWZTc3RHZS81N3dCNW5vWkpMK2tpVldaVkZaTFZJM3lsVjZScVZIMEQ2ZkNScnFTNkJVaVhxM1FsMVQxQU9ydWwxNlQ2QlVoM20vUVdxVHFnV2JMdTB0Si9TTldqelpKMVYxVjZoMVE5NnZlL3VTNGh4Nk5lRlhoWmcxN2c4blFBQUFBQVNVVk9SSzVDWUlJPScpO1xuXG4vL1xuLy8gR1JJRC1WQVJJQUJMRVNcbi8vXG5cbiRmbHVpZDogZmFsc2UhZGVmYXVsdDtcblxuJGdyaWRDb2x1bW5zOiAxMjtcbiRncmlkQ29sdW1uV2lkdGg6IDY0cHg7XG4kZ3JpZEd1dHRlcldpZHRoOiAyMnB4O1xuJGdyaWRIZXJvV2lkdGg6IDkwcHg7XG4kZ3JpZEhlcm9IZWlnaHRPZmZzZXQ6IDg1cHg7XG5cbiRncmlkVG90YWxHdXR0ZXI6ICRncmlkQ29sdW1ucyAqICRncmlkQ29sdW1uV2lkdGggKyAkZ3JpZENvbHVtbnMgKiAkZ3JpZEd1dHRlcldpZHRoO1xuXG4kZ3JpZFRvdGFsOiAkZ3JpZFRvdGFsR3V0dGVyIC0gJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGZsdWlkR3JpZENvbHVtbldpZHRoOiBwZXJjZW50YWdlKCRncmlkQ29sdW1uV2lkdGggLyAkZ3JpZFRvdGFsR3V0dGVyKTtcbiRmbHVpZEdyaWRHdXR0ZXJXaWR0aDogcGVyY2VudGFnZSgkZ3JpZEd1dHRlcldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG4kZml4ZWRDb250YWluZXJXaWR0aDogICAoJGdyaWRDb2x1bW5zICogJGdyaWRDb2x1bW5XaWR0aCkgKyAoJGdyaWRHdXR0ZXJXaWR0aCAqICgkZ3JpZENvbHVtbnMgLSAxKSk7XG4kbW9iaWxlQ29udGFpbmVyTGVmdFBhZGRpbmc6IDMlO1xuJG1vYmlsZUNvbnRhaW5lclJpZ2h0UGFkZGluZzogMyU7XG5cbi8vXG4vLyBIZWFkZXItU3BhY2luZ1xuLy9cblxuJG1vYmlsZS1oZWFkZXItbWFyZ2luLWJvdHRvbTogMjBweDtcbiIsIkBpbXBvcnQgXCIuLi8uLi9zdXBwb3J0XCI7XG5cbi8vIFRoZSBgem9vbWAgYXBwcm9hY2ggZ2VuZXJhdGVzIGxlc3MgQ1NTIGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZS5cbi8vIFNldCB0aGlzIHRvIGBibG9ja2AgdG8gdXNlIHRoZSBkaXNwbGF5LXByb3BlcnR5IHRvIGhhY2sgdGhlXG4vLyBlbGVtZW50IHRvIGdhaW4gbGF5b3V0LlxuJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaDogem9vbSAhZGVmYXVsdDtcblxuLy8gVGhpcyBtaXhpbiBjYXVzZXMgYW4gZWxlbWVudCBtYXRjaGluZyB0aGUgc2VsZWN0b3Jcbi8vIHRvIGdhaW4gdGhlIFwiaGFzTGF5b3V0XCIgcHJvcGVydHkgaW4gaW50ZXJuZXQgZXhwbG9yZXIuXG4vLyBNb3JlIGluZm9ybWF0aW9uIG9uIFtoYXNMYXlvdXRdKGh0dHA6Ly9yZWZlcmVuY2Uuc2l0ZXBvaW50LmNvbS9jc3MvaGFzbGF5b3V0KS5cbkBtaXhpbiBoYXMtbGF5b3V0KCRhcHByb2FjaDogJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgQGlmICRhcHByb2FjaCA9PSB6b29tIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9IEBlbHNlIGlmICRhcHByb2FjaCA9PSBibG9jayB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LWJsb2NrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGhhcy1sYXlvdXQgYXBwcm9hY2g6ICN7JGFwcHJvYWNofVwiO1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC16b29tIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IHtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC1ibG9jayB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAvLyBUaGlzIG1ha2VzIGllNiBnZXQgbGF5b3V0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vIGFuZCB0aGlzIHB1dHMgaXQgYmFjayB0byBibG9ja1xuICAgICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG59XG5cbi8vIEEgaGFjayB0byBzdXBwbHkgSUU2IChhbmQgYmVsb3cpIHdpdGggYSBkaWZmZXJlbnQgcHJvcGVydHkgdmFsdWUuXG4vLyBbUmVhZCBtb3JlXShodHRwOi8vd3d3LmNzc3BvcnRhbC5jb20vY3NzLWhhY2tzLyNpbl9jc3MtaW1wb3J0YW50KS5cbkBtaXhpbiBiYW5nLWhhY2soJHByb3BlcnR5LCAkdmFsdWUsICRpZTYtdmFsdWUpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICN7JHByb3BlcnR5fTogI3skaWU2LXZhbHVlfTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAtcGllKCRiYWNrZ3JvdW5kcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY3Jvc3MgYnJvd3NlciBzdXBwb3J0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnJiXG4vLyBcblxuQGZ1bmN0aW9uIHByZWZpeGVkKCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICAkcHJlZml4ZWQ6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09ICdzdHJpbmcnIHtcbiAgICAgICRwcmVmaXhlZDogJHByZWZpeGVkIG9yIHN0ci1pbmRleCgkaXRlbSwgJ3VybCcpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJ3JnYicpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJyMnKSAhPSAxO1xuICAgIH0gQGVsc2VpZiB0eXBlLW9mKCRpdGVtKSA9PSAnY29sb3InIHtcbiAgICB9IEBlbHNlaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkcHJlZml4ZWQ6IHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByZWZpeGVkO1xufVxuXG5AZnVuY3Rpb24gcHJlZml4KCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiBcIlwiO1xuXG4gIC8vIFN1cHBvcnQgZm9yIHBvbHltb3JwaGlzbS5cbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5MSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTE7XG4gIH0gQGVsc2Uge1xuICAgIC8vIFBhc3NpbmcgbXVsdGlwbGUgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgfVxuXG4gICRwcm9wczogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJGl0ZW0gPT0gbnVsbCB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBwcmVmaXhlZCgkcHJlZml4LCAkaXRlbSkge1xuICAgICAgICAkaXRlbTogI3skcHJlZml4fS0jeyRpdGVtfTtcbiAgICAgIH1cbiAgICAgIEBpZiAkcHJvcHMge1xuICAgICAgICAkcHJvcHM6ICRwcm9wcywgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwcm9wczogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByb3BzO1xufVxuXG5AZnVuY3Rpb24gLXN2ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXN2ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW93ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW93ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXdlYmtpdCgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXdlYmtpdCcsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW1veigkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW1veicsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW8oJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtcGllKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctcGllJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcblxuQG1peGluIGNsZWFyZml4IHtcbiAgICAqem9vbTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gc2VsZmNsZWFyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzLWFjY2Vzc2libGV7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9jdXNDb2xvcjtcbiAgICAgICAuaXMtbW9iaWxlICYge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gaGlkZGVuLWFjY2Vzc2libGUge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGNsaXA6IHJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuQG1peGluIGhpZGUtdGV4dCB7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSAvICRiYXNlRm9udFNpemUgK3JlbTtcbn1cbkBtaXhpbiBmb250LXNpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSArcHg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplIC8gJGJhc2VGb250U2l6ZSArcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC1zaXplICsgJGxpbmVIZWlnaHRJbmNyZW1lbnQgKyBweDtcbn1cblxuQG1peGluIGZvbnQtc2l6ZS1pbXBvcnRhbnQoJGZvbnQtc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSArcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgLyAkYmFzZUZvbnRTaXplICtyZW0gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGhlYWQxKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnYWxwaGEnLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDIoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdiZXRhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQzKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnZ2FtbWEnLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDQoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2RlbHRhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ1KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJGJhc2VGb250RmFtaWx5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2Vwc2lsb24nLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDYoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZUZvbnRGYW1pbHk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnemV0YScsICR0eXBlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1peGluIGZvbnQtc21hbGx7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlRm9udEZhbWlseTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJHNtLXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkc20tbGluZUhlaWdodDtcbn1cblxuQG1peGluIGZvbnQtbGFyZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGxnLXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGctbGluZUhlaWdodDtcbn1cblxuQG1peGluIHNoYWRvdy11cCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi11cC5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBib3R0b207XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNHB4O1xufVxuXG5AbWl4aW4gc2hhZG93LWRvd24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItZG93bi5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNHB4O1xufVxuXG5AbWl4aW4gc2hhZG93LXVwLXRvcCB7XG4gICAgQGluY2x1ZGUgc2hhZG93LXVwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7XG59XG5cbkBtaXhpbiBzaGFkb3ctZG93bi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHNoYWRvdy1kb3duO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBib3R0b207XG59XG5cbkBtaXhpbiBzaGFkb3ctYm90aCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi11cC5wbmcpLCB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdzEyLWRvd24ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tLCA1MCUgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcblxuICAgIC5sdC1pZTkgJiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplOidiYXNlJykge1xuICAgICRuOiAxO1xuICAgIEBpZiAoJHNpemUgPT0gJ3hzbWFsbCcpIHtcbiAgICAgICAgJG46IDAuMjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAnc21hbGwnKSB7XG4gICAgICAgICRuOiAwLjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAnbGFyZ2UnKSB7XG4gICAgICAgICRuOiAxLjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAneGxhcmdlJykge1xuICAgICAgICAkbjogMjtcbiAgICB9XG4gICAgQHJldHVybiAkYmFzZUxpbmVIZWlnaHQgKiAkbjtcbn1cblxuQG1peGluIHN1cGVyc2NyaXB0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIG1hcmdpbigkcG9zaXRpb246J2FsbCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdGgnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbn1cbkBtaXhpbiBwYWRkaW5nKCRwb3NpdGlvbjonYWxsJywkc2l6ZTonYmFzZScpIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3RoJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBwYWRkaW5nOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoci1saW5lKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXJnaW4oJHBvc2l0aW9uLCRzaXplKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRwb3NpdGlvbiwkc2l6ZSk7XG59XG5cbkBtaXhpbiBoci1kYXNoZWQoJHBvc2l0aW9uOidib3RoJywkc2l6ZTonYmFzZScpIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdtaWRkbGUnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaHItaW1hZ2UoJHBvc2l0aW9uOidib3RoJywkc2l6ZTonYmFzZScpIHtcbiAgICAkaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93LWRvd24ucG5nKTtcbiAgICAkaW1hZ2VfdG9wOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSB0b3AgLyAxMDAlIDVweDtcbiAgICAkaW1hZ2VfYm90dG9tOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSBib3R0b20gLyAxMDAlIDVweDtcbiAgICAkaW1hZ2VfdG9wX2llOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSB0b3A7XG4gICAgJGltYWdlX2JvdHRvbV9pZTogJGltYWdlIG5vLXJlcGVhdCA1MCUgYm90dG9tO1xuICAgICRpbWFnZV9ib3RoOiAkaW1hZ2VfdG9wLCAkaW1hZ2VfYm90dG9tO1xuICAgICRoY19ib3JkZXI6IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnQ7ICAgIC8vIEExMVk6IFVzZWQgZm9yIGhpZ2gtY29udHJhc3RcbiAgICBAaWYgJHBvc2l0aW9uID09ICd0b3AnIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX3RvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhjX2JvcmRlcjtcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3BfaWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3R0b20nIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdHRvbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhjX2JvcmRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfYm90aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhjX2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhjX2JvcmRlcjtcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3BfaWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdHRvbV9pZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaWUtMTAoKSB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG59XG5cbkBtaXhpbiBlZGdlIHtcbiAgICBAc3VwcG9ydHMgKC1tcy11c2VyLXNlbGVjdDogbm9uZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWljcm9zb2Z0LWJyb3dzZXJzKCRicm93c2Vycy4uLikge1xuICAgIEBlYWNoICRicm93c2VyIGluICRicm93c2VycyB7XG4gICAgICAgIEBpZiAoJGJyb3dzZXIgPT0gaWUtMTApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGllLTEwIHtcbiAgICAgICAgICAgICAgQGNvbnRlbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSBpZiAoJGJyb3dzZXIgPT0gZWRnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgICAgIEBjb250ZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyBNaXhpbnMgZm9yIGdyYWRpZW50c1xuLy9cbkBtaXhpbiBncmFkaWVudCgkZGVmYXVsdCwkZnJvbSwkdG8pIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGZyb20sICR0byk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJGZyb20sICR0bykpO1xufVxuQG1peGluIGctYnJhbmRCbHVlIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudCgkbGlnaHRCbHVlLCAkbGlnaHRCbHVlLCAkYnJhbmRCbHVlKTtcbn1cbkBtaXhpbiBncmFkaWVudC1saWdodEJsdWUtZGFya0JsdWUge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRicmFuZEJsdWUsICRsaWdodEJsdWUsICRkYXJrQmx1ZSk7XG59XG5cbi8vXG4vLyBNaXhpbnMgZm9yIHRoZW1lc1xuLy9cbkBtaXhpbiB0aGVtZS1icmFuZEJsdWUtZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWxpZ2h0Qmx1ZS1kYXJrQmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSwgaDIsIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtZGFya0JsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSwgbGFiZWwge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby1ub3Rle1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuQG1peGluIHRoZW1lLXVsdHJhTGlnaHRHcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWx0cmFMaWdodEdyYXk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygnYWxsJyk7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgfVxuICAgIGgzLGg0LGg1LGg2LC5ub3RlIHtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtc3VwZXJVbHRyYUxpZ2h0R3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG4gICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkZXRyb2l0Qmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGRldHJvaXRCbHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIHRoZW1lLXN1cGVyVWx0cmFMaWdodEdyYXktZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRzdXBlclVsdHJhTGlnaHRHcmF5LCRzdXBlclVsdHJhTGlnaHRHcmF5LCR3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygnYWxsJyk7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBoMyxoNCxoNSxoNiwubm90ZSB7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGRldHJvaXRCbHVlO1xuICAgIH1cbn1cblxuQG1peGluIHRoZW1lLWRpYWxvZy1ncmF5T3ZlcmxheXtcblx0Ji51aS1kaWFsb2d7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHQudWktZGlhbG9nLXRpdGxlYmFye1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHRoZW1lLW1vYmlsZWRpYWxvZy1ncmF5YmFja2dyb3VuZHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdC51aS1kaWFsb2ctdGl0bGViYXJ7XG5cdFx0LnVpLWJ1dHRvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuXHRcdH1cblx0fVxuXHQudWktZGlhbG9nLWJ1dHRvbnBhbmV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdH1cbn1cblxuLy9cbi8vIE1peGlucyBmb3IgUmVzcG9uc2l2ZSBNZWRpYVF1ZXJpZXNcbi8vXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgICAvKiBNZWRpYTogI3skbWVkaWF9ICovXG4gICAgQGlmICRtZWRpYSA9PSBwaG9uZV9wb3J0cmFpdCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lX3NtYWxsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSAgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmVfbGFuZHNjYXBlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3BvcnRyYWl0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3BvcnRyYWl0X2Rvd24ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X2xhbmRzY2FwZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTAzMnB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfbGFuZHNjYXBlX3VwIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAzMnB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfZG93biB7ICAgIC8vcGhvbmUtdGFibGV0XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMzJweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3VwIHsgICAgICAgIC8vdGFibGV0LWRlc2t0b3BcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMzcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3BfaGVpZ2h0X2Rvd24ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzQwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cbkBtaXhpbiBoaWRlQWNjZXNzaWJsZUNvbXBvbmVudCgpIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWl4aW4gcm90YXRlKCAkZGVncmVlcyApIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiB9XG5cbiBAbWl4aW4gYWZmaXgoJHRvcDogMCwgJG1hcmdpbkJvdHRvbTogMCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW5Cb3R0b207XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAkdG9wO1xuIH1cblxuIEBtaXhpbiBpY29uLWJ1dHRvbigkdG9wLCAkcmlnaHQpIHtcbiAgICB0b3A6ICR0b3A7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIC5pY29uLWxvY2F0ZTo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiB9XG5cbiBAbWl4aW4gaW5mby1ub3RlKCkge1xuICAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KCRzbS1zaXplKTtcbiAgICAgY29sb3I6ICRyYW5nZXJHcmVlbjtcbiB9XG5cbiBAbWl4aW4gYWlsZXJvbi1idXR0b24oJHR5cGU6IFwicHJpbWFyeVwiKXtcbiAgICBAaWYgJHR5cGUgPT0gXCJwcmltYXJ5XCIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTdweDtcbiAgICB9XG4gICAgQGlmICR0eXBlID09IFwic2Vjb25kYXJ5XCIge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgIHBhZGRpbmc6IDVweCAxN3B4O1xuICAgfVxuICAgZm9udC1zaXplOiAxcmVtO1xuICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseU1lZGl1bTtcbiAgIG1pbi13aWR0aDogNzZweDtcbiAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG5AbWl4aW4gYWlsZXJvbi1idXR0b24tcGhvbmUoJHR5cGU6IFwicHJpbWFyeVwiKSB7XG4gICAgQGluY2x1ZGUgYWlsZXJvbi1idXR0b24oJHR5cGUpO1xuICAgIEBpZiAkdHlwZSA9PSBcInByaW1hcnlcIiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA2cHg7XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInNlY29uZGFyeVwiIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDZweDtcbiAgICB9XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbjogMTJweCAwO1xuIH1cbiIsIi8qIEpRdWVyeSBvdmVyaWRlcyBmcm9tIGpRdWVyeSAxLjcuMlxuICovXG5cbi8qIERhdGVwaWNrZXJcbiAqL1xuLnVpLWRhdGVwaWNrZXJ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MDQ7XG4gIHdpZHRoOiAxN2VtO1xuICB6LWluZGV4OiA5OTkgIWltcG9ydGFudDtcbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkgLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkgYSB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi8qIEF1dG9jb21wbGV0ZSAtIFNtYXJ0U3VnZ2VzdFxuICovXG5cbi51aS1hdXRvY29tcGxldGUge1xuICB6LWluZGV4OiA5OTkgIWltcG9ydGFudDtcbn1cblxuLyogU2xpZGVyXG4gKi9cbi51aS1zbGlkZXIge1xuICAmLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTAzO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgQGluY2x1ZGUgZmlsdGVyLWdyYWRpZW50KCRncmF5MDMsICRncmF5MDEpO1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UobGluZWFyLWdyYWRpZW50KCRncmF5MDMsICRncmF5MDEpKTtcbiAgICAudWktc2xpZGVyLXJhbmdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGRhcmtCbHVlLCAkbGlnaHRCbHVlKTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UobGluZWFyLWdyYWRpZW50KCRkYXJrQmx1ZSwgJGxpZ2h0Qmx1ZSkpO1xuICAgIH1cbiAgICAudWktc2xpZGVyLWhhbmRsZXtcbiAgICAgIHRvcDogLTZweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJrQUFBQVpDQVlBQUFERTZZVmpBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJocFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvd05EZ3dNVEUzTkRBM01qQTJPREV4T0RBNE16a3hNVGMxTkRnMlJqVTFOQ0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBGTnpZMlFUUkdRVVUzUlVZeE1VVXlRa1V6TkRoRU1ERkROa1ZGUXpjNE55SWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEZOelkyUVRSR09VVTNSVVl4TVVVeVFrVXpORGhFTURGRE5rVkZRemM0TnlJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnUTFNMklDaE5ZV05wYm5SdmMyZ3BJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TURRNE1ERXhOelF3TnpJd05qZ3hNVGd3T0RNNU1URTNOVFE0TmtZMU5UUWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNRFE0TURFeE56UXdOekl3TmpneE1UZ3dPRE01TVRFM05UUTROa1kxTlRRaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NU0xaURaQUFBRW1rbEVRVlI0MnJSV1M0dmtWQlErOTk2a1V1OVhXOVZUclREUUNpNVVSRVZ3TVM3RWZ6QUxONjZHY2NDZklBaitBMEhHaGJodzZkTE5pQ2h1ZWhhaXd5d0VVVWFFcnNhRlBhWGRYYTlVSjVXa2tseS9jMU5KRldxM3pzTEFyWFByUHM0NTMzY2VpZEJhMC8vOVdKZHR6dWR6QjBKZ3FEUk44MlhKLzljeWxsTDZrRW1yMWJyUVczRVJFaGdRVU56SGVEME13dytESVBBaGd5UkpJbXluQ28vak9LSmNMaDlCM29heHI3RkV6V1pULzJjajQvSDRpZmxpY1hjMm5lMG5hU3JtNXo1NWZrQnhrbUJYa3lVVjFXc1ZhdGFycEtRTXU5M09GODFHNHdZTUxmNks2aCtOd0VCelBKM2RXWHJldGRPWnF4YmVFbW8xZUJObTM5d3hVMTZUMUdwVXFOZHVhYWRTUGQ3cHROL1kyZG41N2tJalRORnF0V3E1N3VKanp6dS8vdnRrYmdWaFJFYW5FSkFwVDR6KzdKYk9KMVFwTzlSdk42alJhRDVzdFpxM0xNdjZNa2RrYlJuWUJmODFHUGwwN3JvdmU4dEFzZktTYlpPUUd3UTVHaFk2MVlWeG5ydWdFeXVEU3FYOFBtTDBBS2QrelRQRklJQ0NaK0k0dmo2ZHU2L2d1b3FTbEpTU1pGbUtPVGN4c0pWbDVyeHUxbXlya0R5aU9HRkh4R3p1N2tQWDI3UFpUR3dqa1VBeGlxTG81aXFLS01SaHpwU01KaktTZi9JNXl4eVFjVE9mWXkrTVkxSlJaRVBYTlZEV3crcEpicVNNMU94ajR5bHpIdDQ1SmJrZHVvMFd2ZjY3amxNS3FzVGFhbjZLd3daZCs2VlNDYXpRbmR5SUE1alBvaFlVbjdlQUlndG9wcTNJalNJY0dTUmVWa0p0SllFdURxR211dFZxOVVYWGRUKzM4b0NDdzZzWTJVVXAxOG9rRmE2TFRlRDFGcUtjUHJGT2FOU3AyVWNDMlZ6TXVHUGxTRUw4cVlFeXdiRlFDSEttVjJ4cWdnV002NEtZVGVvWFNIaEhZeStOaWRzUTdsWWhWVzZFVzBYSXZRaUt3SllnMnk2QmIwMVNaSWFNQ3JHaGFlTjVqaTR6bElDTmxGdGJtaklORHU1b0t3dVVpREYrQWdvdkRNSVcraEVKQjZrcHhDYjJlaXZpUEpYc05XV2RRR1Mwc2xOeEdGSVlCRlFxMlJvNjJYRnR5T2ZLaElIN3RtMGZUU1pqNDZCR2p6STFJZFc2TnBSSkNDUEJNcytscVNNTHlZam9NWlZBd1hlaEEwWktJZGFHTUpRVUZZK0ZYNERnb0Y2dlAvM3crTGc2Mk5zRFpSWXhxbFJubFYxRW9tZ3ptN2lzb3BDQ1lFa25KeWNFSFlUT2ZBYWQzM0ltRk1YUTYvVldRUEpabzlFWUl3SG9GSWNYcm11Z3M5ZjJPaUZ5Tk95NWJXVXlnb0hGWWtGbloyZWNWZWhmalJpNjd1SGNQV1pwdStJWTR2Znc0Z0c2cUVaTG9PRndTTDd2MDNReVFadjNUWTlpQkVxYXhtWDJadE1KK1o1SGg0ZUgzSjRJZDVOYXJmWXpkTjN1ZHJ2ZTM5Nk1RQk9nVmo3cGREclBBYzJWMFdna0R3NE9hTEQzT08xZTJhV3k0MlNGeW1tSTNvYmlwVCtBZUhUOEd3MEdBelBhN2ZZaEtINFhzZnJtd3ZjSjNpVUsxWHJUODd4M2dPWXFLSkFUSUpsT3AzUitmZzVxb2h5MTRSN2VtZ0VFYkdDSUtyOEZJM2Vaalg5N2FYSHZlVzI1WEg0RVkwOUN1V0lEVEU5aTNveGtzb3FUQXZ5ek1RMktqaXFWeXBzd2ZuL2J3S1d2WDNodmdicm5FY2dQUU10TGtCVU9LcmNlZmpqNGpBWWpSaWI5aUVEZjZQZjdQenpTaHdRL29FdkI4ekphd3dEeUJjaTNjUDdWZFlNUGdXYUM3UG9LQnQ4RFphZVAvTFdTUCtpaS9OWHlHS1p0U0IvWjVldXNicmhzRWhqaEQ0ZjBNaDEvQ2pBQWpJK2FON0dKei80QUFBQUFTVVZPUks1Q1lJST0pO1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCRncmF5KSwgY29sb3Itc3RvcCgkbGlnaHRHcmF5KSwgdG8oJHVsdHJhTGlnaHRHcmF5KSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRncmF5LCAkbGlnaHRHcmF5LCAkdWx0cmFMaWdodEdyYXkpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkZ3JheSwgJGxpZ2h0R3JheSwgJHVsdHJhTGlnaHRHcmF5KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRncmF5LCAkbGlnaHRHcmF5LCAkdWx0cmFMaWdodEdyYXkpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGdyYXksICRsaWdodEdyYXksICR1bHRyYUxpZ2h0R3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggLTFweCAkYmxhY2s7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICB9XG4gICAgICAvLyYudWktc3RhdGUtaG92ZXIsICYudWktc3RhdGUtZm9jdXMsICYudWktc2xpZGVyLWFjdGl2ZSB7XG4gICAgICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmtBQUFBWkNBWUFBQURFNllWakFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBMmhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG93TkRnd01URTNOREEzTWpBMk9ERXhPREE0TXpreE1UYzFORGcyUmpVMU5DSWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcEZOelkyUVRSR1JVVTNSVVl4TVVVeVFrVXpORGhFTURGRE5rVkZRemM0TnlJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRk56WTJRVFJHUkVVM1JVWXhNVVV5UWtVek5EaEVNREZETmtWRlF6YzROeUlnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdRMU0ySUNoTllXTnBiblJ2YzJncElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRFE0TURFeE56UXdOekl3TmpneE1UZ3dPRE01TVRFM05UUTROa1kxTlRRaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1EUTRNREV4TnpRd056SXdOamd4TVRnd09ETTVNVEUzTlRRNE5rWTFOVFFpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2SzgrYmVBQUFFbVVsRVFWUjQyclJXeTRva1JSU055RWRsUGJxcXNycnRtbTVvS0I4RExoVEVFWVpaNkVMd0IyYWhHMWVEczlBL1VBVC9RSkJ4TVF0eE9VdGRxS0M0VVVGMG1JVWd5b2ppTklJT0JkTmR6NnpLcXN5TWgrZEdSbVNYaTJxZGhkbGtSMlpreEQzM25udnVqZUphYS9aL1g4RjVIMmV6V1lTQjQvYVZVbTdhbzNjN0NzL3pVb3l5MisxdTlaWnZpd1FBSEliN1VzcVgxdXYxKzFtV3BYbWVyL0dlazFFZlZ4UkZ2RjZ2SDJPOEFiQXZNY1U2blk3K1Y1RGhjTWdXaXdYYjNkMDltczduM3l5UzVER3M0UXJMUE01eE0wWTdDaUdaUkhRQkpuelB6K05lL0ZtbjNiNEdvQ1JOVTMxNGVMaWRMbmhOQUozUlpIcHJtU1NQdG5aYVhNTllvOUZnOEpxUnR3U2lwR1FyckYydlZuQ1YxNmFUeWRXOEVKZjNldkVyaVByN3JaRVFSVVZSZEdleitRZEpNcjhLR3Z4bXF3WGpEWGpMbWJKTE9XVkpsNlBDL2xXYW11aEJKK2pxRHVPNGV6MElnczlkbm9JTmdBdklRUXNMYjgyVDVISVlCRjRMQUdFdFlwUjB5anVIVmVNVUw5VkFGdWc5UW9URzJuTEpra1Z5MEdqVTMwV083bUxtandxRUlzRGlwNFFRbDhhVDZaVmFHTEphcmNZVVRHWHd6aG1ua2F4cC9ISDhhZVpZSUZRUGV5THpBaHNYTDRUaDY5UHA5SzA0anJXTHhJTzNRMFR4R25udGV4N2pRY0JLMlJLQUxJMlMrNnFNcElyRmNHZWhrQythVWtvR3NQVThLTnZIOUFNSFVvYzArL2h3a2ZiUVlyeXowalN6SHAvNXptMWlUSFNzcEpGeVErcmpQaHpVaXZMek9OaTRncytmT0pBSUc1NkdzaUFkRFFERmhDb3M2eVhRaGxZc1hhektUeG1RZFVFYk5URW9iTGZaYkY2YXorZWZHaEJhakh3TWNCdXpVa2xUME01enJjOFVWU2JkQWhsNXNlcURMbDlNTzRCS1F5cG0yQTVjSkJsZVdxQ0lVeDBJUVl1bHRjd3JyeXVhWE1JM0pWMkZ4RXlCVWo2eHA0blJkeURVS2pMcVJhUTQxNmRzSEFiQWczbzI2VGxML2dhYW5hcnh3UFc0Q05HVzZzS0R3UDB6b2xoS3BidWtwaXdYLzdTeDhlem9NM1ZNeWVabmMxSG9HeEZBb1JvMnlYRk5hSXdxRXdCM3dqQThQajE1b091b0UwSHFJZ0ZnRk9oVGdwN05LRXZsU1dVb2tWSlFQczFJOHhFeU1EbzlvVHJMVUpEM0FDU3Jpc2ZFcitoTlg2SEtuMFFmYWtab0pla3Fzd2tHVlJLajY0NldTbTVyUkt2eXVWV3ZvZWdYREtwaWFFbW5zUGtkVlZZRnNyKy9YMERiSDdYYjdaZG5zNythWHA0eHdSR1JPMGRzRGx4S21MYmdab1NpOEcrWnB5YTZvNk1qQVZadWc1M2J4SkszV1FFSThZZWRuWjI3ZTN0N2Vvays1S3NjU3ZGSzJrUkpTMUdBRmxIU1ZZakNVRVFBZ1M0WVdqekRYZ2syZm9HdEcram1TNmNBdGhITkdtRisyT3YxaGpnUEZHMzY4L2czNkc1aFlpaXJXN3ZXV0FhSGI3U0duRG80T0dEb1ZiK0Q5cmZSVXI3ZGVwN0FnNDlCUVE4ZXZZbHdCOWpnamNkak5ybC92MnJuZGgxRDFIVDJzTUZnUUJFUXdEM2s0dzE4K3hxTzZuT1AzOUZveEdIc3hkVnFkUk1lUGdIalBnRlFaRVNQOFE0cW9rTU1PU1F3RFlxT2NiQzlDb0E3UlBkL091UGhmWUFjUElQMjhCNTYybk1ZRzdoTlhrenJRR2VnYUhBTFVQd1RFbjJ0MysvLytGQS9KT2pDZWVERDh6b1VjNGp4V1l6WHNmNEZtOHNNMFl3aDB5OEErQTVvTzNub1h5dnVRaGVsWHkyUDRESEdtS0llVW51QVVkNGxRQkxJVkoxbjQyOEJCZ0IwZHNFRmhrSGp4Z0FBQUFCSlJVNUVya0pnZ2c9PSk7XG4gICAgICAvL31cbiAgICB9XG4gIH1cbn1cbiIsIi51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICAgIGhlaWdodDogMThweDsgLyogRml4ZXMgaGVpZ2h0IGZvciBlcnJvciBtZXNzYWdlcyB3aGljaCBjYXVzZSBsYWJlbHMgdG8gZ3JvdyAqL1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFtZXJpY2FuIEljb25zXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiAyNnB4O1xuICAgIHJpZ2h0OjRweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDEwZTAzYVwiO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0Qmx1ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGJyYW5kQmx1ZTtcbiAgICAgICAgb3V0bGluZTogc29saWQgMXB4ICRicmFuZEJsdWU7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogJGdyYXkwMztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnVpLWRhdGVwaWNrZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdWx0cmFMaWdodEdyYXk7XG5cbiAgICAmIC51aS1kYXRlcGlja2VyLWhlYWRlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJGJyYW5kQmx1ZSwgJGRhcmtCbHVlKSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJiAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAgICAgICAmIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgICAgICAgICAgJi50aXRsZSwgJiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIC51aS1kYXRlcGlja2VyLW5leHQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJiAudWktZGF0ZXBpY2tlci1wcmV2OjpiZWZvcmUge1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgICYgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlcixcbiAgICAgICAgJiAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICB9XG4gICAgICAgICYgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG4gICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgJiAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiAudWktZGF0ZXBpY2tlci1jYWxlbmRhcntcbiAgICAgICAgJiB0aGVhZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgJiB0aCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRiYXNlRm9udEZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmIHRyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OjIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMTUlO1xuICAgICAgICAgICAgICAgIHRvcDogMTUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgLnVpLXN0YXRlLWRlZmF1bHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNTVlbSAuMmVtO1xuICAgICAgICB9XG4gICAgICAgICYgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggJGJyYW5kQmx1ZSBzb2xpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR1bHRyYUxpZ2h0R3JheTtcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkdWx0cmFMaWdodEdyYXk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgICAmIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgICAgICAgICAmIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAudWktc3RhdGUtZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrQmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgLmFhLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJGJyYW5kQmx1ZSwgJGRhcmtCbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgJiAuYWEtaGlnaGxpZ2h0IC51aS1zdGF0ZS1kZWZhdWx0LFxuICAgICAgICAmIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KCRicmFuZEJsdWUsICRkYXJrQmx1ZSkpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRicmFuZEJsdWUgMCUsICRkYXJrQmx1ZSAxMDAlKTtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRicmFuZEJsdWUgMCUsICRkYXJrQmx1ZSAxMDAlKTtcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGJyYW5kQmx1ZSAwJSwgJGRhcmtCbHVlIDEwMCUpO1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuICAgICAgICAgICAgJi51aS1zdGF0ZS1oaWdobGlnaHQge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4ICR3aGl0ZSBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAmIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVsdHJhTGlnaHRHcmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bHRyYUxpZ2h0R3JheTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJiBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bHRyYUxpZ2h0R3JheTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZUZvbnRGYW1pbHk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICYudWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6QWxwaGEoT3BhY2l0eT0xMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi51aS1kYXRlcGlja2VyLWNsb3NlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzQuNCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbi51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheTtcbiAgICB3aWR0aDogMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4qIE5ldyBEYXRlcGlja2VyIE92ZXJyaWRlc1xuKi9cblxuXG4udWktZGF0ZXBpY2tlciB7XG4gICAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuICAgICAgICAudWktc3RhdGUtZGVmYXVsdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNmVtIC4yZW07XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0ciB0ZCB7XG4gICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjU1ZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGltcG9ydGFudCBmb3Igd2hpdGUgdGV4dCBvbiBoaWdobGlnaHRlZCBkYXlzXG4gICAgICAgICAgICAvLyAodGhlIGNvbXBldGluZyB2ZXJzaW9uIGlzIHNldmVuIGxheWVycyBvZiBzcGVjaWZpY2l0eSArICFpbXBvcnRhbnQpXG4gICAgICAgICAgICAmLmFhLWhpZ2hsaWdodCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgICAgICAudWktZGF0ZXBpY2tlci1wcmV2OjpiZWZvcmUsXG4gICAgICAgIC51aS1kYXRlcGlja2VyLW5leHQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuICAgIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbn1cblxuLnVpLWRhdGVwaWNrZXItY2xvc2Uge1xuICAgIGNvbG9yOiAkZGFya0JsdWUgIWltcG9ydGFudDtcbn1cbiIsIi8qXG4qIE5ldyBUYWJzIE92ZXJyaWRlc1xuKi9cbkBpbXBvcnQgXCJ2YXJzXCI7XG5cbiNib29rLXBhbmVsIC5tZW51LXdpZGdldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVsdHJhTGlnaHRHcmF5O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvY29udGVudC9pbWFnZXMvY2hyb21lL3JlYnJhbmQvc2hhZG93MTItdXAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgICY6aG92ZXIgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBPVkVSSURFUyBGUk9NIENPUkUuQ1NTIFNUQVJUICAqL1xuQGltcG9ydCBcInZhcnNcIjtcblxuW2RhdGEtYmVoYXZpb3IqPVwibWVnYW5hdi1jb250ZW50XCJde1xuICAgIC5zcGFuOHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgICAgd2lkdGg6IHNwYW5XaWR0aCg4KTtcbiAgICB9XG59XG5cbiNsYW5ndWFnZS1zZWxlY3RvcntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5pbnB1dC5oYXNEYXRlcGlja2VyW3JlYWRvbmx5XXtcbiAgICAmOmZvY3Vze1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5MDQ7XG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGdyYXkwMztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRkYXJrR3JheTtcbn1cbi5pcy1lcnJvciBpbnB1dC5oYXNEYXRlcGlja2VyW3JlYWRvbmx5XXtcbiAgICBib3JkZXItY29sb3I6ICRkYXJrUmVkO1xufVxuLmlubGluZSA+IC52YWx1ZSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogNXB4O1xufVxuc2VjdGlvbi5jb250YWluZXJ7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbn1cbnN1cHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnN1cC0tbGFyZ2Vye1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5jYXJTZWF0c0FuY2lsbGFyeUhlYWRlcntcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5ociB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiA5cHggMDsgfVxuXG5oMSB7XG4gICAgbWFyZ2luOiAkYmFzZUxpbmVIZWlnaHQqMS41IDAgJGJhc2VMaW5lSGVpZ2h0O1xufVxuXG5oMiB7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuNSszO1xuICAgIG1hcmdpbjogMCAwICRiYXNlTGluZUhlaWdodDtcbn1cblxuLyogdjMgbWVzc2FnZXMvaWNvbnMgKi9cbltjbGFzc3w9XCJtZXNzYWdlXCJdIHtcbiAgICBwYWRkaW5nOiAkYmFzZUxpbmVIZWlnaHQvMisxIDAgJGJhc2VMaW5lSGVpZ2h0LzIrMSAzNHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgICAgdG9wOiAkYmFzZUxpbmVIZWlnaHQvMis0O1xuICAgIH1cblxuICAgICY6bm90KFtzdHlsZSo9XCJkaXNwbGF5Om5vbmVcIl0pOm5vdChbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSk6bm90KC5pcy1oaWRkZW4pIH4gW2NsYXNzfD1cIm1lc3NhZ2VcIl17XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2VMaW5lSGVpZ2h0LzIrMTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRiYXNlTGluZUhlaWdodDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAkYmFzZUxpbmVIZWlnaHQrNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZUxpbmVIZWlnaHQ7XG4gICAgfVxuXG4gICAgLmhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG59XG5cbltjbGFzc3w9XCJtZXNzYWdlLWlubGluZVwiXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQW1lcmljYW4gSWNvbnNcIjtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIGEsIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAubHQtaWU5ICYge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5oMyxoNCxoNXtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7fVxuXG5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseVJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMjsgfVxuXG4uaWNvbi1jYWxlbmRhciwgLmljb24tZW1haWwsIC5pY29uLXByaW50e1xuICAgIG1hcmdpbjogMCAzcHg7XG59XG4uYnRuLFxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG59XG4uY3VzdG9tYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5pcy1lcnJvci1pY29uOmJlZm9yZSwgbGFiZWwuaXMtZXJyb3I6YmVmb3JlLCAubGFiZWwuaXMtZXJyb3I6YmVmb3JlLCAuaXMtZXJyb3IgLmxhYmVsOmJlZm9yZXtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IC0xcHggM3B4IDAgMDtcbn1cblxuLyogT1ZFUklERVMgRlJPTSBDT1JFLkNTUyBFTkQgICovXG5cbi8qIEdFTkVSQUwgU1RZTEVTIEZPUiBBTEwgU1RBTkRBTE9ORSBQQUdFUyAqL1xudWwuYnVsbGV0ZWQtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogc3F1YXJlIG91dHNpZGUgbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG5kbCB7XG4gICAgJi5kZC1hbGlnbi1yaWdodCA+IGRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAmLmR0LWZvbnQtYm9sZCA+IGR0LCAmLmRkLWZvbnQtYm9sZCA+IGRkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0gfVxuXG4uY29sdW1uLWhlYWRlciB7XG4gICAgY29sb3I6ICRncmF5MDM7XG59XG4uYm94LW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cblxuLmJveC1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4uYm94LXBhZGRpbmd7XG4gICAgcGFkZGluZzoxNXB4O1xufVxuLmhlYWRlci1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7IH1cbi5oZWFkZXItbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogOXB4OyB9XG5cbi5tb2R1bGUtaGVhZGVye1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MDI7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgIGg0LCBoM3tcbiAgICAgICAgbWFyZ2luOjAgMCAycHggMDtcbiAgICB9XG59XG4ubm8tYm9yZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5wcmludC10ZXh0e1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXJyZW5jeS1zeW1ib2wge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3VycmVuY3ktY29kZXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jdXJyZW5jeS1jZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEycHg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4ubmF2LWxpbmtzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlTGluZUhlaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogZ3JheTsgfVxuICAgIH1cbn1cblxuLnZlcnRpY2FsLW5hdi1saW5rc3tcbiAgICBtYXJnaW46IDE4cHggMDtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogOXB4IDA7XG4gICAgfVxufVxuXG4vKiBmb250cyAqL1xuLmZvbnQtc21hbGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG4gICAgZm9udC1mYW1pbHk6ICRzdGFuZGFyZEZvbnRGYW1pbHk7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDAuODg4OTsgfVxuXG4uZm9udC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5mb250LWRvdWJsZS1oZWlnaHQge1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAyO31cblxuLmZvbnQtbGlnaHQtbWVkLWdyYXkge1xuICAgIGNvbG9yOiAkZ3JheTAzICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtbWVkLWdyYXkge1xuICAgIGNvbG9yOiAkZ3JheTA0ICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtZGFyay1ncmF5e1xuICAgIGNvbG9yOiAkZ3JheTA1ICFpbXBvcnRhbnQ7XG59XG4uZm9udC1kYXJrLWJsdWV7XG4gICAgY29sb3I6ICRkYXJrQmx1ZSAhaW1wb3J0YW50O1xufVxuLmZvbnQtd2hpdGV7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICRibGFjaztcbn1cbi5mb250LWFtZXJpY2FuLXJlZyB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseVJlZ3VsYXI7IH1cblxuLmZvbnQtYW1lcmljYW4tbGlnaHQge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbn1cblxuLmZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vR2xvYmFsIHN0YW5kYXJkcyBmb3IgbWVzc2FnZXNcbltjbGFzc149XCJtZXNzYWdlLVwiXSwgW2NsYXNzKj1cIiBtZXNzYWdlLVwiXSB7XG4gICAgbWFyZ2luOiAxOHB4IDA7XG4gICAgcDpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBoM3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8vSW5mb3JtYXRpb25hbCBtZXNzYWdlc1xuLm1lc3NhZ2UtaW5mbyB7XG4gICAgaDIsIGgzLCBoNCB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4vL0Rpc2NsYWltZXIgbWVzc2FnZVxuLm1lc3NhZ2UtZGlzY2xhaW1lcntcbiAgICBjb2xvcjogJGdyYXkwMyAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGhlYWQ2O1xuXG4gICAgJi5mb250LW1lZC1ncmF5IHtcbiAgICAgICAgY29sb3I6ICRncmF5MDQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5yZW50YWwtY2RwLXB1cmNoYXNle1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MDE7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgcGFkZGluZy1yaWdodDogJGZsdWlkR3JpZEd1dHRlcldpZHRoO1xufVxuXG4uZ3JpZC1ndXR0ZXItbGVmdHtcbiAgICBtYXJnaW4tbGVmdDogJGZsdWlkR3JpZEd1dHRlcldpZHRoO1xufVxuLmdyaWQtZ3V0dGVyLXJpZ2h0e1xuICAgIG1hcmdpbi1yaWdodDogJGZsdWlkR3JpZEd1dHRlcldpZHRoO1xufVxuXG4ucC1pbnNpZGUtbWFyZ2luLWJvdHRvbSA+IHB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLyogQnVzeSBzdGF0ZSAqL1xuLmFhLWJ1c3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5hYS1idXN5LW1vZHVsZXtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogd2FpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIC5hYS1idXN5LWJne1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWEtYnVzeS1pbWd7XG5cbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiB3YWl0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDEwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hYS1sb2dve1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL2Nocm9tZS9yZWJyYW5kL2FhLWZsaWdodC1pY29uLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpe1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9jb250ZW50L2ltYWdlcy9jb21tb24vbG9hZGluZ19zZXF1ZW5jZS5naWYpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgKmRpc3BsYXk6IGlubGluZTsgem9vbTogMTtcbiAgICAgICAgICAgIGFsdDogXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtYnVzeS1taWRkbGU9dHJ1ZV0gLmFhLWJ1c3ktbW9kdWxlIC5hYS1idXN5LWltZ3tcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgfVxuXG59XG5cbi8qIHRoZW1lcyAqL1xuQG1peGluIGctZ3JheSB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJHdoaXRlLCAkZ3JheTAxKSk7IH1cblxuLnQtZy1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTAxO1xuICAgIEBpbmNsdWRlIGctZ3JheTtcbiAgICBjb2xvcjogJGdyYXkwNTsgfVxuXG5cbi8qIERyb3Agc2hhZG93cyAqL1xuLmRyb3Atc2hhZG93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0yOyB9XG4gICAgJi5jdXJ2ZWQtaG9yaXpvbnRhbDpiZWZvcmUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC40KSk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNzAwcHgsIDEwcHgpO31cbiAgICAmLmluc2lkZS11cHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmluc2lkZS1kb3due1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICB9XG4gICAgJi5jb250ZW50LWluc2lkZXtcbiAgICAgICAgLmJvcmRlci1saW5lIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3JkZXItbGluZSB7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MDI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQobGVmdCwgJHdoaXRlLCAkZ3JheTAxLCAkd2hpdGUpKTsgfSB9IH1cblxuXG4vKlxuICogUG9QVXAgY2xhc3Nlc1xuICovXG5cbi5wb3B1cC1oZWFkZXIgLnNpdGUtbG9nb3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAwO1xufVxuLnBvcHVwLWNvbnRlbnR7XG4gICAgaDIsIHVse1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgfVxufVxuLnBvcHVwLWZvb3RlcntcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRncmF5MDM7XG4gICAgbWFyZ2luLXRvcDowO1xufVxuXG4vKiBSZW50YWwgY2FyIHNwcml0ZXNcbiAqL1xuLnJlbnRhbC1jYXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiA3NHB4O1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5yZW50YWwtY2FyLWVjb25vbXkgaW1ne1xuICAgIG1hcmdpbjogMHB4OyB9XG5cbi5yZW50YWwtY2FyLWNvbXBhY3QgaW1ne1xuICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7IH1cblxuLnJlbnRhbC1jYXItbWlkc2l6ZSBpbWd7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMDBweDsgfVxuXG4ucmVudGFsLWNhci1zdGFuZGFyZCBpbWd7XG4gICAgbWFyZ2luLWxlZnQ6IC00NTBweDsgfVxuXG4ucmVudGFsLWNhci1mdWxsc2l6ZSBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtNjAwcHg7IH1cblxuLnJlbnRhbC1jYXItcHJlbWl1bSBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzUwcHg7IH1cblxuLnJlbnRhbC1jYXItbHV4dXJ5IGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC05MDBweDsgfVxuXG4ucmVudGFsLWNhci1zbWFsbF9zdXYgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwNTBweDsgfVxuXG4ucmVudGFsLWNhci1taWRzaXplX3N1diBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTIwMHB4OyB9XG5cbi5yZW50YWwtY2FyLWZ1bGxzaXplX3N1diBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTM1MHB4OyB9XG5cbi5yZW50YWwtY2FyLW1pbml2YW4gaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1MDBweDsgfVxuXG4ucmVudGFsLWNhci12YW4gaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogLTE2NTBweDsgfVxuXG4ucmVudGFsLWNhci1taWRzaXplX3BpY2t1cCBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTgwMHB4OyB9XG5cbi5yZW50YWwtY2FyLWZ1bGxzaXplX3BpY2t1cCBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTk1MHB4OyB9XG5cbi5yZW50YWwtY2FyLWNvbnZlcnRpYmxlIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMTAwcHg7IH1cblxuLnJlbnRhbC1jYXItc3BlY2lhbHR5IGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMjUwcHg7IH1cblxuXG4vKiBSZW50YWwgdmVuZG9yIGxvZ29zXG4gKi9cbi5sb2dvcy1jYXJzLXNtLCAubG9nb3MtY2Fycy1scmcsIC5sb2dvcy1jYXJzLW1lZCwgLmxvZ29zLWNhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubG9nb3MtY2Fycy1scmcge1xuICAgIGhlaWdodDogNDNweDtcblxuICAgICYubG9nby1idWRnZXQge1xuICAgICAgICB3aWR0aDogMTk1cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2dvLWF2aXMge1xuICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM4NXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTM4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxvZ28tcGF5bGVzcyB7XG4gICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTc4cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ29zLWNhcnMtbWVkIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAmLmxvZ28tYnVkZ2V0IHtcbiAgICAgICAgd2lkdGg6IDE0NHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2dvLWF2aXMge1xuICAgICAgICB3aWR0aDogOThweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjg4cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2dvLXBheWxlc3Mge1xuICAgICAgICB3aWR0aDogOTJweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9nby1zbWFsbGVyLXBheWxlc3Mge1xuICAgIHdpZHRoOiA2NXB4O1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTg2M3B4O1xuICAgIH1cbn1cblxuLmxvZ28tc21hbGxlci1idWRnZXQge1xuICAgIHdpZHRoOiA4MXB4O1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTU5MHB4O1xuICAgIH1cbn1cblxuLmxvZ28tc21hbGxlci1hdmlzIHtcbiAgICB3aWR0aDogNjNweDtcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03NjVweDtcbiAgICB9XG59XG5cbi8qIExhcmdlIGxvZ29zXG4gKi9cbi5pY29uLXVpLXNwcml0ZS1sYXJnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL3N0YW5kYWxvbmVDYXIvYWEtaWNvbi11aS1zcHJpdGUtbGFyZ2UucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgJi5pY29uLXBhc3NlbmdlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICYuaWNvbi1jb21wYXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTRweDsgfVxuICAgICYuaWNvbi1sb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4cHg7IH0gfVxuXG5cbi8qIHYzIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnNcbiovXG4uY3VzdG9tQ29tcG9uZW50IHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAmOmhvdmVyIH4gbGFiZWwgLmNvbnRyb2wsXG4gICAgICAgICY6Zm9jdXMgfiBsYWJlbCAuY29udHJvbCxcbiAgICAgICAgJiB+IGxhYmVsIC5jb250cm9sOmhvdmVyLFxuICAgICAgICAmIH4gbGFiZWwgLmNvbnRyb2w6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmIH4gbGFiZWwgLmNvbnRyb2wge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpjaGVja2VkOmhvdmVyIH4gbGFiZWwgLmNvbnRyb2wsXG4gICAgICAgICY6Y2hlY2tlZDpmb2N1cyB+IGxhYmVsIC5jb250cm9sLFxuICAgICAgICAmOmNoZWNrZWQgfiBsYWJlbCAuY29udHJvbDpob3ZlcixcbiAgICAgICAgJjpjaGVja2VkIH4gbGFiZWwgLmNvbnRyb2w6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB+IGxhYmVsIC5jb250cm9sLFxuICAgICAgICAmOmZvY3VzIH4gbGFiZWwgLmNvbnRyb2wsXG4gICAgICAgICYgfiBsYWJlbCAuY29udHJvbDpob3ZlcixcbiAgICAgICAgJiB+IGxhYmVsIC5jb250cm9sOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmIH4gbGFiZWwuaXMtZXJyb3Ige1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmtSZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB+IGxhYmVsLmlzLWVycm9yIC5jb250cm9sLFxuICAgICAgICAmOmZvY3VzIH4gbGFiZWwuaXMtZXJyb3IgLmNvbnRyb2wsXG4gICAgICAgIH4gbGFiZWwuaXMtZXJyb3IgLmNvbnRyb2w6aG92ZXIsXG4gICAgICAgIH4gbGFiZWwuaXMtZXJyb3IgLmNvbnRyb2w6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgJjpob3ZlciB+IGxhYmVsLmlzLWVycm9yIC5jb250cm9sLFxuICAgICAgICAgICAgJjpmb2N1cyB+IGxhYmVsLmlzLWVycm9yIC5jb250cm9sLFxuICAgICAgICAgICAgfiBsYWJlbC5pcy1lcnJvciAuY29udHJvbDpob3ZlcixcbiAgICAgICAgICAgIH4gbGFiZWwuaXMtZXJyb3IgLmNvbnRyb2w6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMXB4ICRicmFuZEJsdWU7XG4gICAgICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMCAxcHggJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiB2MyByYWRpbyBvdmVycmlkZXMgdG8gbWF0Y2ggY3VycmVudCBVSVxuKi9cbi5vbGRDdXN0b21ib3gtcmFkaW9MYXlvdXQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAuY29udHJvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogR0VORVJBTCBTVFlMRVMgRk9SIEFMTCBTQyBQQUdFUyBFTkQgICovXG5cblxuLyogU0MgSE9NRVBBR0UgU1RZTEVTIFNUQVJUICAqL1xuLmhvbWVwYWdlLXdyYXBwZXJ7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbn1cbi5ib29rLXBhbmVsLXdyYXBwZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cbiNoZXJvLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDE1cHggMTVweCAtMTVweCAkYmxhY2spO1xuICAgIC5oZXJvLXRleHR7XG4gICAgICAgIG1hcmdpbjogMiUgMiUgMCA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgfVxuICAgIGltZ3tcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG4jYm9vay1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkZ3JheTA0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyJTtcbiAgICB0b3A6IC0xOHB4O1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgei1pbmRleDoxO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDdweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC44KSk7XG4gICAgLmZvcm0tcGFuZWwtcGFkIHtcbiAgICAgICAgcGFkZGluZzogOXB4IDdweDsgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAubWVudS13aWRnZXQgPiAubWVudS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgYnV0dG9uLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICB9XG4gICAgLmZvcm0taGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRtZWRpdW1HcmF5OyAvLyBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJlcXVpcmVtZW50XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gc2V0IGVycm9yIC8gZm9jdXMgc3R5bGUgdG8gYmUgY29uc2lzdGVudCB3aXRoIGZvcm0gaW5wdXRzXG4gICAgLmlzLWVycm9yIHNlbGVjdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtSZWQ7XG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkbGlua0hvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4jc2VhcmNoLWJ0bi1yb3csICNtb3JlLW9wdGlvbnMtcm93IHtcbiAgICBtYXJnaW46IDAgN3B4O1xufVxuXG4jc2VhcmNoQnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG59XG5cbi5hdmlzLWJ1ZGdldC13cmFwcGVye1xuICAgICNoZXJvLXBhbmVse1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4jbW9yZU9wdGlvbnNDb250ZW50e1xuICAgIGJhY2tncm91bmQ6ICRncmF5MDU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpIGluc2V0KTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkZ3JheTA0LCAkZ3JheTA1KSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgaW5wdXRbcmVhZG9ubHlde1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR1bHRyYUxpZ2h0R3JheTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0R3JheTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlYXR1cmVze1xuICAgIFtjbGFzcyo9XCJmZWF0dXJlLXRvcFwiXSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICAgICAgICBtYXJnaW46IDE4cHggMDtcbiAgICB9XG4gICAgLmxhc3QtZmVhdHVyZXtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAuZmVhdHVyZS1pbWcge1xuICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIH1cbiAgICBbY2xhc3MqPVwiZmVhdHVyZS1taWRkbGVcIl17XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZlYXR1cmUtbWlkZGxlLWFhZHYgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICB9XG4gICAgLmZlYXR1cmUtbWlkZGxlLWxwZyBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5mZWF0dXJlLW1pZGRsZS1scGcgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIH1cbiAgICAuZHJvcC1zaGFkb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbi5mZWF0dXJlLWJvcmRlci1yaWdodHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheTAxO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIlO1xufVxuXG4ucm93LmZlYXR1cmVzIHtcbiAgICAuZmVhdHVyZS1oZWFkLFxuICAgIC5mZWF0dXJlLWJvZHkge1xuICAgICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIH1cblxuICAgIGEuY2FsbC10by1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbnAuZmVhdHVyZS1jYWxsOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbnAuZmVhdHVyZS1jYWxsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcYTAgXFwwMEJCXCI7XG59XG4vKiAuaDMtY29udGFpbmVyIGNsYXNzIGlzIGZvciBQcmljZSBNYXRjaCBHdWFyZW50ZWUgYWRzIChpbiBjb250ZW50IGZpbGVzKSAgKi9cbi5oMy1jb250YWluZXI6aG92ZXIge1xuICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLyogU0MgSE9NRVBBR0UgU1RZTEVTIEVORCAgKi9cblxuLyogU0MgUkVTVUxUUyBQQUdFIFNUWUxFUyBTVEFSVCAgKi9cbi5ib3gtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwIDlweDsgfVxuXG4ucmVzdWx0cy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJlbnRhbENhci1jb3VudCB7XG4gICAgZm9udC1mYW1pbHk6ICRzdGFuZGFyZEZvbnRGYW1pbHk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0OyB9XG5cbi5yZW50YWxDYXItdmVuZG9yLWltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogOXB4OyB9XG5cbi5yZW50YWxDYXItaW1hZ2V7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJlbnRhbENhci1kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgLmljb24tY2FyLWZlYXR1cmVzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uZmlsdGVycy1oZWFkZXJ7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG59XG4ucmVudGFsQ2FyLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgY29sb3I6ICRncmF5MDQ7IH1cblxuLnJlbnRhbENhci1leHRyYS1pbmZvIHAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5yZW50YWxDYXItcHJpY2Uge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXkwMjtcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIC5yZW50YWwtcHJpY2UtZGF5IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzYpO1xuICAgICAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMjtcbiAgICAgICAgLmN1cnJlbmN5LXN5bWJvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgICAgICAgICAgdG9wOiAtN3B4OyB9XG4gICAgICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlbnRhbC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheTAzOyB9IH1cblxuLmZpbHRlclZlbmRvci1oaWRkZW4sIC5maWx0ZXJUeXBlLWhpZGRlbiwgLmZpbHRlclByaWNlLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jbW9kaWZ5U2VhcmNoIHtcbiAgICBidXR0b24uYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG59XG4jbnVtYmVyQ2Fyc1Nob3due1xuICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xufVxuI3NlYXJjaEZpbHRlcnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MDE7XG4gICAgY29sb3I6ICRkYXJrR3JheSAhaW1wb3J0YW50O1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAkZ3JheTA0O1xuICAgIH1cbn1cbiNzb3J0QnV0dG9uc3tcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuI21vZGlmeVJlc3VsdHNPcHRpb25ze1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBtYXJnaW4tbGVmdDowO1xufVxuLnJlc3VsdHMtcHJpY2VzLXRleHR7XG4gICAgY29sb3I6ICRncmF5MDM7XG59XG5cbi8qIFBhZ2VTbGlkZVxuICovXG5cbi5wYWdlc2xpZGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGdyYXkwNSwgJGJsYWNrKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkZ3JheTA1LCAkYmxhY2spKTtcbiAgICBoZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDI7XG4gICAgbWFyZ2luOiAwIC03cHggMThweDtcbiAgICBbY2xhc3MqPVwiaWNvbi1cIl17XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMXB4O1xuICAgIH1cbiAgICAuaWNvbi1vbntcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMjtcbiAgICB9XG59XG5cbi5wYWdlc2xpZGUtYmFye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGdyYXkwNSwgJGJsYWNrKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkZ3JheTA1LCAkYmxhY2spKTtcbn1cblxuLnBhZ2VzbGlkZS1jb250YWluZXIge1xuICAgIC5ib3gtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDlweCA3cHg7IH1cbn1cblxuLy9zbGlkZXIvTWF0cml4XG4jc2VhcmNoUmVzdWx0c01hdHJpeCB7XG4gICAgLy9wYWRkaW5nLXJpZ2h0OiAxOHB4XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDRweCAwIDNweDtcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1hdHJpeC1uYXYgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrQmx1ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGRhcmtCbHVlLCAkYnJhbmRCbHVlLCBob3Jpem9udGFsKTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQobGVmdCwgJGRhcmtCbHVlLCAkYnJhbmRCbHVlKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGRhcmtCbHVlLCAkYnJhbmRCbHVlKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kQmx1ZTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAmLm1hdHJpeC1wcmV2LFxuICAgICAgICAgICAgJi5tYXRyaXgtbmV4dCB7XG4gICAgICAgICAgICAgICAgLmFycm93LXNsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMnB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hcnJvdy1zbGlkZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgJi5hcnJvdy1zbGlkZS10b3Age1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6ICRiYXNlTGluZUhlaWdodCAqIDU7IH1cbiAgICAgICAgICAgICYuYXJyb3ctc2xpZGUtYm90dG9tIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0oJGJhc2VMaW5lSGVpZ2h0ICogMTYpOyB9IH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGxpZ2h0Qmx1ZSwgJGJyYW5kQmx1ZSwgaG9yaXpvbnRhbCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudChsZWZ0LCAkbGlnaHRCbHVlLCAkYnJhbmRCbHVlKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRsaWdodEJsdWUsICRicmFuZEJsdWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgICAgICAgLy9vcGFjaXR5OiAwLjNcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC4zKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KGxlZnQsICRicmFuZEJsdWUsICRsaWdodEJsdWUpKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRicmFuZEJsdWUsICRsaWdodEJsdWUpOyB9IH1cbiAgICAgICAgJi5tYXRyaXgtcHJldixcbiAgICAgICAgJi5tYXRyaXgtbmV4dCB7XG4gICAgICAgICAgICAuYXJyb3ctc2xpZGUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tYXRyaXgtcHJldiB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coNXB4IDAgMTBweCAtMnB4ICR3aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5tYXRyaXgtbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coLTVweCAwIDEwcHggLTJweCAkd2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tYXRyaXgtbmF2LWxpbmtzIGEge1xuICAgICAgICAmLm1hdHJpeC1uZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMThweDsgfVxuICAgICAgICAmLmlzLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tYXRyaXgtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOjM2cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTAyO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDBweCAyMHB4IDVweCAtMThweCByZ2JhKDAsIDAsIDAsIDAuNCkpO1xuICAgIH1cbiAgICAubWF0cml4LXZlbmRvcnMtd3JhcHBlciwgLm1hdHJpeC1kYXRhLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWF0cml4LWRhdGEtd3JhcHBlcntcbiAgICAgICAgLmZsZXgtdmlld3BvcnR7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXkwMjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4udGFidWxhci1tYXRyaXgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgLy9ib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC5jZWxsIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheTAyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXkwMjtcbiAgICAgICAgaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTAxO1xuICAgICAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGdyYXkwMSwgJHdoaXRlLCBob3Jpem9udGFsKTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQobGVmdCwgJGdyYXkwMSwgJHdoaXRlKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGdyYXkwMSwgJHdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDlweCAwO1xuICAgICAgICBjb2xvcjogJGdyYXkwMztcblxuICAgICAgICAubWF0cml4LXByaWNlRGF5IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQ7XG4gICAgICAgICAgICAuY3VycmVuY3ktc3ltYm9se1xuICAgICAgICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgICAgIH0gfVxuICAgICAgICAuZGF0YS11bmF2YWlsYWJsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMjtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTAzOyB9XG4gICAgfVxuICAgIC5jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAyO1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGdyYXkwNTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1hdHJpeC1jYXJWZW5kb3Ige1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMCAwOyB9IH1cblxuI21hdHJpeEJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgICY6bm90KC5pcy1zZWxlY3RlZCkgLmJ0bi10ZXh0LWhpZGV7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYuaXMtc2VsZWN0ZWQgLmJ0bi10ZXh0LXNob3d7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG5cbiNwcmljZUZpbHRlckFtb3VudHMge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkZ3JheTA0OyB9XG5cbiNkaWZmZXJlbnRMb2NhdGlvbkxhYmVse1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG59XG5cbnVsLnZlbmRvci1jb2Rlc3tcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbGl7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheTAxO1xuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi52ZW5kb3ItbmFtZXtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qIFNDIFJFU1VMVFMgUEFHRSBTVFlMRVMgRU5EICAqL1xuXG4vKiBTQyBERVRBSUxTIEFORCBDT05GSVJNQVRJT04gUEFHRSBTVFlMRVMgU1RBUlQgKi9cbi5jb250ZW50LXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyB9XG5cblxuLmRldGFpbHMtd3JhcHBlciB7XG4gICAgLmNvbHVtbi1wYWQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMThweDsgfVxuICAgIGgze1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfSB9XG5cbi52ZXJ0aWNhbC1iYXIge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5MDE7XG4gICAgaGVpZ2h0OiAxOThweDtcbiAgICB3aWR0aDogNTAlOyB9XG5cbi5yZW50YWwtc3VtbWFyeS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZW50YWwtYm9va2luZy1zdW1tYXJ5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRncmF5MDE7XG4gICAgY29sb3I6ICRncmF5MDU7XG59XG4ucmVudGFsLXRvdGFsLXN1bW1hcnl7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOjVweDtcbn1cbi5yZW50YWwtb3B0aW9ucy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgkZ3JheTAxLCAkd2hpdGUgMTUlLCAkd2hpdGUgODUlLCAkZ3JheTAxKSk7XG4gICAgLnJlbnRhbC11cGdyYWRlIHtcbiAgICAgICAgcGFkZGluZzogMThweCAyJSAxOHB4IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgIC5yZW50YWxDYXItaW1hZ2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgfVxuICAgICAgICAucmVudGFsQ2FyLXByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgLmN1cnJlbmN5LWNvZGV7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIG1hcmdpbjogMCAkZmx1aWRHcmlkR3V0dGVyV2lkdGg7IH1cbn1cblxuLm1hcmdpbi1maXgtZGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xufVxuXG4ucmVudGFsLWRhdGUtbG9jYXRpb24ge1xuICAgIC5jb2x1bW4tcGFkIHtcbiAgICAgICAgcGFkZGluZzogOXB4OyB9XG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOjNweDt9XG4gICAgW2NsYXNzKj1cImljb24tXCJdOmJlZm9yZXtcbiAgICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNyk7XG4gICAgfVxufVxuXG4ucmVudGFsLXByb2R1Y3RzLXdyYXBwZXJ7XG4gICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICB9XG4gICAgLnJlbnRhbC1wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogOXB4OyB9XG4gICAgLnZlcnRpY2FsLWJhcntcbiAgICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICB9XG59XG4ucmVudGFsLWxvY2F0aW9uLCAucmVudGFsLWRhdGV7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbn1cbi5yZW50YWwtbG9jYXRpb257XG4gICAgbWluLWhlaWdodDogNjZweDtcbn1cbi5yZW50YWwtZGF0ZXtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xufVxuLnJlbnRhbENhci1kZXRhaWxzLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucmVudGFsQ2FyLWluc3VyYW5jZS13cmFwcGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIGg0e1xuICAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTt9XG4gICAgZmllbGRzZXR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICB9XG5cbn1cbi5yZW50YWxDYXItaW5zdXJhbmNlLXdyYXBwZXIgbGFiZWx7XG4gICAgY29sb3I6ICRkYXJrR3JheSAhaW1wb3J0YW50O1xufVxuXG4ucmVudGFsLXByaWNlLXRvdGFsIHtcbiAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgLmN1cnJlbmN5LXN5bWJvbCwgLmN1cnJlbmN5LWNvZGV7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICB9XG59XG5cbi5yZW50YWwtcGx1cy1kYXkge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQ7XG4gICAgY29sb3I6ICRncmF5MDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTdweDsgfVxuXG5cbi5yZXF1aXJlLWZpZWxkIHtcbiAgICBjb2xvcjogJHJlZDsgfVxuXG4ucmVudGFsLWFkZC1vbnMge1xuICAgIGg2IHtcbiAgICAgICAgY29sb3I6ICRncmF5MDQ7IH0gfVxuLnNhdmVkLWNjLWVycm9ye1xuICAgIG1hcmdpbi10b3A6MjFweDtcbn1cblxuLnJlbnRhbC1hZGRpdGlvbmFsLWluZm8gcHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG59XG5cbiNkcml2ZXJEZXRhaWxzRm9ybVJvdyB7XG4gICAgLmNvbHVtbi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmN1cnJlbmN5LWNvZGUge1xuICAgICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIH1cbn1cbi5yZW50YWwtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAucmVudGFsQ2FyLWRlc2NyaXB0aW9uLFxuICAgIC5yZW50YWwtcGx1cy1kYXkge1xuICAgICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIH1cbiAgICAucmVudGFsLXVwZ3JhZGUge1xuICAgICAgICAucmVudGFsQ2FyLXByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZpZWxkc2V0W2RhdGEtYmVoYXZpb3J+PVwidG9vbHRpcFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hYS10b29sdGlwIHtcbiAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRCbHVlO1xuICAgICY6Zm9jdXN7XG4gICAgICAgIG91dGxpbmU6bm9uZTtcbiAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgICAudG9vbHRpcC1hcnJvd3tcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgICB9XG4gICAgICAgIC50b29sdGlwLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA5cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRvb2x0aXAtY2xvc2Uge1xuICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICByaWdodDogOXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50b29sdGlwLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46ICRiYXNlTGluZUhlaWdodC8yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAudG9vbHRpcC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZUZvbnRTaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlTGluZUhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGJhc2VMaW5lSGVpZ2h0LzI7XG4gICAgfVxuICAgIC50b29sdGlwLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIFtjbGFzcyo9XCJpY29uLVwiXXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgJi5zYy10b29sdGlwLWljb24tYWxpZ24ge1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsLXRleHR7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxufVxuXG4vKiBFcnJvciBzdW1tYXJ5IG1lc3NhZ2Ugc3R5bGluZyAqL1xuLmdlbmVyYWxFcnJvcnMge1xuICAgIC5tZXNzYWdlLWVycm9yIHtcbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya1JlZDtcblxuICAgICAgICAgICAgLmxpbmtUb0ZpcnN0RXJyb3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya1JlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmVycm9yLXNtYWxsIHtcbiAgICAgICAgLm1lc3NhZ2UtZXJyb3Ige1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTZweDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMDgzMzNyZW07XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnMtZmVhdHVyZS1ob21lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5hYWR2YW50YWdlLWxvZ28ge1xuICAgIG1hcmdpbjogLTlweCAwcHggLTE0cHg7XG59XG5cbi8qIFNDIERFVEFJTFMgQU5EIENPTkZJUk1BVElPTiBQQUdFIFNUWUxFUyBFTkQgKi9cbiIsIiRmbHVpZDogZmFsc2UhZGVmYXVsdDtcblxuJGdyaWRDb2x1bW5zOiAxMjtcbiRncmlkQ29sdW1uV2lkdGg6IDY0cHg7XG4kZ3JpZEd1dHRlcldpZHRoOiAyMnB4O1xuJGdyaWRIZXJvV2lkdGg6IDkwcHg7XG4kZ3JpZEhlcm9IZWlnaHRPZmZzZXQ6IDg1cHg7XG5cbiRncmlkVG90YWxHdXR0ZXI6ICRncmlkQ29sdW1ucyAqICRncmlkQ29sdW1uV2lkdGggKyAkZ3JpZENvbHVtbnMgKiAkZ3JpZEd1dHRlcldpZHRoO1xuXG4kZ3JpZFRvdGFsOiAkZ3JpZFRvdGFsR3V0dGVyIC0gJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGZsdWlkR3JpZENvbHVtbldpZHRoOiBwZXJjZW50YWdlKCRncmlkQ29sdW1uV2lkdGggLyAkZ3JpZFRvdGFsR3V0dGVyKTtcbiRmbHVpZEdyaWRHdXR0ZXJXaWR0aDogcGVyY2VudGFnZSgkZ3JpZEd1dHRlcldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG5cbkBmdW5jdGlvbiBzcGFuV2lkdGgoJG4pIHtcbiAgICBAcmV0dXJuICRuICogJGZsdWlkR3JpZENvbHVtbldpZHRoICsgJGZsdWlkR3JpZEd1dHRlcldpZHRoICogKCRuIC0gMSk7IH1cblxuQGZ1bmN0aW9uIHdpZHRoKCRuKSB7XG4gICAgQHJldHVybiAkbiAqICRmbHVpZEdyaWRDb2x1bW5XaWR0aCArICRmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqICgkbiAtIDEpOyB9XG5cbkBmdW5jdGlvbiBmb3JjZVdpZHRoKCRuKSB7XG4gICAgQHJldHVybiAkbiAqICRmbHVpZEdyaWRDb2x1bW5XaWR0aCArICRmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqICgkbiAtIDEpICFpbXBvcnRhbnQ7IH1cblxuQGZ1bmN0aW9uIG9mZnNldFdpZHRoKCRuKSB7XG4gICAgQHJldHVybiAkbiAqICRmbHVpZEdyaWRDb2x1bW5XaWR0aCArICRmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqICgkbiArIDEpOyB9XG5cbiRmaXhlZENvbnRhaW5lcldpZHRoOiAgICgkZ3JpZENvbHVtbnMgKiAkZ3JpZENvbHVtbldpZHRoKSArICgkZ3JpZEd1dHRlcldpZHRoICogKCRncmlkQ29sdW1ucyAtIDEpKTtcbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIi8qKlxuICAqIFNwZWNpZmljLCB0YXJnZXRlZCBmaXhlcyBmb3IgSUUgYnJvd3NlcnNcbiAgKi9cblxuLmx0LWllMTAge1xuXG59XG5cbi5sdC1pZTkge1xuICAgI2Jvb2stcGFuZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gIH1cbiAgLmRyb3Atc2hhZG93e1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MDI7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgJi5pbnNpZGUtdXB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTAyO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG4gICAgfVxuICB9XG5cbn1cblxuLmx0LWllOCB7XG5cbn1cbiIsIi8qIFByaW50IHN0eWxlcyBPdmVycmlkZXMgZm9yIHN0YW5kYWxvbmVDYXIuY3NzXG4gKi9cbkBtZWRpYSBwcmludHtcbiAgLy8gSGVhZGVyIGFuZCBGb290ZXJcbiAgLy9oZWFkZXJ7XG4gICAgLm1lbnUtdXRpbGl0eSwgLm1lbnUtbWVnYW5hdiwgLmZvb3Rlci1pY29ucywgLmFkLWNvbnRhaW5lci1mb290ZXIsIC5uYXYtbGlua3N7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuc2l0ZS1iYW5uZXJ7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxuICAgIC5vbmV3b3JsZC1sb2dve1xuICAgICAgdG9wOiA3cHg7XG4gICAgfVxuICAvL31cbiAgLmZvb3Rlci1oZWFke1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJiArIC5saXN0LXN0YW5kYXJke1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBmb290ZXJ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHNlY3Rpb24uY29udGFpbmVye1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cblxuICAvLyBHZW5lcmFsIGNsYXNzIHRvIGRpc3BsYXkgdGV4dCBvbmx5IHdoZW4gcHJpbnRpbmdcbiAgLnByaW50LXRleHR7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAvLyBHZW5lcmFsIGNsYXNzIHRvIGRpc3BsYXkgcHJvcGVyIHdpZHRoIG9mIGEgY29sdW1uIHdoZW4gcHJpbnRpbmdcbiAgLnByaW50LWNvbHVtbi13aWR0aHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuZHJvcC1zaGFkb3cuY3VydmVkLWhvcml6b250YWx7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXkwMjtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmLmluc2lkZS11cHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gU3RhbmRhbG9uZSBDYXIgLSBDb25maXJtYXRpb24gcGFnZVxuICAuY29uZmlybWF0aW9uLXdyYXBwZXJ7XG4gICAgYnV0dG9uLCAuYnRuLCAuaWNvbi1sb2NhdGlvbiwgLmljb24tY2xvY2ssIC5yZW50YWwtY2FycywgW2NsYXNzXj1cImxvZ29zLWNhcnNcIl0sIGZvcm0gYSwgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiaWNvbi1cIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJveC1tYXJnaW4tYm90dG9te1xuICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIH1cbiAgICAucmVudGFsLWxvY2F0aW9ue1xuICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5pY29uLWNhci1mZWF0dXJlcywgLmxvZ29zLWNhcnMtc217XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAvL0BpbmNsdWRlIGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmxlYWR7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICB9XG4gICAgLnN1Yi1sZWFke1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuXG4gICAgLnJlbnRhbC1ib29raW5nLXN1bW1hcnktd3JhcHBlcntcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnJlbnRhbC1kYXRlLWxvY2F0aW9uIC5sb2dvcy1jYXJzLXNtIC5wcmludC10ZXh0e1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLnJlbnRhbENhci1kZXRhaWxze1xuICAgICAgLmRlbHRhe1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgZm9udDppbmhlcml0O1xuICAgICAgfVxuICAgICAgLnByaW50LXRleHR7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogUmVzcG9uc2l2ZSBzdHlsZXMgT3ZlcnJpZGVzIGZvciBzdGFuZGFsb25lQ2FyLmNzc1xuICovXG4ucm93LCAucm93LW5vQnJlYWsge1xuICAmID4gW2NsYXNzKj1cInNwYW5cIl0gLmJ0bntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLyogIFBob25lIGxldmVsIC0gUG9ydHJhaXQgKi9cbkBpbmNsdWRlIHJlc3BvbmQtdG8ocGhvbmVfcG9ydHJhaXQpIHtcbiAgLmljb24tY2FyLWZlYXR1cmVze1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucmVudGFsQ2FyLXZlbmRvci1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAjYm9vay1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbn1cblxuLyogIFBob25lIGxldmVsIC0gTGFuZHNjYXBlICovXG5AaW5jbHVkZSByZXNwb25kLXRvKHBob25lX2xhbmRzY2FwZSkge1xuICAjYm9vay1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG4gIC5mZWF0dXJlIC5mZWF0dXJlLWhlYWQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmZlYXR1cmVzIC5mZWF0dXJlLW1pZGRsZS1scGcgaDMge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbn1cblxuLyogIFBob25lIGxldmVsICovXG5AaW5jbHVkZSByZXNwb25kLXRvKHBob25lKSB7XG4gICAgI25hdmlnYXRpb24gdWwgbGkub3BlbmVkIGF7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG4gIHNlY3Rpb24uY29udGFpbmVye1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgLmJvb2stcGFuZWwtd3JhcHBlcntcbiAgICBtaW4taGVpZ2h0OiAwOyB9XG4gICNib29rLXBhbmVsIHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbWFpbi1jb250ZW50IC5zaXRlLWNvbnRlbnQge1xuICAgIHRvcDogLSgkZ3JpZEhlcm9IZWlnaHRPZmZzZXQgLSA2NXB4KTsgfVxuXG4gIC5kcm9wLXNoYWRvdyAuYm9yZGVyLWxpbmV7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG4gIC5kcm9wLXNoYWRvd3tcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gIC5iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgLnBhZ2VzbGlkZXtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O31cbiAgLnJlbnRhbENhci1wcmljZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgLnJlbnRhbC1kYXlzLXRvdGFse1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgfVxuICAjbW9kaWZ5U2VhcmNoe1xuICAgIG1hcmdpbi10b3A6MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MDE7XG4gICAgY29sb3I6ICRkYXJrR3JheSAhaW1wb3J0YW50O1xuICB9XG4gIC5sZWFkIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0IC8gMiAqIDM7IH1cblxuICAubmF2LWxpbmtzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO30gfVxuXG4gIC5yZW50YWwtY2FycyB7XG4gICAgd2lkdGg6IDE0NXB4OyB9XG4gIC52ZW5kb3ItbmFtZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuYm94LXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDlweCA3cHg7XG4gIH1cblxuICAucmVzdWx0cy1wcmljZXMtdGV4dHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gIH1cblxuICAucmVudGFsQ2FyLWluc3VyYW5jZS13cmFwcGVye1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gIH1cbiAgLnNhdmVkLWNjLWVycm9ye1xuICAgIG1hcmdpbi10b3A6MDtcbiAgfVxuICAucmVudGFsLWNkcC1wdXJjaGFzZXtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgLmZlYXR1cmVze1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLmZlYXR1cmUtbWlkZGxlLWFhZHYgaDMge1xuICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIH1cbiAgICBbY2xhc3MqPVwiZmVhdHVyZS10b3BcIl0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgfVxuICAgIC5mZWF0dXJlLWNhbGx7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5sYXN0LWZlYXR1cmV7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5mZWF0dXJlLWJvcmRlci1yaWdodHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gICNtb2RpZnlSZXN1bHRzT3B0aW9uc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTAxO1xuICB9XG5cbiAgLy9UZW1wb3JhbCBzb2x1dGlvbiBmb3IgcmFkaW8vY2hlY2tib3hlc1xuICAuY3VzdG9tYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuY3VzdG9tYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAuY3VzdG9tYm94ID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuY3VzdG9tYm94ID4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgIGxlZnQ6NHB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICB0b3A6MnB4O1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gIH1cblxuICAvL2RlY3JlYXNlIG1hcmdpbiB3aGVuIG9uIG1vYmlsZVxuICAuY2Fycy1mZWF0dXJlLWhvbWUsIC5tYXJnaW4tdG9wLm1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG5cbiAgLmRyb3Atc2hhZG93Lm1hcmdpbi1maXgge1xuICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgfVxuXG4gIC5ibG9jay1waG9uZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgXHQvLyBIZWFkZXIgTW9iaWxlXG5cdGhlYWRlciB7XG5cdFx0I21haW4tbmF2aWdhdGlvbiB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblxuXHRcdFx0Lm1vYmlsZS1sb2dvIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdC5hYS1sb2dvIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1vYmlsZS1uYXYge1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdC51dGlsaXR5LW5hdiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5sb2dpbi1idXR0b24ge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGV0cm9pdEJsdWU7XG5cdFx0XHRcdHBhZGRpbmc6IDRweCA2cHg7XG5cdFx0XHRcdG1hcmdpbjogMTVweCAwO1xuXHRcdFx0XHRtaW4td2lkdGg6IDc3cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodCgxMik7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIH1cbiAgICAgIC5wYWdlc2xpZGUtYnV0dG9uIHtcbiAgICAgICAgLmljb24tbWVudS5pY29uLWxhcmdlOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cdFx0XHQjdXRpbGl0eUN1c3RvbWVySW5mby5jdXN0b21lci1pbmZvIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTNweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHJpZ2h0OiAtNHB4O1xuXG5cdFx0XHRcdFtkYXRhLWJlaGF2aW9yfj1cImRyb3Bkb3duLXRyaWdnZXJcIl0ge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJweDtcblx0XHRcdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuanMtZHJvcGRvd24tcGFuZWwge1xuXHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5pY29uLWRvd25hcnJvd2hlYWQ6OmJlZm9yZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDIyKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQucGFnZXNsaWRlLWJ1dHRvbiB7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCA3cHggOHB4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cblx0XHRcdCNsb2dpbkxvZ291dExpbmsge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdH1cblxuXHRcdFx0I215QWNjb3VudERyb3Bkb3duIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodCgxMyk7XG5cdFx0XHRcdC5pY29uLWRvd25hcnJvd2hlYWQ6OmJlZm9yZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KDE4KTtcbiAgICAgICAgfVxuICAgICAgICAudXNlci1ncmVldGluZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIG1heC13aWR0aDogOTZweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0LnVzZXItZ3JlZXRpbmcge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1vYmlsZS11dGlsaXR5IHtcblx0XHRcdCNsYW5ndWFnZS1zZWxlY3RvciB7XG5cdFx0XHRcdHotaW5kZXg6IDkwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY29udGFpbmVye1xuXHRcdFx0cGFkZGluZzogMCAzJTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0XHQubWVudS11dGlsaXR5e1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHQuY3VzdG9tZXItaW5mb3tcblx0XHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHRcdC5qcy1kcm9wZG93bi1wYW5lbHtcblx0XHRcdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bGVmdDogNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5hYS1sb2dvIHtcblx0XHRcdG1hcmdpbi10b3A6IDE0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cblx0XHQucGFnZXNsaWRlLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cblx0XHRcdGkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNzaXRlLW5hdntcblx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHR9XG5cblx0XHQjdXRpbGl0eS1uYXZ7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFtkYXRhLWJlaGF2aW9yfj1cImRyb3Bkb3duXCJde1xuXHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0LmpzLWRyb3Bkb3duLXBhbmVse1xuXHRcdFx0XHRcdHJpZ2h0OiA2cHg7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY3VzdG9tZXItaW5mb3tcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0LmpzLWRyb3Bkb3duLXBhbmVse1xuXHRcdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdGxlZnQ6IDZweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNjb3VudHJ5U2VsZWN0b3J7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHQuanMtZHJvcGRvd24tcGFuZWx7XG5cdFx0XHRcdHJpZ2h0OiA2cHg7XG5cdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I2FhLXNpdGUtc2VhcmNoe1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdH1cblxuXHRcdC5zaXRlLWJhbm5lciB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtYXJnaW46IDlweCAwO1xuXHRcdH1cblxuXHRcdC5zaXRlLWxvZ28ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5vbmV3b3JsZC1sb2dve1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdH1cblxuXHRcdC5hYS1sb2dvLCAuc2l0ZS1sb2dvIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdG1heC13aWR0aDogMTUwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH0gLy8gaGVhZGVyXG59XG5cblxuLyogIFRhYmxldCBsZXZlbCAtIFBvcnRyYWl0ICovXG5AaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldF9wb3J0cmFpdCkge1xuICAjbWFpbi1jb250ZW50IC5zaXRlLWNvbnRlbnQge1xuICAgIHRvcDogLSgkZ3JpZEhlcm9IZWlnaHRPZmZzZXQgLSAzNXB4KTsgfVxuICAuYm9vay1wYW5lbC13cmFwcGVye1xuICAgIG1pbi1oZWlnaHQ6IDM2MHB4OyB9XG4gIC5iYW5uZXJ7XG4gICAgbWFyZ2luLXRvcDogMzZweDt9XG4gIC5wYWdlc2xpZGV7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDt9XG4gIC5zYXZlZC1jYy1lcnJvcntcbiAgICBtYXJnaW4tdG9wOjA7XG4gIH1cbiAgLnJlbnRhbENhci1pbnN1cmFuY2Utd3JhcHBlcntcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICB9XG5cbiAgLmZlYXR1cmVzIFtjbGFzcyo9XCIgZmVhdHVyZS1taWRkbGVcIl0gLmZlYXR1cmUtcm93IHtcbiAgICBtaW4taGVpZ2h0OiAxMjZweDtcbiAgfVxuICAuZmVhdHVyZS1taWRkbGUtbHBnIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gICNzZWFyY2hSZXN1bHRzTWF0cml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0X3VwKXtcbiAgLmFsbGlhbnotbG9nb3tcbiAgXHRmbG9hdDpyaWdodDtcbiAgXHR0ZXh0LWFsaWduOnJpZ2h0O1xuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0X2xhbmRzY2FwZV91cCl7XG4ucmVudGFsLWRheXMtdG90YWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cblxuIiwiLypcbiAqIEdFTkVSQUwgU1RZTEVTIEZPUiBJUy1NT0JJTEUgQU5EIElTLVRBQkxFVCBQUkVTRU5UIElOIEhUTUwgKEFEQVBUSVZFIEFQUFJPQUNIKVxuICovXG4uaXMtbW9iaWxle1xuXG59XG5cbi5pcy10YWJsZXR7XG5cbn1cblxuLmlzLW1vYmlsZSwgLmlzLXRhYmxldHtcbiAgYSB7XG5cbiAgICBbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgfVxuICAgIC5pY29uLWxhcmdlOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgIH1cbiAgICAuaWNvbi14bGFyZ2U6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg1NCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJzXCI7XG5cbi8vIE5vIGphcnJpbmcgc2Nyb2xsIG9mIHNjcmVlbiBmcm9tIHNraXAtbGlua1xuI2FhLWNvbnRlbnQtZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4uZmlsdGVyQ2hlY2tib3gtZnVsbHdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI2ZpbHRlckNhciwgI2ZpbHRlclZlbmRvciB7XG4gICAgbGkge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDJweCAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGNvbG9yIGNvbnRyYXN0IG92ZXJyaWRlc1xuYSAubWF0cml4LXByaWNlRGF5LFxuI3NlYXJjaEZpbHRlcnMgYSB7XG4gICAgY29sb3I6ICRkYXJrQmx1ZTtcbn1cblxuI3NlYXJjaEZpbHRlcnMgaDMsXG4jcHJpY2VGaWx0ZXJBbW91bnRzLFxuLnBhcmFncmFwaC1saW5rLWdyYXksXG4udGFidWxhci1tYXRyaXggLmNlbGwsXG4udGFidWxhci1tYXRyaXggLmNlbGwgLmRhdGEtdW5hdmFpbGFibGUsXG4ucmVzdWx0cy1wcmljZXMtdGV4dCxcbi5yZW50YWxDYXItcHJpY2UgLnJlbnRhbC1wcmljZSB7XG4gICAgY29sb3I6ICRkYXJrR3JheTtcbn1cblxuLmhvdmVyLWxpbmstcGFyYWdyYXBoIHtcbiAgICBjb2xvcjogJGJyYW5kQmx1ZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbiJdfQ== */
