/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet 
    Author     : Your Name
==============================================================================================*/
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
.absolute-center, .burger-menu span, header .right .account-nav > a:after, .banner-home .wrap-caption, .content-std.content-detail .list-gallery .box:after, .content-std.buy-step .payment-option a span.ico, .content-std.buy-step .payment-option a label, .content-std .tbl-std tbody tr td:first-child:after, .content-std .counter-num span:after, .content-std .box-register .left, .content-std .box-register .left img, .thanks-page .ico .ico-2, .wrap-popup, .wrap-popup .overlay-pop {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

.no-margin {
  margin: 0 !important;
}

.after_clear, .wrapper:after, .home-sec.h-about .list-col:after, .home-sec.h-updates .list:after, .home-sec.h-testi .box:after, .content-std.about .list-col:after, .content-std .list-prod:after, .content-std.content-detail .list-gallery:after, .content-std .list-location .box:after, .content-std .box-contact:after, .content-std .price-type:after, .content-std .support-facility:after, .content-std .head-log ul:after, .content-std .accordion:after, .content-std .service-room-list .box:after, .content-std.buy-step .wrap-step:after, .content-std.buy-step .box-red .box:after, .content-std.buy-step .payment-option:after, .content-std .box-register:after, .content-std.faq .wrap_block:after, .content-std:after, .opt-checkbox:after, .box-form .row:after {
  content: "";
  display: block;
  clear: both;
}

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

.a-left {
  text-align: left;
}

/* color global
----------------------------------------------------------------------------------------------*/
body {
  color: #333;
  font-size: 12px;
  font-family: "Hind";
  position: relative;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

figure {
  margin: 0;
  padding: 0;
}

figure img {
  vertical-align: middle;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input, textarea, select {
  font-family: "Hind";
  font-size: 12px;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 10px;
  margin: 0;
  color: #666;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}

input[type=checkbox], input[type=radio] {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  opacity: 0;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

h1 {
  font-size: 32px;
}

h2, .content-std h3 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

/* structure 
----------------------------------------------------------------------------------------------*/
section {
  position: relative;
}

.wrapper {
  width: 1170px;
  margin: 0 auto;
}

.grabvibes, .box-signature .textsig[data-font=grabvibes] input[type=text], .box-signature .textsig[data-font=grabvibes] span {
  font-family: "Great Vibes", cursive;
}

.pacifito, .box-signature .textsig[data-font=pacifito] input[type=text], .box-signature .textsig[data-font=pacifito] span {
  font-family: "Pacifito", cursive;
}

.homemade, .box-signature .textsig[data-font=homemade] input[type=text], .box-signature .textsig[data-font=homemade] span {
  font-family: "Yellowtail", cursive;
}

.tangerine, .box-signature .textsig[data-font=tangerine] input[type=text], .box-signature .textsig[data-font=tangerine] span {
  font-family: "Tangerine", cursive;
}

.nothing, .box-signature .textsig[data-font=nothing] input[type=text], .box-signature .textsig[data-font=nothing] span {
  font-family: "Nothing You Could Do", cursive;
}

.damion, .box-signature .textsig[data-font=damion] input[type=text], .box-signature .textsig[data-font=damion] span {
  font-family: "Damion", cursive;
}

.parisienne, .box-signature .textsig[data-font=parisienne] input[type=text], .box-signature .textsig[data-font=parisienne] span {
  font-family: "Parisienne", cursive;
}

.italianno, .box-signature .textsig[data-font=italianno] input[type=text], .box-signature .textsig[data-font=italianno] span {
  font-family: "Italianno", cursive;
}

.labelle, .box-signature .textsig[data-font=labelle] input[type=text], .box-signature .textsig[data-font=labelle] span {
  font-family: "La Belle Aurore", cursive;
}

.vampiroone, .box-signature .textsig[data-font=vampiroone] input[type=text], .box-signature .textsig[data-font=vampiroone] span {
  font-family: "Vampiro One", cursive;
}

.aguafina, .box-signature .textsig[data-font=aguafina] input[type=text], .box-signature .textsig[data-font=aguafina] span {
  font-family: "Aguafina Script", cursive;
}

.league, .box-signature .textsig[data-font=league] input[type=text], .box-signature .textsig[data-font=league] span {
  font-family: "League Script", cursive;
}

.molle, .box-signature .textsig[data-font=molle] input[type=text], .box-signature .textsig[data-font=molle] span {
  font-family: "Molle", cursive;
}

.alex, .box-signature .textsig[data-font=alex] input[type=text], .box-signature .textsig[data-font=alex] span {
  font-family: "Alex Brush", cursive;
}

.pinyon, .box-signature .textsig[data-font=pinyon] input[type=text], .box-signature .textsig[data-font=pinyon] span {
  font-family: "Pinyon Script", cursive;
}

.overlay {
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 8;
  display: none;
}

/* header
----------------------------------------------------------------------------------------------*/
.burger-menu {
  position: fixed;
  width: 40px;
  height: 27px;
  z-index: 10;
  top: 35px;
  left: 45px;
}

.burger-menu span {
  width: 100%;
  height: 3px;
  background: #d31f22;
  transition: 0.6s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -webkit-transition: 0.6s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -moz-transition: 0.6s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -ms-transition: 0.6s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -o-transition: 0.6s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
}

.burger-menu span:nth-child(1) {
  bottom: auto;
}

.burger-menu span:nth-child(3) {
  top: auto;
}

.burger-menu.active span:nth-child(2) {
  opacity: 0;
  width: 0;
}

.burger-menu.active span:nth-child(1) {
  top: 12px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

.burger-menu.active span:nth-child(3) {
  bottom: 12px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.burger-menu:hover span:nth-child(2) {
  right: 110%;
}

.side-menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 440px;
  height: 100%;
  z-index: 9;
  background: url(../images/material/bg-sidemnu.jpg) no-repeat;
  left: -440px;
  opacity: 0;
}

.side-menu nav {
  padding: 145px 75px 50px;
}

.side-menu nav a {
  font-size: 26px;
  font-weight: bold;
  color: #FFF;
  margin: 0 0 20px 0;
  display: block;
}

.side-menu nav a:hover {
  color: #d31f22;
}

.side-menu .search {
  margin: 0 75px;
}

.side-menu .search input {
  font-size: 16px;
  border: none;
  background: none;
  border-bottom: 1px solid #666;
  background: url(../images/material/search-ico.png) no-repeat right top;
  width: 100%;
  padding: 0 30px 10px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.side-menu .lang {
  font-size: 16px;
  color: #666;
  margin: 35px 0 0 75px;
  display: none;
}

.side-menu .lang span {
  display: inline-block;
  margin: 0 5px;
}

.side-menu .lang a {
  display: inline-block;
  color: #666;
}

.side-menu .lang a.active, .side-menu .lang a:hover {
  color: #d31f22;
}

header {
  position: fixed;
  height: 100px;
  background: #FFF;
  box-shadow: 0px 0px 10px -8px;
  -webkit-box-shadow: 0px 0px 10px -8px;
  -moz-box-shadow: 0px 0px 10px -8px;
  -ms-box-shadow: 0px 0px 10px -8px;
  -o-box-shadow: 0px 0px 10px -8px;
  width: 100%;
  z-index: 5;
  top: 0;
  box-shadow: 0px 0px 20px -11px #000;
  -webkit-box-shadow: 0px 0px 20px -11px #000;
  -moz-box-shadow: 0px 0px 20px -11px #000;
  -ms-box-shadow: 0px 0px 20px -11px #000;
  -o-box-shadow: 0px 0px 20px -11px #000;
}

header:after {
  position: absolute;
  width: 1px;
  height: 100%;
  background: #e5e5e5;
  left: 129px;
  content: "";
  top: 0;
}

header .logo {
  float: left;
  margin: 29px 0 0 160px;
}

header nav {
  margin: 0 0 0 50px;
}

header nav a {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  text-transform: uppercase;
  margin: 0 24px 0 0;
}

header nav a:hover, header nav a.active {
  color: #d31f22;
}

header .lang {
  margin: 0;
  text-transform: uppercase;
  position: relative;
  padding-left: 12px;
  border-left: 1px solid #E5E5E5;
  display: inline-block;
}

header .lang a {
  font-weight: 500;
  font-size: 14px;
  color: #666;
  height: 20px;
  line-height: 20px;
  display: inline-block;
}

header .lang .drop {
  position: absolute;
  background: #d31f22;
  width: 40px;
  height: auto;
  top: 30px;
  left: -15px;
  padding: 15px 10px;
  box-shadow: 0px 0px 5px -3px;
  -webkit-box-shadow: 0px 0px 5px -3px;
  -moz-box-shadow: 0px 0px 5px -3px;
  -ms-box-shadow: 0px 0px 5px -3px;
  -o-box-shadow: 0px 0px 5px -3px;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
}

header .lang .drop a {
  display: block;
  border-bottom: 1px solid #CCC;
  padding: 0 0 10px 0;
  margin-bottom: 10px;
  font-weight: bold;
  color: #FFF;
}

header .lang .drop a:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}

header .lang .drop a:hover {
  color: #ffad00;
}

header .lang .drop:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  border-bottom: 10px solid #d31f22;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  right: -2px;
  margin: auto;
  top: -10px;
  left: 0;
  right: 0;
}

header .lang:hover .drop {
  visibility: visible;
  opacity: 1;
}

header .search {
  margin: 0;
}

header .search a.toggle-search {
  position: relative;
  width: 20px;
  height: 20px;
  display: block;
  text-indent: -99999px;
  background: url(../images/material/search-ico.png) no-repeat;
}

header .right {
  margin: 0;
}

header .right a.phone {
  margin: 0 12px 0 0;
  padding: 0 0 0 26px;
  height: 26px;
  line-height: 26px;
  background: url(../images/material/phone-ico.png) no-repeat left center;
  font-size: 14px;
  color: #666;
  background-size: 20px;
  font-weight: 700;
}

header .right a.online-payment {
  margin: 0 12px 0 0;
  padding: 0 0 0 26px;
  height: 26px;
  line-height: 26px;
  background: url(../images/material/payment-ico.png) no-repeat left center;
  font-size: 14px;
  color: #666;
  background-size: 20px;
}

header .right a.btn {
  width: auto;
  max-width: 124px;
  height: 32px;
  line-height: 32px;
  padding: 0 10px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  color: #FFF;
  position: relative;
  background: url(../images/material/bg-btn.jpg) repeat-x;
  display: inline-block;
  text-transform: uppercase;
  margin: 0 0 0 30px;
  font-weight: 700;
}

header .right a.btn:after {
  background: url(../images/material/acc-ico.png) no-repeat;
  width: 28px;
  height: 28px;
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: none;
}

header .right .account-nav {
  float: left;
  height: 85px;
  text-transform: uppercase;
  padding: 0 10px 0 30px;
  position: relative;
  cursor: pointer;
  border-left: 0px solid #e1e1e1;
}

header .right .account-nav::before {
  position: absolute;
  width: 1px;
  height: 28px;
  top: 0;
  left: 0;
  content: "";
  background: #e1e1e1;
}

header .right .account-nav > a {
  font-size: 14px;
  color: #d31f22;
  padding: 0 25px 0 40px;
  margin: 0;
  display: block;
  height: 28px;
  line-height: 30px;
  background: url(../images/material/accred-ico.png) no-repeat left center;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  width: 105px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

header .right .account-nav > a:after {
  content: "";
  width: 12px;
  height: 7px;
  background: url(../images/material/drop-ico.png) no-repeat;
  left: auto;
}

header .right .account-nav:hover .drop {
  visibility: visible;
  opacity: 1;
}

header .right .account-nav .drop {
  position: absolute;
  width: 259px;
  background: #e1e1e1;
  left: 0;
  top: 100%;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
}

header .right .account-nav .drop a {
  display: block;
  width: auto;
  padding: 22px 30px 18px;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  border-bottom: 1px solid #CCC;
}

header .right .account-nav .drop a:hover {
  color: #d31f22;
}

header .header-right {
  display: flex;
  flex-direction: column;
  margin: 0 40px;
}

header .header-right .header-top {
  height: 32px;
  margin: 16px 0 0 0;
  display: flex;
  justify-content: flex-end;
}

header .header-right .header-top .right {
  float: none;
}

header .header-right .header-top .right .phone-mobile {
  display: none;
}

header .header-right .header-bottom {
  margin: 16px 0 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* middle
----------------------------------------------------------------------------------------------*/
.btn-border {
  height: 50px;
  padding: 0 45px;
  border: 2px solid #FFF;
  font-size: 16px;
  line-height: 50px;
  color: #FFF;
  display: inline-block;
  text-transform: uppercase;
  text-align: center;
  transition: 0.2s ease-out all;
  -webkit-transition: 0.2s ease-out all;
  -moz-transition: 0.2s ease-out all;
  -ms-transition: 0.2s ease-out all;
  -o-transition: 0.2s ease-out all;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.btn-border:hover {
  background: #FFF;
  color: #d31f22;
}

.btn-border.less-box {
  border: none;
  color: #ff7200;
  padding: 0 30px;
}

.btn-border.less-box:hover {
  color: #333;
}

.btn-plus {
  width: 50px;
  height: 50px;
  background: #ff7200 url(../images/material/plus-ico.png) no-repeat center;
  display: inline-block;
  position: relative;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.btn-plus span {
  width: 130px;
  position: absolute;
  left: 120%;
  background: #ff7200;
  height: 50px;
  line-height: 50px;
  color: #FFF;
  font-size: 14px;
  text-transform: uppercase;
  margin-left: 1px;
  text-align: center;
  transition: 0.2s ease-out all;
  -webkit-transition: 0.2s ease-out all;
  -moz-transition: 0.2s ease-out all;
  -ms-transition: 0.2s ease-out all;
  -o-transition: 0.2s ease-out all;
}

.btn-block {
  display: inline-block;
  font-size: 16px;
  text-transform: uppercase;
  color: #FFF;
  padding: 0 40px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  line-height: 52px;
  text-align: center;
  background: #ff7200;
  border: none;
  transition: 0.2s ease-out all;
  -webkit-transition: 0.2s ease-out all;
  -moz-transition: 0.2s ease-out all;
  -ms-transition: 0.2s ease-out all;
  -o-transition: 0.2s ease-out all;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.btn-block:hover {
  background: #d31f22;
  color: #FFF;
}

.btn-block.download-btn {
  padding: 0 30px 0 80px;
  margin: 20px 0 0 0;
}

.btn-block.download-btn:before {
  height: 50px;
  width: 55px;
  content: "";
  border-right: 1px solid #FFF;
  background: url(../images/material/down-ico.png) no-repeat center;
  position: absolute;
  left: 0;
  top: 0;
}

.banner-home {
  z-index: 0;
  background-size: cover;
  padding: 0 0 60px 130px;
  background: url(../images/material/bg-slider.jpg) no-repeat bottom left;
  position: relative;
  margin: 78px 0 0 0;
}

.banner-home img {
  display: block;
  position: relative;
  z-index: 0;
  width: 100%;
}

.banner-home .slide {
  position: relative;
}

.banner-home .slide:after {
  display: block;
  content: '';
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.banner-home .wrap-caption {
  width: 1360px;
}

.banner-home .caption {
  position: absolute;
  z-index: 3;
  width: 465px;
  height: 340px;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.banner-home .caption h1, .banner-home .caption h2, .banner-home .caption .content-std h3, .content-std .banner-home .caption h3 {
  font-size: 56px;
  font-weight: 700;
  color: #FFF;
  line-height: 56px;
  margin: 0 0 20px 0;
  text-transform: uppercase;
}

.banner-home .caption p {
  font-size: 16px;
  line-height: 26px;
  color: #FFF;
  margin: 0 0 45px 0;
}

.banner-home .caption a {
  width: 200px;
  height: 50px;
  line-height: 50px;
  padding: 0 22px 0 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  color: #FFF;
  position: relative;
  background: url(../images/material/bg-btn.jpg) repeat-x;
  display: inline-block;
  float: left;
  text-transform: uppercase;
  margin: -15px 0 0 0;
  box-shadow: 0px 0px 30px -10px #000;
  -webkit-box-shadow: 0px 0px 30px -10px #000;
  -moz-box-shadow: 0px 0px 30px -10px #000;
  -ms-box-shadow: 0px 0px 30px -10px #000;
  -o-box-shadow: 0px 0px 30px -10px #000;
}

.banner-home .caption > * {
  position: relative;
}

.banner-home .slick-dots {
  position: absolute;
  left: -75px;
  top: 50%;
  transform: translateY(-50%);
}

.banner-home .slick-dots button {
  border: none;
  background: none;
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  padding: 0 2px;
  position: relative;
  margin: 0 0 50px 0;
  padding: 0 0 5px 0;
  cursor: pointer;
}

.banner-home .slick-dots button:before {
  content: '0';
}

.banner-home .slick-dots button:after {
  content: "";
  position: absolute;
  width: 0%;
  background: #d31f22;
  height: 3px;
  left: 0;
  bottom: 0;
  transition: 0.2s ease-out all;
  -webkit-transition: 0.2s ease-out all;
  -moz-transition: 0.2s ease-out all;
  -ms-transition: 0.2s ease-out all;
  -o-transition: 0.2s ease-out all;
}

.banner-home .slick-dots .slick-active button:after {
  width: 100%;
}

.banner-home a.scroll-down {
  font-size: 13px;
  color: #959595;
  padding: 0 55px 0 0;
  height: 13px;
  position: absolute;
  bottom: 50px;
  left: 55px;
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  -o-transform-origin: 0 0;
  transform-origin: 0 0;
}

.banner-home a.scroll-down:after {
  content: "";
  position: absolute;
  width: 40px;
  background: #d31f22;
  height: 2px;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}

.banner-home.banner-std {
  background: none;
  padding-bottom: 0;
  position: relative;
  margin-top: 100px;
}

.banner-home.banner-std .caption {
  height: 220px;
  left: 0;
}

.banner-home.banner-std .map-location {
  padding: 0 565px 0 0;
  height: 600px;
}

.banner-home.banner-std .map-location > div {
  height: 600px;
}

.banner-home.banner-std .location-right {
  background: #4f0101;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 55px 55px 0;
  color: #FFF;
  width: 565px;
}

.banner-home.banner-std .location-right h4 {
  font-size: 31px;
  margin: 0 0 50px 0;
}

.banner-home.banner-std .location-right p {
  margin: 0;
  font-size: 16px;
  line-height: 23px;
  padding-right: 20px;
}

.banner-home.banner-std .location-right p b {
  display: block;
  margin-bottom: 5px;
}

.banner-home.banner-std .location-right .box {
  border-bottom: 1px solid #611b1b;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.banner-home.banner-std .location-right .list-loc {
  height: 405px;
  overflow: auto;
}

.banner-home.banner-std .location-right .list-loc .mCSB_inside > .mCSB_container {
  margin-right: 20px;
}

.banner-home.banner-std .location-right .list-loc .mCSB_scrollTools {
  right: -3px;
}

.banner-home.banner-std .location-right .list-loc .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .banner-home.banner-std .location-right .list-loc .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .banner-home.banner-std .location-right .list-loc .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: #611b1b;
}

.banner-home.banner-std .scroll-down {
  bottom: -10px;
}

.banner-home.banner-std:after {
  content: '';
  position: absolute;
  left: 130px;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: block;
}

.home-sec {
  z-index: 0;
}

.home-sec h2, .home-sec .content-std h3, .content-std .home-sec h3 {
  font-size: 30px;
  font-weight: 700;
  color: #111;
  line-height: 40px;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}

.home-sec p {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  margin-bottom: 25px;
}

.home-sec .wrapper {
  width: 1360px;
}

.home-sec.h-about {
  max-width: 1600px;
  margin: auto;
  padding: 150px 0 140px;
  background: url(../images/content/habout.jpg) no-repeat left bottom;
}

.home-sec.h-about .left {
  width: 350px;
  text-align: right;
}

.home-sec.h-about .left h2, .home-sec.h-about .left .content-std h3, .content-std .home-sec.h-about .left h3 {
  font-size: 40px;
  line-height: 50px;
  color: #111;
  text-transform: uppercase;
  font-weight: 700;
}

.home-sec.h-about .right {
  width: 730px;
  padding-right: 30px;
}

.home-sec.h-about .list-col {
  margin: 50px 0 0 0;
}

.home-sec.h-about .list-col .col {
  width: 285px;
  float: left;
  margin: 0 160px 40px 0;
}

.home-sec.h-about .list-col .col:nth-child(2n) {
  margin-right: 0;
}

.home-sec.h-about .list-col .col:nth-child(2n+1) {
  clear: both;
}

.home-sec.h-about .list-col .col h5 {
  font-size: 19px;
  font-weight: 700;
  color: #d31f22;
  margin: 0 0 10px 0;
}

.home-sec.h-about .list-col .col p {
  margin-bottom: 0;
}

.home-sec.h-prod {
  padding: 90px 0;
  color: #FFF;
}

.home-sec.h-prod:before {
  position: absolute;
  left: 120px;
  top: 0;
  bottom: 0;
  right: 0;
  background: #4f0000 url(../images/content/bg-prod.jpg);
  content: "";
}

.home-sec.h-prod .wrapper {
  position: relative;
  width: 1480px;
}

.home-sec.h-prod h2, .home-sec.h-prod .content-std h3, .content-std .home-sec.h-prod h3 {
  color: #FFF;
}

.home-sec.h-prod .slider {
  float: left;
  width: 1020px;
}

.home-sec.h-prod .slider .box {
  position: relative;
  padding-bottom: 13px;
  cursor: pointer;
}

.home-sec.h-prod .slider .box > * {
  position: relative;
}

.home-sec.h-prod .slider .box:after {
  display: block;
  content: '';
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 13px;
  left: 0;
  right: 0;
  z-index: 1;
}

.home-sec.h-prod .slider .box > img {
  width: 100%;
}

.home-sec.h-prod .slider h5 {
  font-size: 29px;
  font-weight: 300;
  margin: 0 0 7px 0;
}

.home-sec.h-prod .slider h6 {
  font-size: 16px;
  font-weight: 400;
}

.home-sec.h-prod .slider h6 b {
  font-size: 19px;
  font-weight: 500;
  text-transform: uppercase;
  padding-left: 5px;
}

.home-sec.h-prod .slider p {
  margin: 0 0 30px;
  font-weight: 400;
  overflow: hidden;
  height: 0;
  transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -webkit-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -moz-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -ms-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -o-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
}

.home-sec.h-prod .slider .text {
  width: 255px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0px;
  z-index: 2;
}

.home-sec.h-prod .slider .box:hover p {
  height: 52px;
  margin-top: 20px;
}

.home-sec.h-prod .slider .box:hover a span {
  left: 100%;
  opacity: 1;
}

.home-sec.h-prod .right {
  width: 360px;
  padding: 100px 0 0 0;
}

.home-sec.h-prod .slick-arrow {
  width: 18px;
  height: 32px;
  background: url(../images/material/arrow-box.png) no-repeat;
  opacity: 0.5;
  position: absolute;
  cursor: pointer;
  padding: 0;
  border: none;
  text-indent: -9999px;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin: auto;
}

.home-sec.h-prod .slick-arrow.slick-next {
  right: -45px;
  background-position: right;
}

.home-sec.h-prod .slick-arrow.slick-prev {
  left: -45px;
}

.home-sec.h-prod .slick-arrow:hover {
  opacity: 1;
}

.home-sec.h-updates {
  padding: 90px 0;
}

.home-sec.h-updates .list {
  margin: 30px 0 0 0;
}

.home-sec.h-updates .list .box {
  float: left;
  width: 270px;
  margin: 0 90px 0 0;
}

.home-sec.h-updates .list .box h6 {
  font-size: 19px;
  line-height: 24px;
  color: #333;
  margin: 0 0 50px 0;
  height: 72px;
  overflow: hidden;
}

.home-sec.h-updates .list .box:nth-child(4n) {
  margin-right: 0;
}

.home-sec.h-updates .list .box small {
  font-size: 16px;
  color: #666;
  display: block;
  line-height: 24px;
  margin: 0 0 20px 0;
  height: 48px;
  overflow: hidden;
  position: relative;
}

.home-sec.h-updates .list .box p {
  font-size: 14px;
  color: #999;
  border-top: 1px solid #CCC;
  padding-top: 20px;
  margin-top: 0;
}

.home-sec.h-updates .list .box p b {
  color: #ff7200;
}

.home-sec.h-updates .list .box:hover h6 {
  color: #d31f22;
}

.home-sec.h-testi {
  padding-bottom: 80px;
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 80px;
}

.home-sec.h-testi .slider {
  margin-top: 30px;
}

.home-sec.h-testi .box {
  margin: 0 13px;
  background: #f1f1f1;
}

.home-sec.h-testi .box .img {
  float: left;
  width: 240px;
}

.home-sec.h-testi .box .text {
  float: left;
  width: 315px;
  margin: 35px 0 0 48px;
}

.home-sec.h-testi .box .text h5 {
  font-size: 19px;
  font-weight: 700;
  color: #111;
  margin: 0 0 5px 0;
}

.home-sec.h-testi .box .text h6 {
  font-size: 16px;
  color: #d31f22;
  margin-bottom: 10px;
}

.home-sec.h-testi .box .text p {
  color: #111;
}

.home-sec.h-testi .slick-dots {
  position: absolute;
  top: -30px;
  right: 30px;
}

.home-sec.h-testi .slick-dots li {
  float: left;
}

.home-sec.h-testi .slick-dots button {
  background: none;
  border: 2px solid #CCC;
  width: 10px;
  height: 10px;
  float: left;
  display: block;
  text-indent: -99999px;
  padding: 0;
  margin: 0 0 0 10px;
  transition: 0.3s linear all;
  -webkit-transition: 0.3s linear all;
  -moz-transition: 0.3s linear all;
  -ms-transition: 0.3s linear all;
  -o-transition: 0.3s linear all;
  cursor: pointer;
}

.home-sec.h-testi .slick-dots button:hover {
  border-color: #d31f22;
}

.home-sec.h-testi .slick-dots .slick-active button {
  background: #d31f22;
  border-color: #d31f22;
}

.home-sec.h-contact {
  padding-bottom: 110px;
}

.home-sec.h-contact .left {
  width: 600px;
}

.home-sec.h-contact .left .box {
  height: auto;
  background: #4f0101;
  color: #FFF;
  padding: 30px 40px;
}

.home-sec.h-contact .left .box h6 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 5px 0;
}

.home-sec.h-contact .left .box p {
  margin: 0;
}

.home-sec.h-contact .left #home-map {
  height: 500px;
}

.home-sec.h-contact .right {
  width: 705px;
}

.home-sec.h-contact .right p {
  margin-bottom: 40px;
}

.content-std {
  padding: 115px 0;
  position: relative;
  z-index: 0;
}

.content-std.no-space-bottom {
  padding-bottom: 0;
}

.content-std h2, .content-std h3 {
  font-size: 40px;
  line-height: 50px;
  margin-bottom: 10px;
  color: #111;
  text-transform: uppercase;
  font-weight: 700;
}

.content-std h3 {
  font-size: 31px;
}

.content-std p.sub {
  font-size: 20px;
  line-height: 30px;
  margin-bottom: 30px;
}

.content-std ul, .content-std ol,
.content-std p {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  margin-bottom: 25px;
}

.content-std .wrapper {
  width: 1360px;
}

.content-std ul li {
  padding: 0 0 0 20px;
  position: relative;
}

.content-std ul li:after {
  width: 8px;
  height: 8px;
  background: #d31f22;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
}

.content-std ol {
  list-style: decimal;
  margin: 0 0 0 20px;
}

.content-std .date-list {
  display: inline-block;
  margin-bottom: 20px;
  color: #cc0001;
  font-size: 15px;
  line-height: 22px;
  position: relative;
}

.content-std .date-list:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  height: 2px;
  width: 45px;
  background: #e60012;
  margin-top: -3px;
  margin-left: 10px;
}

.content-std .title-related {
  margin-bottom: 50px;
  text-align: center;
}

.content-std.faq {
  padding-top: 180px;
}

.content-std.about {
  padding: 170px 0;
}

.content-std.about h2, .content-std.about h3 {
  margin-bottom: 40px;
}

.content-std.about .inner-about {
  width: 665px;
}

.content-std.about .side-image {
  position: absolute;
  height: 100%;
  background: url(../images/material/side-about.jpg) no-repeat;
  width: 378px;
  top: 0;
  right: 0;
  background-size: auto 100%;
}

.content-std.about .side-image .img {
  position: absolute;
  width: 530px;
  height: 720px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -265px;
}

.content-std.about .list-col {
  margin: 50px 0 0 0;
}

.content-std.about .list-col .col {
  width: 285px;
  float: left;
  margin: 0 95px 40px 0;
}

.content-std.about .list-col .col:nth-child(2n) {
  margin-right: 0;
}

.content-std.about .list-col .col:nth-child(2n+1) {
  clear: both;
}

.content-std.about .list-col .col h5 {
  font-size: 19px;
  font-weight: 700;
  color: #d31f22;
  margin: 0 0 10px 0;
}

.content-std.about .list-col .col p {
  margin-bottom: 0;
}

.content-std .list-prod {
  margin: 100px 0 0 0;
}

.content-std .list-prod .box {
  width: 395px;
  float: left;
  margin: 0 65px 50px 0;
  cursor: pointer;
}

.content-std .list-prod .box .text {
  border: 1px solid #CCC;
  border-top: none;
  padding: 40px 30px 30px;
}

.content-std .list-prod .box h2, .content-std .list-prod .box h3 {
  text-transform: none;
  font-size: 31px;
  line-height: 35px;
  font-weight: 300;
  max-height: 105px;
  overflow: hidden;
  margin-bottom: 20px;
}

.content-std .list-prod .box h5 {
  font-size: 31px;
  line-height: 35px;
  font-weight: 300;
  color: #111;
  margin: 0 0 10px 0;
  max-height: 105px;
  overflow: hidden;
}

.content-std .list-prod .box h6 {
  font-size: 25px;
  font-weight: bold;
  color: #000;
  margin: 0 0 20px 0;
  text-transform: uppercase;
}

.content-std .list-prod .box h6 span {
  font-size: 16px;
  font-weight: 300;
  text-transform: capitalize;
}

.content-std .list-prod .box h4 {
  font-size: 20px;
  font-weight: 300;
  line-height: 26px;
  margin-bottom: 20px;
}

.content-std .list-prod .box p {
  margin-bottom: 20px;
  height: 104px;
  overflow: hidden;
  color: #6f6e68;
  max-height: 78px;
  overflow: hidden;
}

.content-std .list-prod .box:nth-child(3n) {
  margin-right: 0;
}

.content-std .list-prod .box .text .btn-plus span {
  left: 100%;
  opacity: 1;
  margin-left: 0;
}

.content-std .list-prod .box .text .btn-plus {
  width: 0;
}

.content-std .list-prod .box:hover .text .btn-plus span {
  background: #d31f22;
  color: #fff;
}

.content-std .list-prod .box .img img {
  display: block;
  width: 100%;
}

.content-std .list-prod.nomargtop {
  margin-top: 0;
}

.content-std .list-prod.news .box {
  margin-bottom: 60px;
}

.content-std .list-prod.news .box h4 {
  height: 52px;
  overflow: hidden;
}

.content-std .list-prod.news .box .btn-plus {
  margin-bottom: -50px;
}

.content-std.content-detail .wrapper {
  width: 920px;
}

.content-std.content-detail hr {
  border: none;
  border-bottom: 1px solid #ccc;
  background: none;
  margin: 70px -95px;
}

.content-std.content-detail ol, .content-std.content-detail li,
.content-std.content-detail p {
  font-size: 20px;
  line-height: 30px;
}

.content-std.content-detail .title {
  margin: 0 0 50px 0;
}

.content-std.content-detail .title small {
  font-size: 13px;
}

.content-std.content-detail .title small.tgl {
  text-align: center;
  display: block;
}

.content-std.content-detail .title small i {
  display: inline-block;
  margin: 0 15px;
  font-style: normal;
}

.content-std.content-detail .title h2, .content-std.content-detail .title h3 {
  margin-top: 15px;
}

.content-std.content-detail .title h4 {
  font-size: 26px;
  text-transform: uppercase;
  font-weight: 700;
}

.content-std.content-detail .title.little {
  margin: 20px 0 30px;
}

.content-std.content-detail .image-slider, .content-std.content-detail .image-content {
  margin: 0 -95px 65px;
}

.content-std.content-detail .image-slider .slick-dots, .content-std.content-detail .image-content .slick-dots {
  position: absolute;
  bottom: 20px;
  text-align: center;
  left: 0;
  right: 0;
  margin: 0;
}

.content-std.content-detail .image-slider .slick-dots li, .content-std.content-detail .image-content .slick-dots li {
  display: inline-block;
  margin: 0 5px;
  padding: 0;
}

.content-std.content-detail .image-slider .slick-dots li:after, .content-std.content-detail .image-content .slick-dots li:after {
  display: none;
}

.content-std.content-detail .image-slider .slick-dots button, .content-std.content-detail .image-content .slick-dots button {
  border: none;
  background: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #c8c8c8;
  width: 10px;
  height: 10px;
  padding: 0;
  text-indent: -9999px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  cursor: pointer;
}

.content-std.content-detail .image-slider .slick-dots button:hover, .content-std.content-detail .image-content .slick-dots button:hover {
  border-color: #d31f22;
}

.content-std.content-detail .image-slider .slick-dots .slick-active button, .content-std.content-detail .image-content .slick-dots .slick-active button {
  border-color: #d31f22;
  background: #d31f22;
}

.content-std.content-detail .box-inquiry {
  margin: 80px -95px 0;
  position: relative;
}

.content-std.content-detail .box-inquiry .text {
  position: absolute;
  width: 380px;
  left: 95px;
  top: 35px;
  color: #FFF;
}

.content-std.content-detail .box-inquiry .text small {
  font-size: 13px;
}

.content-std.content-detail .box-inquiry .text p {
  margin: 30px 0 0;
}

.content-std.content-detail .box-inquiry .text h2, .content-std.content-detail .box-inquiry .text h3 {
  color: #FFF;
  margin: 0 0 15px 0;
}

.content-std.content-detail .box-inquiry .text h2 span, .content-std.content-detail .box-inquiry .text h3 span {
  font-size: 13px;
  font-weight: 400;
}

.content-std.content-detail .box-inquiry .text a.btn-border,
.content-std.content-detail .box-inquiry .text a.btn-block {
  width: 175px;
  padding: 0;
  float: left;
  text-align: center;
  margin-right: 20px;
}

.content-std.content-detail .box-inquiry .text a.btn-block {
  margin-right: 0;
}

.content-std.content-detail .nav-sub {
  text-align: center;
  font-size: 20px;
  margin: 0 0 95px 0;
}

.content-std.content-detail .nav-sub a {
  color: #333;
  display: inline-block;
}

.content-std.content-detail .nav-sub a:hover {
  color: #d31f22;
}

.content-std.content-detail .nav-sub a.active {
  color: #d31f22;
  font-weight: bold;
}

.content-std.content-detail .nav-sub span {
  display: inline-block;
  width: 1px;
  height: 25px;
  background: #888;
  position: relative;
  margin: 0 25px;
  bottom: -6px;
}

.content-std.content-detail #map-location-det {
  height: 500px;
}

.content-std.content-detail .list-gallery {
  margin: 0 -95px;
}

.content-std.content-detail .list-gallery .box {
  position: relative;
  float: left;
  width: 350px;
  height: 300px;
  margin: 0 30px 30px 0;
  cursor: pointer;
  overflow: hidden;
}

.content-std.content-detail .list-gallery .box > img {
  width: 100%;
  transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -webkit-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -moz-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -ms-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -o-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content-std.content-detail .list-gallery .box:nth-child(3n) {
  margin-right: 0;
}

.content-std.content-detail .list-gallery .box:after {
  content: "";
  background: url(../images/material/gallery-gradient.png) repeat-x bottom center;
  z-index: 0;
}

.content-std.content-detail .list-gallery .box h5 {
  font-size: 23px;
  bottom: 25px;
  left: 25px;
  font-weight: bold;
  position: absolute;
  color: #FFF;
  z-index: 1;
}

.content-std.content-detail .list-gallery .box:hover img {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

.content-std.nopaddtop {
  padding-top: 0;
}

.content-std.nopaddbot {
  padding-bottom: 0;
}

.content-std .list-location {
  margin-bottom: 50px;
}

.content-std .list-location .box {
  margin: 0 0 30px 0;
  border: 1px solid #CCC;
}

.content-std .list-location .box .img {
  float: left;
  margin: -1px;
  overflow: hidden;
  width: 760px;
}

.content-std .list-location .box .img img {
  display: block;
}

.content-std .list-location .box .text {
  float: left;
  padding: 50px 60px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 600px;
}

.content-std .list-location .box .text h4 {
  font-size: 31px;
  margin: 0 0 15px;
}

.content-std .list-location .box .text small {
  font-size: 16px;
  display: block;
  margin-bottom: 15px;
}

.content-std .list-location .box .text p {
  margin-bottom: 20px;
}

.content-std .box-contact {
  border: 1px solid #CCC;
  margin-top: 80px;
}

.content-std .box-contact .left {
  min-height: 786px;
  width: 505px;
  background: url(../images/content/bg-contact.jpg) no-repeat;
  background-size: cover;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 50px;
  color: #FFF;
}

.content-std .box-contact .left h4 {
  font-size: 31px;
  margin: 0 0 15px 0;
}

.content-std .box-contact .left small {
  display: block;
  margin: 0 0 10px 0;
  font-size: 16px;
}

.content-std .box-contact .left small:after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: #d31f22;
  margin: 20px 0;
}

.content-std .box-contact .left p {
  font-size: 20px;
  line-height: 30px;
}

.content-std .box-contact .left p span {
  display: block;
  margin-bottom: 10px;
}

.content-std .box-contact .left p a {
  color: #FFF;
}

.content-std .box-contact .left p b {
  padding-right: 5px;
}

.content-std .box-contact .right {
  width: 695px;
  float: left;
  padding: 65px 0 0 95px;
}

.content-std .box-contact .right h3 {
  font-size: 30px;
  font-weight: 700;
  color: #111;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.content-std .price-type .box {
  width: 320px;
  float: left;
  border: 1px solid #CCC;
  margin: 0 23px 45px 0;
}

.content-std .price-type .box h5 {
  font-size: 20px;
  font-weight: 600;
  margin: 10px 0 0;
  text-transform: none;
  line-height: 25px;
  padding: 0 6px;
  white-space: normal;
}

.content-std .price-type .box small {
  font-size: 16px;
  display: block;
}

.content-std .price-type .box .head {
  height: 135px;
  background: #719479;
  color: #FFF;
  padding: 40px 35px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: -1px -1px 35px;
}

.content-std .price-type .box .head h4 {
  font-size: 31px;
  margin: 0 0 5px 0;
  font-weight: 300;
}

.content-std .price-type .box .head small {
  text-transform: uppercase;
}

.content-std .price-type .box .price-box {
  text-align: center;
  margin: 0 0 35px 0;
}

.content-std .price-type .box .foot {
  background: #f0f0f0;
  padding: 25px 0;
  text-align: center;
}

.content-std .price-type .box:nth-child(4n) {
  margin-right: 0;
}

.content-std .price-type .box.type-2 .head {
  background: url(../images/material/gradient-1.jpg) no-repeat;
  background-size: cover;
}

.content-std .price-type .box.type-3 .head {
  background: url(../images/material/gradient-2.jpg) no-repeat;
  background-size: cover;
}

.content-std .price-type .box.type-4 .head {
  background: url(../images/material/gradient-3.jpg) no-repeat;
  background-size: cover;
}

.content-std .std-table {
  width: 100%;
  margin: 0 0 85px 0;
}

.content-std .std-table th, .content-std .std-table td {
  padding: 15px 20px;
  border: 1px solid #CCC;
}

.content-std .std-table th:first-child, .content-std .std-table td:first-child {
  padding-left: 30px;
}

.content-std .std-table span.bullet {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #d31f22;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
}

.content-std .std-table thead th {
  vertical-align: middle;
  text-align: center;
  background: #333;
  font-size: 16px;
  color: #FFF;
  font-weight: bold;
}

.content-std .std-table thead th span {
  font-size: 13px;
  line-height: 20px;
  color: #ccc;
  display: block;
  font-weight: 400;
  margin: 5px 0 0 0;
}

.content-std .std-table tbody td {
  font-size: 16px;
  text-align: center;
}

.content-std .std-table tbody td:first-child {
  text-align: center;
}

.content-std .std-table tbody tr:nth-child(even) td {
  background: #eaeaea;
}

.content-std .std-table.facility thead th {
  font-weight: 400;
  text-align: center;
}

.content-std .std-table.facility thead th:first-child {
  width: 130px;
  text-align: left;
}

.content-std .std-table.facility tbody td h5 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
}

.content-std .std-table.facility tbody td span {
  font-size: 14px;
}

.content-std .wrap_tbl {
  overflow: auto;
}

.content-std .wrap_tbl .std-table.facility {
  width: 1200px;
}

.content-std .support-facility {
  margin-bottom: 30px;
}

.content-std .support-facility .left {
  width: 760px;
}

.content-std .support-facility .right {
  width: 555px;
  border: 1px solid #CCC;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 45px;
}

.content-std .support-facility .right p.nt span {
  display: block;
}

.content-std .head-log {
  display: block;
  position: relative;
}

.content-std .head-log ul {
  display: block;
}

.content-std .head-log ul a {
  font-size: 16px;
  line-height: 50px;
  color: #b8b8b8;
  font-weight: bold;
  transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -webkit-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -moz-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -ms-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -o-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
}

.content-std .head-log ul a li {
  width: 50%;
  margin: 0;
  padding: 0;
  float: left;
  text-align: center;
  border-bottom: 1px solid #b8b8b8;
  transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -webkit-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -moz-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -ms-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -o-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
}

.content-std .head-log ul a.active, .content-std .head-log ul a:hover {
  color: #870000;
  transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -webkit-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -moz-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -ms-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
  -o-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.1s all;
}

.content-std .head-log ul a.active li, .content-std .head-log ul a:hover li {
  border-bottom: 2px solid #870000;
  transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -webkit-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -moz-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -ms-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
  -o-transition: cubic-bezier(0.065, 0.84, 0.26, 0.99) 0.4s all;
}

.content-std .accordion {
  border: 1px solid #CCC;
  margin: -1px 0 0px 0;
}

.content-std .accordion .h-acc {
  border-bottom: 1px solid #CCC;
  padding: 25px 80px 25px 60px;
  cursor: pointer;
  position: relative;
  margin: -1px;
  transition: 0.15s linear all;
  -webkit-transition: 0.15s linear all;
  -moz-transition: 0.15s linear all;
  -ms-transition: 0.15s linear all;
  -o-transition: 0.15s linear all;
}

.content-std .accordion .h-acc h5 {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 8px 0;
}

.content-std .accordion .h-acc small {
  font-size: 16px;
}

.content-std .accordion .h-acc:before {
  content: "";
  width: 50px;
  height: 50px;
  background: #ff7200;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
}

.content-std .accordion .h-acc:after {
  content: "";
  width: 10px;
  height: 10px;
  background: url(../images/material/acc-arr.png) no-repeat top;
  position: absolute;
  top: 0px;
  right: 40px;
  bottom: 0;
  margin: auto;
  transition: 0.15s linear all;
  -webkit-transition: 0.15s linear all;
  -moz-transition: 0.15s linear all;
  -ms-transition: 0.15s linear all;
  -o-transition: 0.15s linear all;
}

.content-std .accordion .c-acc {
  padding: 40px 65px;
  display: none;
}

.content-std .accordion .c-acc h6 {
  font-size: 20px;
  color: #d31f22;
  font-weight: bold;
  margin: 0 0 15px;
}

.content-std .accordion .c-acc a.btn-block.red-btn {
  background: #d31f22;
}

.content-std .accordion .c-acc a.btn-block.red-btn:hover {
  background: #ff7200;
}

.content-std .accordion ul li, .content-std .accordion ol li, .content-std .accordion p {
  font-size: 16px;
  line-height: 26px;
}

.content-std .accordion.expand .h-acc {
  background: #ff7200;
  color: #FFF;
}

.content-std .accordion.expand .h-acc:after {
  background-position: bottom center;
}

.content-std .wrap-acc {
  margin-top: 80px;
}

.content-std .service-room-list {
  margin: 65px -95px;
}

.content-std .service-room-list .box {
  padding: 50px 0;
  border-top: 1px solid #CCC;
}

.content-std .service-room-list .box small {
  font-size: 13px;
  display: block;
  margin: 0 0 10px 0;
}

.content-std .service-room-list .box h2, .content-std .service-room-list .box h3 {
  margin-bottom: 30px;
}

.content-std .service-room-list .box .img {
  float: left;
  width: 340px;
  position: relative;
}

.content-std .service-room-list .box .img .price-text {
  position: absolute;
  bottom: 30px;
  left: 20px;
  color: #FFF;
  z-index: 2;
}

.content-std .service-room-list .box .img small {
  margin-bottom: 0;
  font-size: 20px;
}

.content-std .service-room-list .box .img h5 {
  font-size: 33px;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.content-std .service-room-list .box .img:after {
  z-index: 1;
  content: '';
  display: block;
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.content-std .service-room-list .box .img > img {
  display: block;
}

.content-std .service-room-list .box .text {
  float: left;
  width: 445px;
  margin-left: 38px;
}

.content-std .service-room-list .box .wrap-btn {
  width: 190px;
}

.content-std .service-room-list .box .wrap-btn .btn-border, .content-std .service-room-list .box .wrap-btn .btn-block {
  width: 190px;
  text-align: center;
  margin-bottom: 10px;
}

.content-std .service-room-list .box .wrap-btn .btn-border {
  border-color: #ff7200;
  color: #ff7200;
}

.content-std .service-room-list .box .wrap-btn .btn-border:hover {
  background: #d31f22;
  color: #FFF;
  border-color: #d31f22;
}

.content-std .service-room-list .box .wrap-btn .btn-border.no-hover {
  border-color: #ff7200;
  color: #ff7200;
  background: #fff;
}

.content-std .service-room-list .box .wrap-btn .btn-block.red-btn {
  background: #d31f22;
}

.content-std .service-room-list .box .wrap-btn .btn-block.no-hover:hover {
  background: #ff7200;
}

.content-std.buy-step .wrapper {
  width: 1110px;
}

.content-std.buy-step .title {
  max-width: 790px;
}

.content-std.buy-step .col-option {
  margin: 0 0 50px 0;
  font-size: 20px;
}

.content-std.buy-step .col-option label {
  display: block;
  margin: 0 0 22px 0;
}

.content-std.buy-step .col-option .col:before, .content-std.buy-step .col-option .col:after {
  content: " ";
  display: table;
}

.content-std.buy-step .col-option .col:after {
  display: block;
  clear: both;
  height: 0px;
  margin-top: -1px;
  visibility: hidden;
}

.content-std.buy-step .col-option .col {
  *zoom: 1;
}

.content-std.buy-step .col-option .col .input-radio {
  float: left;
  line-height: 20px;
  font-size: 20px;
  vertical-align: middle;
  position: relative;
}

.content-std.buy-step .col-option .col .input-radio input[type="radio"] {
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  height: 16px;
  background: url("../images/material/ico-radio.png") no-repeat 0 0;
  padding: 0;
  margin-right: 10px;
  cursor: pointer;
}

.content-std.buy-step .col-option .col .input-radio input[type="radio"]:checked {
  background-position: 0 -16px;
}

.content-std.buy-step .col-option .col .input-radio span {
  padding: 0 0 0 25px;
  display: block;
  line-height: 18px;
}

.content-std.buy-step .col-option .col .input-radio.space {
  margin-right: 30px;
}

.content-std.buy-step .wrap-step {
  margin: 0 0 130px;
}

.content-std.buy-step .wrap-step .box {
  width: 277.5px;
  float: left;
  position: relative;
}

.content-std.buy-step .wrap-step .box .ico {
  width: 75px;
  height: 75px;
  background: #e1e1e1;
  margin: auto;
  position: relative;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  position: relative;
  z-index: 1;
}

.content-std.buy-step .wrap-step .box .ico span {
  display: block;
  width: 75px;
  height: 75px;
}

.content-std.buy-step .wrap-step .box h6 {
  font-size: 19px;
  line-height: 24px;
  color: #999;
  text-align: center;
  padding: 0 50px;
  margin: 35px 0 0 0;
}

.content-std.buy-step .wrap-step .box:after {
  width: 100%;
  left: 50%;
  position: absolute;
  height: 7px;
  background: #e1e1e1;
  content: '';
  top: 37px;
}

.content-std.buy-step .wrap-step .box:last-child:after {
  display: none;
}

.content-std.buy-step .wrap-step .box.active .ico {
  transform: scale(1.3);
  -webkit-transform: scale(1.3);
  -moz-transform: scale(1.3);
  -ms-transform: scale(1.3);
  -o-transform: scale(1.3);
}

.content-std.buy-step .wrap-step .box.complete .ico {
  background: url(../images/material/bg-btn.jpg) repeat-x;
  background-size: auto 100%;
}

.content-std.buy-step .wrap-step .box.complete .ico span {
  background-position: bottom center !important;
}

.content-std.buy-step .wrap-step .box.complete:after {
  background: #d31f22;
}

.content-std.buy-step .btn-next {
  margin: 60px 0 0 0;
}

.content-std.buy-step .btn-next .btn-block {
  width: 280px;
  padding: 0;
}

.content-std.buy-step .btn-next .btn-block.grey-btn {
  background: #9f9f9f;
}

.content-std.buy-step .box-form {
  width: 730px;
  margin-top: 120px;
}

.content-std.buy-step .box-form .col {
  width: 342px;
  position: relative;
}

.content-std.buy-step .box-form .row.d-signature {
  margin: 0 0 70px 0;
}

.content-std.buy-step .box-form .row.d-signature label {
  color: #111;
  margin-bottom: 20px;
}

.content-std.buy-step .box-form input[readonly] {
  border: none;
}

.content-std.buy-step .content_order:after {
  content: '';
  display: block;
  clear: both;
}

.content-std.buy-step .left-content {
  width: 790px;
}

.content-std.buy-step .left-content h3 {
  margin: 85px 0 45px 0;
  font-size: 23px;
  padding: 0 0 0 20px;
  position: relative;
  line-height: 45px;
  /*&:nth-child(3n){margin-top: 0;}  */
}

.content-std.buy-step .left-content h3:after {
  content: "";
  width: 6px;
  height: 40px;
  background: #850202;
  position: absolute;
  left: 0;
  top: 0;
}

.content-std.buy-step .left-content h3:first-child {
  margin-top: 0;
}

.content-std.buy-step .left-content .box-form {
  margin: 0;
}

.content-std.buy-step .right-content {
  width: 270px;
}

.content-std.buy-step .right-content:nth-of-type(2) .box {
  padding: 12px 15px;
}

.content-std.buy-step .box-red {
  background: #9b0101;
  color: #FFF;
}

.content-std.buy-step .box-red h5 {
  font-size: 19px;
  color: #FFF;
  padding: 15px 10px 10px;
  border-bottom: 1px solid #aa0507;
  text-align: center;
}

.content-std.buy-step .box-red h6 {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 20px;
}

.content-std.buy-step .box-red .box {
  padding: 30px 15px;
  border-bottom: 1px solid #aa0507;
}

.content-std.buy-step .box-red .box .left {
  width: 45%;
  font-size: 14px;
  line-height: 18px;
}

.content-std.buy-step .box-red .box .left small {
  font-size: 11px;
  display: block;
  margin-top: 3px;
}

.content-std.buy-step .box-red .box .right {
  width: 55%;
  font-size: 16px;
  font-weight: bold;
  text-align: right;
}

.content-std.buy-step .box-red .box .right small {
  font-size: 14px;
  display: block;
  margin: 5px 0 0 0;
}

.content-std.buy-step .box-red .box:last-child {
  border: none;
}

.content-std.buy-step .box-red table {
  font-size: 14px;
  line-height: 22px;
}

.content-std.buy-step .box-red table td:nth-child(2) {
  padding: 0 10px;
}

.content-std.buy-step .box-red .det-info {
  padding: 20px 10px 20px;
}

.content-std.buy-step .box-red .det-info small {
  font-size: 14px;
}

.content-std.buy-step .box-red .det-info h3 {
  font-size: 33px;
  color: #FFF;
  margin: 10px 0 0 0;
  line-height: 26px;
}

.content-std.buy-step .box-red .det-info h3 span {
  font-size: 16px;
  font-weight: 400;
  text-transform: capitalize;
}

.content-std.buy-step .box-red .det-info.qty h2 span, .content-std.buy-step .box-red .det-info.qty h3 span {
  font-weight: bold;
}

.content-std.buy-step .box-red:nth-of-type(2) .box {
  padding: 12px 15px;
}

.content-std.buy-step .box-red.total .box {
  padding: 12px 15px;
}

.content-std.buy-step .box-red.grey-type {
  margin-top: 30px;
  color: #111;
  background: #ebebeb;
}

.content-std.buy-step .box-red.grey-type h5 {
  color: #111;
  border-color: #dcdcdc;
}

.content-std.buy-step .box-red.grey-type .box {
  border-color: #dcdcdc;
  padding: 30px 15px;
}

.content-std.buy-step .box-red.grey-type .row {
  font-size: 14px;
  margin: 0 0 20px 0;
  line-height: 20px;
}

.content-std.buy-step .box-red.grey-type .row span {
  display: block;
  color: #888888;
  margin-bottom: 3px;
}

.content-std.buy-step .pasal {
  margin-bottom: 80px;
}

.content-std.buy-step .pasal p b {
  font-weight: bold;
  color: #111;
  display: block;
  margin: 0 0 3px 0;
}

.content-std.buy-step .pasal ol, .content-std.buy-step .pasal ul {
  margin-left: 30px;
}

.content-std.buy-step .payment-option {
  margin: 0 0 105px 0;
}

.content-std.buy-step .payment-option a {
  width: 350px;
  float: left;
  height: 195px;
  border: 1px solid #CCC;
  position: relative;
  margin-right: 25px;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
}

.content-std.buy-step .payment-option a:last-child {
  margin-right: 0;
}

.content-std.buy-step .payment-option a span.ico {
  width: 90px;
  height: 60px;
  background-position: top center !important;
  top: 48px;
  bottom: auto;
}

.content-std.buy-step .payment-option a span.text {
  position: absolute;
  text-align: center;
  font-size: 19px;
  color: #b2b2b2;
  bottom: 45px;
  width: 100%;
}

.content-std.buy-step .payment-option a:hover {
  border-color: #ff7200;
}

.content-std.buy-step .payment-option a.active {
  border-color: #ff7200;
  background: #ff7200;
}

.content-std.buy-step .payment-option a.active span.ico {
  background-position: bottom center !important;
}

.content-std.buy-step .payment-option a.active span.text {
  color: #FFF;
}

.content-std.buy-step .payment-option a label {
  cursor: pointer;
}

.content-std.buy-step .payment-detail {
  display: none;
}

.content-std.buy-step .payment-detail p {
  font-size: 20px;
  line-height: 30px;
}

.content-std.buy-step .payment-detail .box-inner {
  margin: 60px 0 60px 65px;
}

.content-std.buy-step .payment-detail .box-inner img {
  margin-bottom: 10px;
}

.content-std.buy-step .payment-detail .box-inner table,
.content-std.buy-step .payment-detail .box-inner p {
  font-size: 18px;
  line-height: 25px;
  font-weight: 600;
}

.content-std.buy-step .payment-detail .box-inner table {
  color: #d31f22;
}

.content-std.buy-step .payment-detail .box-inner table td:nth-child(2) {
  padding: 0 20px;
}

.content-std .tbl-std {
  position: relative;
  width: 100%;
}

.content-std .tbl-std h6 {
  font-size: 19px;
  font-weight: bold;
  color: #111;
  margin-bottom: 10px;
}

.content-std .tbl-std p {
  font-size: 16px;
  line-height: 20px;
}

.content-std .tbl-std i {
  display: block;
  padding: 5px 0 0 20px;
}

.content-std .tbl-std a.delete {
  display: inline-block;
  width: 40px;
  height: 30px;
  background: #9f9f9f url(../images/material/delete-ico.png) no-repeat center;
  text-indent: -9999px;
}

.content-std .tbl-std a.delete:hover {
  background-color: #ff7200;
}

.content-std .tbl-std thead tr {
  background: #e1e1e1;
}

.content-std .tbl-std thead tr th {
  font-weight: 600;
  font-size: 16px;
  padding: 15px 20px;
}

.content-std .tbl-std tbody tr {
  position: relative;
}

.content-std .tbl-std tbody tr td {
  border: 1px solid #CCC;
  border-right: 1px solid #efefef;
  position: relative;
  padding: 30px 15px;
  vertical-align: middle;
  font-size: 14px;
}

.content-std .tbl-std tbody tr td:first-child {
  padding: 30px;
  max-width: 285px;
}

.content-std .tbl-std tbody tr td:first-child:after {
  border-left: 8px solid #850202;
  content: "";
}

.content-std .tbl-std tbody tr:first-child td {
  border-top: none;
}

.content-std .tbl-std tbody tr.space td {
  border: none;
  padding: 0;
  height: 20px;
}

.content-std .tbl-std tbody tr.space td:after {
  display: none;
}

.content-std .tbl-std.table-history {
  text-align: center;
}

.content-std .tbl-std.table-history td {
  padding: 20px 12px;
  font-size: 16px;
}

.content-std .tbl-std.table-history td:first-child {
  cursor: pointer;
}

.content-std .tbl-std.table-history a {
  text-decoration: underline;
}

.content-std .tbl-std.table-history .btn-block {
  width: 135px;
  height: 40px;
  line-height: 42px;
  font-size: 14px;
  text-decoration: none;
  padding: 0;
}

.content-std .tbl-std.table-history .btn-block.red-btn {
  background: #d31f22;
}

.content-std .counter-num {
  position: relative;
  width: 60px;
  margin: 0 auto;
}

.content-std .counter-num input {
  height: 30px;
  width: 100%;
  padding: 0 30px 0 10px;
  font-size: 16px;
  color: #111;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.content-std .counter-num span {
  position: absolute;
  width: 20px;
  height: 13.5px;
  position: absolute;
  top: 0;
  right: 0;
  border: 1px solid #CCC;
  cursor: pointer;
}

.content-std .counter-num span:after {
  background: url(../images/material/updown-ico.png) no-repeat;
  content: "";
  width: 8px;
  height: 5px;
}

.content-std .counter-num span.down {
  bottom: 0;
  top: auto;
}

.content-std .counter-num span.down:after {
  background-position: bottom;
}

.content-std .box-register {
  width: 1110px;
  position: relative;
  border: 1px solid #CCC;
  margin: 60px auto;
}

.content-std .box-register a {
  font-size: 13px;
}

.content-std .box-register .left {
  background: url(../images/content/register.jpg) no-repeat;
  width: 420px;
  height: 100%;
  left: 0;
  right: auto;
}

.content-std .box-register .right {
  padding: 60px 95px;
  float: right;
  margin: 0 0 0 420px;
  width: 505px;
}

.content-std .box-register .right .row-btn {
  margin-top: 60px;
  text-align: center;
}

.content-std .box-register .right .row-btn .btn-block {
  width: 100%;
  margin: 0 0 10px 0;
}

.content-std .box-register .right .row-btn a {
  color: #d31f22;
  text-decoration: underline;
}

.content-std .box-register .right .box-form .col {
  width: 50%;
  margin: 0;
}

.content-std .box-register .right .box-form .row:last-of-type {
  margin-bottom: 0;
}

.content-std .search-page {
  width: 730px;
  margin: 70px auto 60px;
}

.content-std .search-page .title {
  margin-bottom: 80px;
}

.content-std .search-page .list-search .box {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #CCC;
}

.content-std .search-page .list-search .box h6 {
  font-size: 23px;
  margin-bottom: 15px;
}

.content-std .search-page .list-search .box p {
  margin: 0;
}

.content-std .search-page .list-search .box a {
  color: #111;
}

.content-std .search-page .list-search .box:hover h6 {
  color: #d31f22;
}

.content-std.account-page {
  min-height: 89vh;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.content-std.account-page .wrapper {
  margin: 60px auto 100px;
}

.content-std.account-page .title {
  margin-bottom: 60px;
}

.content-std.account-page .table-history {
  margin-bottom: 60px;
}

.content-std.faq .wrap_block {
  margin-bottom: 150px;
}

.content-std.faq .wrap_block .left_text {
  float: left;
  width: 28%;
}

.content-std.faq .wrap_block .left_text h2, .content-std.faq .wrap_block .left_text h3 {
  padding: 5px 17% 5px 30px;
  position: relative;
}

.content-std.faq .wrap_block .left_text h2:before, .content-std.faq .wrap_block .left_text h3:before {
  content: '';
  top: 0;
  bottom: 0;
  width: 5px;
  background: #850202;
  position: absolute;
  left: 0;
}

.content-std.faq .wrap_block .right_text {
  float: right;
  width: 70%;
}

.content-std.faq .wrap_block .right_text .wrap-acc {
  margin-top: 0;
}

.content-std.faq .accordion .h-acc h5 {
  margin-bottom: 0;
}

.opt-checkbox .item {
  float: left;
  margin: 0 25px 0 0;
}

.opt-checkbox .item.col-4 {
  width: 23%;
  margin-right: 2.5%;
}

.opt-checkbox .item:last-child {
  margin-right: 0;
}

.opt-checkbox .item label {
  float: none;
  height: auto;
  color: #666;
  display: block;
  text-align: center;
  position: relative;
  padding: 20px 30px;
}

.opt-checkbox .item label input {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  padding: 0;
  cursor: pointer;
  border: 1px solid #ebebeb;
  top: 0;
}

.opt-checkbox .item label input:checked {
  background: url("../images/material/icon-check-lg.png") no-repeat 102% 102%;
  border-color: #850202;
  background-size: 10px 10px;
}

.opt-checkbox .item label p {
  font-size: 14px;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 20px;
  letter-spacing: normal;
  text-align: center;
  color: #666;
  margin: 0;
}

.opt-checkbox .item label.error {
  position: absolute;
  bottom: -24px;
  padding: 0;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.opt-checkbox.md .item {
  margin-right: 10px;
}

.opt-checkbox.md .item label {
  padding: 8px 35px;
}

.opt-checkbox.md .item label label.error {
  padding: 0;
}

.tagg {
  padding-left: 70px;
  position: relative;
  margin-top: 50px;
}

.tagg .lbl {
  font-size: 20px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 10px;
}

.tagg ul li {
  padding-left: 0;
  display: inline-block;
  margin: 0 5px 5px;
  line-height: normal !important;
}

.tagg ul li:after {
  display: none;
}

.tagg ul li a {
  padding: 5px 15px;
  font-size: 18px;
  color: #666;
  border: 1px solid #ccc;
  display: block;
  max-width: 105px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: center;
  min-width: 80px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  -moz-transition: all ease-out 0.2s;
  -ms-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
}

.tagg ul li a:hover {
  transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  -moz-transition: all ease-out 0.2s;
  -ms-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  background: #ccc;
  color: #fff;
}

.thanks-page {
  width: 1110px;
  border: 1px solid #CCC;
  margin: 300px auto 200px;
}

.thanks-page .ico {
  width: 240px;
  height: 240px;
  border: 4px solid #009532;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  margin: -123px auto 0;
  background: #FFF;
  position: relative;
}

.thanks-page .ico .ico-1 {
  position: absolute;
  top: 0;
  right: -75px;
}

.thanks-page .text {
  padding: 100px;
  text-align: center;
}

.thanks-page .text h5 {
  font-size: 40px;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0 0 40px 0;
}

.thanks-page .text p {
  font-size: 23px;
  line-height: 30px;
}

.thanks-page .wrap-btn {
  margin-top: 50px;
}

.thanks-page .wrap-btn a {
  margin-bottom: 10px;
}

.pg_404 {
  margin: 240px auto 100px;
  text-align: center;
  min-height: 55vh;
}

.pg_404 .text {
  width: 700px;
  margin: 0 auto;
}

.pg_404 .text h5 {
  font-size: 40px;
  line-height: 50px;
  margin: 60px 0 30px;
}

.pg_404 .text p {
  font-size: 20px;
  line-height: 30px;
}

.pg_404 .text .bk_index {
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  color: #ff7200;
  margin-top: 40px;
  display: inline-block;
}

.pg_404 .text .bk_index:hover {
  color: #d31f22;
}

input[type=number] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  -ms-appearance: textfield;
  -o-appearance: textfield;
  appearance: textfield;
}

.box-form input[type=text],
.box-form input[type=password],
.box-form input[type=number],
.box-form input[type=email],
.box-form select,
.box-form textarea,
.box-form .select2-container--default .select2-selection--multiple {
  border: none;
  border-bottom: 2px solid #CCC;
  height: auto;
  padding: 0 0 5px 0;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
  width: 100%;
  font-size: 16px;
  color: #111;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}

.box-form input[type=text]:focus,
.box-form input[type=password]:focus,
.box-form input[type=number]:focus,
.box-form input[type=email]:focus,
.box-form select:focus,
.box-form textarea:focus,
.box-form .select2-container--default .select2-selection--multiple:focus {
  border-bottom-color: #4f0101;
}

.box-form input[type=text].min-order,
.box-form input[type=password].min-order,
.box-form input[type=number].min-order,
.box-form input[type=email].min-order,
.box-form select.min-order,
.box-form textarea.min-order,
.box-form .select2-container--default .select2-selection--multiple.min-order {
  position: relative;
  padding-left: 50px;
  box-sizing: border-box;
}

.box-form select {
  padding-right: 30px;
  background: url(../images/material/arr-select.png) no-repeat right;
}

.box-form ::-webkit-input-placeholder {
  color: #111;
}

.box-form :-moz-placeholder {
  color: #111;
}

.box-form ::-moz-placeholder {
  color: #111;
}

.box-form :-ms-input-placeholder {
  color: #111;
}

.box-form .date input {
  background: url(../images/material/date-ico.png) no-repeat right 3px;
}

.box-form label {
  display: block;
  font-size: 16px;
  color: #666;
  margin: 0 0 10px 0;
}

.box-form label.bhn-text {
  position: absolute;
  top: 50%;
  transform: translateY(-60%);
  left: 0;
  z-index: 9;
}

.box-form .row {
  margin: 0 0 35px 0;
  position: relative;
}

.box-form .row .col {
  width: 325px;
  float: left;
  margin-right: 45px;
  position: relative;
}

.box-form .row .col:nth-child(2n) {
  margin-right: 0;
}

.box-form .row .col.down-pay {
  margin-top: 30px;
}

.box-form .row.col-3 .col {
  width: 230px;
  margin-right: 20px;
}

.box-form .row.col-3 .col:nth-child(3n) {
  margin-right: 0;
}

.box-form li {
  padding: 0;
}

.box-form li:after {
  display: none;
}

.box-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  background: #e1e1e1;
  font-size: 16px;
  border: none;
  padding: 5px 50px 4px 15px;
  position: relative;
  margin-right: 10px;
}

.box-form .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
  background: url(../images/material/close-ico.png) no-repeat;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  text-indent: -99999px;
}

.box-form .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding: 0;
}

.box-form .checkbox {
  font-size: 14px;
  color: #111;
  position: relative;
  padding: 0 0 0 22px;
  line-height: 14px;
  display: block;
}

.box-form .checkbox input[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  -ms-appearance: checkbox;
  -o-appearance: checkbox;
  appearance: checkbox;
  position: absolute;
  left: 0;
  top: -1px;
  padding: 0;
  width: 14px;
  height: 14px;
}

.box-form .input_file {
  border: none;
  border-bottom: 2px solid #CCC;
  height: auto;
  padding: 0 0 5px 0;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
  width: 100%;
  font-size: 16px;
  color: #111;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  background: url("../images/material/ico_file.png") no-repeat 97% center;
  background-size: 20px;
}

.box-form .input_file input[type="file"] {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 0 5px;
}

.box-form i.ket {
  font-size: 13px;
  display: block;
  margin-top: 5px;
  color: #d31f22;
}

.box-form .note_validat {
  color: #fff;
  padding: 5px 10px;
  background: #4f0101;
  position: absolute;
  top: 100%;
  font-weight: 300;
  font-size: 12px;
  left: 0;
}

.box-form .note_min {
  color: #b1b1b1;
  padding: 5px 10px;
  position: absolute;
  top: 100%;
  font-weight: 300;
  font-size: 12px;
  right: 0;
}

.box-form .view {
  margin: 15px 0 20px;
}

.box-form .view .img {
  width: 75px;
  height: 75px;
  display: inline-block;
  vertical-align: bottom;
}

.box-form .view .img img {
  display: block;
  height: 100%;
}

.box-form .view .link {
  display: inline-block;
  margin-left: 15px;
  margin-bottom: 5px;
  vertical-align: bottom;
}

.box-form .view .link a {
  font-size: 13px;
  font-weight: 500;
  color: #d31f22;
  display: block;
  margin-top: 10px;
}

.box-form .view .link a:first-child {
  margin-top: 0;
}

.box-form .view .link a:hover {
  color: #850202;
  text-decoration: underline;
}

.box-form .view .ico_pdf {
  width: 50px;
  display: inline-block;
  vertical-align: top;
  height: 75px;
}

.box-form .view .ico_pdf img {
  width: 100%;
  height: 100%;
  display: block;
}

.box-form .view .ico_pdf + .link {
  vertical-align: bottom;
}

.select2-results__option {
  font-size: 16px;
}

div#ui-datepicker-div {
  margin-top: -95px;
}

.wrap-popup {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  display: none;
}

.wrap-popup .box-popup {
  width: 920px;
  margin: auto;
  position: relative;
  margin: 10% auto;
}

.wrap-popup .box-popup h4 {
  font-size: 40px;
  font-weight: bold;
  color: #FFF;
  margin: 0 0 30px 0;
  text-transform: uppercase;
}

.wrap-popup .box-popup a.close {
  width: 68px;
  height: 68px;
  background: #4f0101 url(../images/material/close-pop.png) no-repeat center;
  transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -webkit-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -moz-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -ms-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  -o-transition: 0.7s cubic-bezier(0.065, 0.84, 0.26, 0.99) all;
  position: absolute;
  top: -34px;
  right: -34px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  text-indent: -9999px;
  z-index: 1;
}

.wrap-popup .box-popup a.close:hover {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}

.wrap-popup .box-popup .images-set {
  position: relative;
}

.wrap-popup .box-popup .images-set img {
  position: relative;
  z-index: 0 !important;
}

.wrap-popup .box-popup .arrow-nav {
  position: absolute;
  width: 29px;
  height: 55px;
  background: url(../images/material/pop-nav.png) no-repeat;
  opacity: 0.7;
  text-indent: -9999px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.wrap-popup .box-popup .arrow-nav.next {
  background-position: right center;
  right: -75px;
}

.wrap-popup .box-popup .arrow-nav.prev {
  background-position: left center;
  left: -75px;
}

.wrap-popup .box-popup .arrow-nav:hover {
  opacity: 1;
}

.box-signature {
  position: relative;
}

.box-signature #sig {
  width: 730px;
  max-width: 100%;
  height: 170px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border: 1px solid #cacaca;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.box-signature .textsig {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 50px 20px 0;
  display: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #cacaca;
}

.box-signature .textsig:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.box-signature .textsig input[type=text], .box-signature .textsig span {
  font-size: 65px;
  background: transparent;
  width: 100%;
  border: none;
  vertical-align: top;
  display: block;
  text-align: center;
}

.box-signature .textsig.active {
  display: block;
}

.box-signature .edit {
  position: absolute;
  top: 6px;
  right: 10px;
  width: 30px;
  height: 30px;
  background: url("../images/material/ic_edit.png") no-repeat center white;
  cursor: pointer;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.box-signature .typeselect {
  position: absolute;
  bottom: 6px;
  right: 1px;
  background: #FFF;
  padding: 13px 20px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.box-signature .typeselect a {
  display: inline-block;
  padding: 4px 12px 4px 0;
  border-right: 1px solid #d4d4d4;
  font-size: 16px;
  color: #888888;
  cursor: pointer;
}

.box-signature .typeselect a:last-child {
  border-right: none;
  padding-right: 0;
  padding-left: 12px;
}

.box-signature .typeselect a:hover, .box-signature .typeselect a:active, .box-signature .typeselect a.active {
  color: #0052c2;
}

.box-textsignature {
  position: relative;
}

.box-textsignature span {
  position: absolute;
  top: 100%;
  left: 0;
  font-size: 14px;
  background: #4f0101;
  padding: 10px 15px;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.popwp {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 1000000000;
  display: none;
}

.popwp .in-popwp {
  background: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  padding: 30px 20px;
  border: 1px solid #cacaca;
  width: 730px;
  max-width: 90%;
  height: auto;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.popwp .in-popwp .ttl-pop {
  padding: 8px 15px 32px;
  position: relative;
  border-bottom: 1px solid #c6c6c6;
  margin-bottom: 42px;
}

.popwp .in-popwp .ttl-pop:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 40px;
  background: #850202;
}

.popwp .in-popwp .ttl-pop h3 {
  font-size: 23px;
  color: #111111;
  font-weight: 700;
}

.popwp .in-popwp .ttl-pop .btn-close {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 5px;
  right: 0;
  cursor: pointer;
}

.popwp .in-popwp .ttl-pop .btn-close span {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  background: #b2b2b2;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  transition: 0.2s background ease-out;
  -webkit-transition: 0.2s background ease-out;
  -moz-transition: 0.2s background ease-out;
  -ms-transition: 0.2s background ease-out;
  -o-transition: 0.2s background ease-out;
}

.popwp .in-popwp .ttl-pop .btn-close span:last-child {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.popwp .in-popwp .ttl-pop .btn-close:hover span {
  background: #111;
}

.popwp .in-popwp .ctn-pop {
  padding: 0 40px;
  overflow: auto;
  max-height: 60vh;
}

.share {
  padding: 0 0 0 10px;
  background: #ebebeb;
  display: inline-block;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

.share span {
  display: inline-block;
  line-height: 35px;
  margin-right: 12px;
  font-size: 16px;
  color: #666;
  text-transform: capitalize;
}

.share .sos {
  display: inline-block;
  vertical-align: middle;
  background: #b7b7b7;
  padding: 0 8px;
  border-radius: 0 3px 3px 0;
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  -ms-border-radius: 0 3px 3px 0;
  -o-border-radius: 0 3px 3px 0;
  position: relative;
}

.share .sos a {
  line-height: 35px;
  display: inline-block;
  width: 23px;
  vertical-align: middle;
  margin: 0 2px;
}

.share .sos:before {
  width: 0;
  position: absolute;
  left: -6px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #b7b7b7;
  content: '';
  top: 12px;
}

.sig-lst {
  margin: 0 -15px;
}

.sig-lst:after {
  content: "";
  clear: both;
  display: block;
}

.sig-lst .ls-sig-lst {
  width: 33.3333333333333333%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
  margin-bottom: 35px;
}

.sig-lst .ls-sig-lst .lssig {
  padding: 10px;
  border: 1px solid transparent;
  font-size: 30px;
  text-align: center;
  color: #111111;
  transition: 0.2s border ease-out;
  -webkit-transition: 0.2s border ease-out;
  -moz-transition: 0.2s border ease-out;
  -ms-transition: 0.2s border ease-out;
  -o-transition: 0.2s border ease-out;
  cursor: pointer;
  font-family: attr(data-font);
  overflow: hidden;
}

.sig-lst .ls-sig-lst .lssig:hover, .sig-lst .ls-sig-lst .lssig.active {
  border-color: #850202;
}

.src_result {
  margin: 200px auto 150px;
  min-height: 59vh;
}

.src_form {
  display: block;
  position: relative;
  margin-bottom: 100px;
}

.src_form form input[type="text"] {
  width: 100%;
  padding: 10px 50px 10px 60px;
  font-size: 18px;
  background: #f5f5f5;
  border-color: #f2f2f2;
  color: #333;
  font-weight: 500;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.src_form form input[type="submit"] {
  position: absolute;
  left: 0;
  width: 50px;
  top: 0;
  bottom: 0;
  cursor: pointer;
  background: url(../images/material/search-ico.png) no-repeat center;
  border: none;
}

.src_form form ::-webkit-input-placeholder {
  color: #ccc;
}

.src_form form :-moz-placeholder {
  color: #ccc;
}

.src_form form ::-moz-placeholder {
  color: #ccc;
}

.src_form form :-ms-input-placeholder {
  color: #ccc;
}

.wrap_src {
  width: 980px;
  margin: 0 auto;
}

.wrap_src h2, .wrap_src .content-std h3, .content-std .wrap_src h3 {
  font-size: 40px;
  color: #111;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.wrap_src h6 {
  font-size: 20px;
  margin-bottom: 80px;
}

.wrap_src .list_src .item {
  display: block;
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #ccc;
}

.wrap_src .list_src .item a h4 {
  font-size: 24px;
  color: #333;
  font-weight: 500;
  margin-bottom: 15px;
}

.wrap_src .list_src .item a p {
  font-size: 18px;
  line-height: 26px;
  color: #333;
  margin-bottom: 0;
}

.wrap_src .list_src .item a:hover h4 {
  color: #da2327;
}

.wrap_src .list_src .item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.pagging {
  position: relative;
  display: block;
  text-align: center;
  margin-top: 30px;
  font-size: 16px;
  line-height: 20px;
}

.pagging a {
  color: #333;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  position: relative;
  margin: 0 5px;
  display: inline-block;
  padding: 0 8px 5px;
  vertical-align: middle;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.pagging a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  height: 2px;
  background: #ff7200;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
}

.pagging a:hover {
  color: #ff7200;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.pagging a:hover:after {
  width: 100%;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.pagging a.active {
  color: #ff7200;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.pagging a.active:after {
  width: 100%;
  transition: all linear 0.25s;
  -webkit-transition: all linear 0.25s;
  -moz-transition: all linear 0.25s;
  -ms-transition: all linear 0.25s;
  -o-transition: all linear 0.25s;
}

.pagging a.prev, .pagging a.next {
  width: 16px;
  height: 16px;
  background: url("../images/material/ico_pagging.png") no-repeat left center;
  padding: 0;
  vertical-align: top;
  top: 4px;
}

.pagging a.prev:hover, .pagging a.next:hover {
  background-position: right center;
}

.pagging a.prev:after, .pagging a.next:after {
  display: none;
}

.pagging a.prev {
  margin-right: 20px;
}

.pagging a.next {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  margin-left: 20px;
}

.ui-datepicker {
  width: 22em;
}

.ui-widget {
  font-size: 13px;
}

.ui-datepicker td span, .ui-datepicker td a {
  padding: 7px 3px;
}

.box-share-list {
  position: relative;
}

.box-share-list .share-list {
  position: absolute;
  left: -70px;
}

.box-share-list .share-list.fixed {
  position: fixed;
  top: 110px;
  left: auto;
}

.share-list a {
  display: block;
}

.button-group {
  display: flex;
  gap: 0 5px;
}

/* footer
----------------------------------------------------------------------------------------------*/
footer {
  height: 110px;
  background: url(../images/material/bg-footer.jpg) no-repeat;
  background-size: cover;
  color: #FFF;
}

footer .wrapper {
  width: 1360px;
}

footer .left {
  margin: 47px 0 0 0;
}

footer .left nav {
  float: none;
  margin-right: 0;
  display: none;
}

footer .left p {
  font-size: 13px;
  color: #FFF;
  margin-bottom: 0;
}

footer .left p a {
  color: #fff;
}

footer .left p a:hover {
  text-decoration: underline;
}

footer .right {
  margin: 47px 0 0 0;
}

footer nav {
  float: left;
  margin-right: 30px;
}

footer nav a {
  font-size: 13px;
  color: #FFF;
}

footer nav a:hover {
  text-decoration: underline;
  color: #fff;
}

footer nav span {
  padding: 0 10px;
}

footer .socmed {
  float: left;
  margin: -8px 0 0 0;
}

footer .socmed a {
  float: left;
  margin: 0 0 0 10px;
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
}

footer .socmed a img {
  display: block;
}

footer .socmed a:hover {
  opacity: 0.6;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwic2Fzcy1saWIuc2NzcyIsImJvdXJib24vX2JvdXJib24uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy1mYWxzeS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbnVtYmVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwiYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXN0eWxlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXQgXHJcbiAgICBBdXRob3IgICAgIDogWW91ciBOYW1lXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5AaW1wb3J0IFwic2Fzcy1saWJcIjtcclxuXHJcbmJvZHkgeyAgXHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkhpbmRcIjsgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbn1cclxuZmlndXJle1xyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG4gICAgaW1ne3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG59XHJcbmltZ3sgYm9yZGVyOjA7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxyXG5wIHtcclxuICAgIG1hcmdpbjogMXB4IDAgMTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkhpbmRcIjsgXHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDhEOEQ4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwKTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XHJcbn1cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24gIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5oMSB7IGZvbnQtc2l6ZTogMzJweDsgfVxyXG5oMiB7IGZvbnQtc2l6ZTogMjhweDsgfVxyXG5oMyB7IGZvbnQtc2l6ZTogMjRweDsgfVxyXG5oNCB7IGZvbnQtc2l6ZTogMjBweDsgfSBcclxuaDUgeyBmb250LXNpemU6IDE2cHg7IH0gXHJcbmg2IHsgZm9udC1zaXplOiAxNHB4OyB9XHJcbi8qIHN0cnVjdHVyZSBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbnNlY3Rpb24geyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLndyYXBwZXIge3dpZHRoOiAxMTcwcHg7bWFyZ2luOiAwIGF1dG87fVxyXG5cclxuLmdyYWJ2aWJlc3tmb250LWZhbWlseTogJGdyYWJ2aWJlczt9XHJcbi5wYWNpZml0b3tmb250LWZhbWlseTogJHBhY2lmaXRvO31cclxuLmhvbWVtYWRle2ZvbnQtZmFtaWx5OiAkaG9tZW1hZGU7fVxyXG4udGFuZ2VyaW5le2ZvbnQtZmFtaWx5OiAkdGFuZ2VyaW5lO31cclxuLm5vdGhpbmd7Zm9udC1mYW1pbHk6ICRub3RoaW5nO31cclxuLmRhbWlvbntmb250LWZhbWlseTogJGRhbWlvbjt9XHJcbi5wYXJpc2llbm5le2ZvbnQtZmFtaWx5OiAkcGFyaXNpZW5uZTt9XHJcbi5pdGFsaWFubm97Zm9udC1mYW1pbHk6ICRpdGFsaWFubm87fVxyXG4ubGFiZWxsZXtmb250LWZhbWlseTogJGxhYmVsbGU7fVxyXG4udmFtcGlyb29uZXtmb250LWZhbWlseTogJHZhbXBpcm9vbmU7fVxyXG4uYWd1YWZpbmF7Zm9udC1mYW1pbHk6ICRhZ3VhZmluYTt9XHJcbi5sZWFndWV7Zm9udC1mYW1pbHk6ICRsZWFndWU7fVxyXG4ubW9sbGV7Zm9udC1mYW1pbHk6ICRtb2xsZTt9XHJcbi5hbGV4e2ZvbnQtZmFtaWx5OiAkYWxleDt9XHJcbi5waW55b257Zm9udC1mYW1pbHk6ICRwaW55b247fVxyXG5cclxuXHJcbi5vdmVybGF5e1xyXG4gICAgcG9zaXRpb246IGZpeGVkO2JhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt6LWluZGV4Ojg7ZGlzcGxheTogbm9uZTtcclxufVxyXG4vKiBoZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5idXJnZXItbWVudXtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDt3aWR0aDo0MHB4O2hlaWdodDogMjdweDt6LWluZGV4OjEwO3RvcDozNXB4O2xlZnQ6NDVweDtcclxuICAgIHNwYW57QGV4dGVuZCAuYWJzb2x1dGUtY2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOiAkcmVkO0BpbmNsdWRlIHRyYW5zaXRpb24oMC42cyAkZWFzZSBhbGwpO1xyXG4gICAgICAgICAmOm50aC1jaGlsZCgxKXtib3R0b206YXV0bzt9XHJcbiAgICAgICAgICY6bnRoLWNoaWxkKDMpe3RvcDphdXRvO31cclxuXHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZXtcclxuICAgICAgICBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OiAwO3dpZHRoOjA7fVxyXG4gICAgICAgIHNwYW46bnRoLWNoaWxkKDEpe3RvcDoxMnB4O0BpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKX1cclxuICAgICAgICBzcGFuOm50aC1jaGlsZCgzKXtib3R0b206MTJweDtAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBzcGFuOm50aC1jaGlsZCgyKXtyaWdodDoxMTAlO30gXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaWRlLW1lbnV7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7bGVmdDowO3RvcDowO3dpZHRoOjQ0MHB4O2hlaWdodDogMTAwJTt6LWluZGV4OiA5O2JhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYmctc2lkZW1udS5qcGcpIG5vLXJlcGVhdDtsZWZ0Oi00NDBweDsgb3BhY2l0eTogMDtcclxuICAgIG5hdntcclxuICAgICAgICBwYWRkaW5nOjE0NXB4IDc1cHggNTBweDtcclxuICAgICAgICBhe2ZvbnQtc2l6ZToyNnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6I0ZGRjttYXJnaW46MCAwIDIwcHggMDtkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICY6aG92ZXJ7Y29sb3I6JHJlZDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlYXJjaHtcclxuICAgICAgICBtYXJnaW46MCA3NXB4O1xyXG4gICAgICAgIGlucHV0e1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTZweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzY2NjtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3NlYXJjaC1pY28ucG5nKSBuby1yZXBlYXQgcmlnaHQgdG9wO1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO3BhZGRpbmc6MCAzMHB4IDEwcHggMDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYW5nIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjNjY2OyBtYXJnaW46IDM1cHggMCAwIDc1cHg7IGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgc3BhbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDAgNXB4O31cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb2xvcjogIzY2NjtcclxuICAgICAgICAgICAgJi5hY3RpdmUsXHJcbiAgICAgICAgICAgICY6aG92ZXIge2NvbG9yOiAjZDMxZjIyO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmhlYWRlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtoZWlnaHQ6MTAwcHg7YmFja2dyb3VuZDogI0ZGRjtAaW5jbHVkZSBib3hTaGFkb3coMHB4IDBweCAxMHB4IC04cHgpO3dpZHRoOjEwMCU7ei1pbmRleDogNTt0b3A6MDtcclxuICAgIEBpbmNsdWRlIGJveFNoYWRvdygwcHggMHB4IDIwcHggLTExcHggIzAwMCk7XHJcbiAgICAmOmFmdGVye1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZTVlNWU1O2xlZnQ6MTI5cHg7Y29udGVudDpcIlwiO1xyXG5cdFx0XHRcdHRvcDowOyBcclxuICAgIH1cclxuICAgIC5sb2dve1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7bWFyZ2luOjI5cHggMCAwIDE2MHB4O1xyXG4gICAgfVxyXG4gICAgbmF2e1xyXG5cdFx0XHRcdG1hcmdpbjowIDAgMCA1MHB4O1xyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDtjb2xvcjojMzMzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW46MCAyNHB4IDAgMDtcclxuICAgICAgICAgICAgJjpob3ZlciwmLmFjdGl2ZXtjb2xvcjokcmVkO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFuZ3tcclxuICAgICAgICBtYXJnaW46MDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMnB4O1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0U1RTVFNTsgXHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGEge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiM2NjY7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7IFxyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7IFxyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcclxuXHRcdFx0XHR9XHJcbiAgICAgICAgLmRyb3B7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtiYWNrZ3JvdW5kOiRyZWQ7d2lkdGg6NDBweDtoZWlnaHQ6YXV0bzt0b3A6MzBweDtsZWZ0Oi0xNXB4O3BhZGRpbmc6MTVweCAxMHB4O0BpbmNsdWRlIGJveFNoYWRvdygwcHggMHB4IDVweCAtM3B4KTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47b3BhY2l0eTowO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBsaW5lYXIgYWxsKTtcclxuICAgICAgICAgICAgYXtkaXNwbGF5OiBibG9jaztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQ0NDO3BhZGRpbmc6MCAwIDEwcHggMDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojRkZGO1xyXG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOiAwO3BhZGRpbmctYm90dG9tOjA7Ym9yZGVyOm5vbmU7fVxyXG4gICAgICAgICAgICAgICY6aG92ZXJ7Y29sb3I6I2ZmYWQwMDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjt3aWR0aDowO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1ib3R0b206MTBweCBzb2xpZCAkcmVkO2JvcmRlci1sZWZ0OjEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6MTBweCBzb2xpZCB0cmFuc3BhcmVudDtyaWdodDogLTJweDttYXJnaW46YXV0bzt0b3A6LTEwcHg7bGVmdDowO3JpZ2h0OjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgLmRyb3B7dmlzaWJpbGl0eTogdmlzaWJsZTtvcGFjaXR5OiAxO31cclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG4gICAgLnNlYXJjaHtcclxuXHRcdFx0XHRtYXJnaW46MDtcclxuICAgICAgICBhLnRvZ2dsZS1zZWFyY2h7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7ZGlzcGxheTogYmxvY2s7dGV4dC1pbmRlbnQ6LTk5OTk5cHg7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9zZWFyY2gtaWNvLnBuZykgbm8tcmVwZWF0O1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmlnaHR7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgYS5waG9uZXtcclxuICAgICAgICAgICAgbWFyZ2luOjAgMTJweCAwIDA7cGFkZGluZzowIDAgMCAyNnB4O2hlaWdodDoyNnB4O2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3Bob25lLWljby5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7Y29sb3I6IzY2NjtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLm9ubGluZS1wYXltZW50e1xyXG4gICAgICAgICAgICBtYXJnaW46MCAxMnB4IDAgMDtwYWRkaW5nOjAgMCAwIDI2cHg7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjZweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvcGF5bWVudC1pY28ucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O2NvbG9yOiM2NjY7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYS5idG57XHJcbiAgICAgICAgICAgIHdpZHRoOmF1dG87IG1heC13aWR0aDogMTI0cHg7aGVpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTBweCAwO0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtmb250LXNpemU6MTJweDtjb2xvcjojRkZGO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYmctYnRuLmpwZykgcmVwZWF0LXg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46MCAwIDAgMzBweDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9hY2MtaWNvLnBuZyluby1yZXBlYXQ7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMHB4O3RvcDowO2JvdHRvbTowO21hcmdpbjphdXRvO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LW5hdntcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7aGVpZ2h0Ojg1cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BhZGRpbmc6MCAxMHB4IDAgMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MHB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxZTFlMTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7Y29sb3I6JHJlZDtwYWRkaW5nOjAgMjVweCAwIDQwcHg7bWFyZ2luOjA7ZGlzcGxheTogYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2FjY3JlZC1pY28ucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7Zm9udC13ZWlnaHQ6IDYwMDtwb3NpdGlvbjpyZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDVweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OlwiXCI7d2lkdGg6MTJweDtoZWlnaHQ6N3B4O2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9kcm9wLWljby5wbmcpIG5vLXJlcGVhdCA7QGV4dGVuZCAuYWJzb2x1dGUtY2VudGVyO2xlZnQ6YXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgLmRyb3B7dmlzaWJpbGl0eTogdmlzaWJsZTtvcGFjaXR5OiAxO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHJvcHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDoyNTlweDtiYWNrZ3JvdW5kOiNlMWUxZTE7bGVmdDowO3RvcDoxMDAlO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgbGluZWFyIGFsbCk7XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO3dpZHRoOmF1dG87cGFkZGluZzoyMnB4IDMwcHggMThweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQ0NDO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHRcdC5oZWFkZXItcmlnaHQge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4OyBcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0bWFyZ2luOjAgNDBweDtcclxuXHRcdFx0LmhlYWRlci10b3Age1xyXG5cdFx0XHRcdGhlaWdodDogMzJweDtcclxuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAwIDA7IFxyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgXHRcdFx0XHRcclxuXHRcdFx0XHQucmlnaHQge1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHQucGhvbmUtbW9iaWxlIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5oZWFkZXItYm90dG9tIHtcclxuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAwIDA7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAgXHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHQubmF2IHt9XHJcblx0XHRcdFx0LnNlYXJjaCB7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG59XHJcbi53cmFwcGVye1xyXG4gICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbn1cclxuLyogbWlkZGxlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uYnRuLWJvcmRlcntcclxuICAgIGhlaWdodDo1MHB4O3BhZGRpbmc6MCA0NXB4O2JvcmRlcjoycHggc29saWQgI0ZGRjtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDUwcHg7Y29sb3I6I0ZGRjtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0IGFsbCk7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiNGRkY7Y29sb3I6JHJlZDtcclxuICAgIH1cclxuICAgICYubGVzcy1ib3h7XHJcbiAgICAgICAgYm9yZGVyOm5vbmU7Y29sb3I6JG9yYW5nZTtwYWRkaW5nOjAgMzBweDtcclxuICAgICAgICAmOmhvdmVye2NvbG9yOiMzMzM7fSAgICAgICAgXHJcbiAgICB9XHJcblxyXG59XHJcbi5idG4tcGx1c3tcclxuICAgIHdpZHRoOiA1MHB4O2hlaWdodDo1MHB4O2JhY2tncm91bmQ6JG9yYW5nZSB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3BsdXMtaWNvLnBuZykgbm8tcmVwZWF0IGNlbnRlcjtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cG9zaXRpb246IHJlbGF0aXZlO3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgIHNwYW57XHJcbiAgICAgICAgd2lkdGg6MTMwcHg7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6MTIwJTtiYWNrZ3JvdW5kOiAkb3JhbmdlO2hlaWdodDo1MHB4O2xpbmUtaGVpZ2h0OiA1MHB4O2NvbG9yOiNGRkY7Zm9udC1zaXplOjE0cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7dGV4dC1hbGlnbjogY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBlYXNlLW91dCBhbGwpO1xyXG4gICAgfVxyXG59XHJcbi5idG4tYmxvY2t7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO2NvbG9yOiNGRkY7cGFkZGluZzowIDQwcHg7aGVpZ2h0OjUwcHg7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0OiA1MnB4O3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6JG9yYW5nZTtib3JkZXI6bm9uZTtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgZWFzZS1vdXQgYWxsKTtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7cG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7Y29sb3I6I0ZGRjtcclxuICAgIH1cclxuICAgICYuZG93bmxvYWQtYnRue1xyXG4gICAgICAgIHBhZGRpbmc6MCAzMHB4IDAgODBweDttYXJnaW46MjBweCAwIDAgMDtcclxuICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgaGVpZ2h0OjUwcHg7d2lkdGg6NTVweDtjb250ZW50OlwiXCI7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjRkZGO2JhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvZG93bi1pY28ucG5nKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhbm5lci1ob21le1xyXG4gICAgei1pbmRleDowOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgcGFkZGluZzowIDAgNjBweCAxMzBweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYmctc2xpZGVyLmpwZykgbm8tcmVwZWF0IGJvdHRvbSBsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjo3OHB4IDAgMCAwO1xyXG4gICAgaW1ne2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAwOyB3aWR0aDogMTAwJTt9XHJcbiAgICAuc2xpZGV7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zNSk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcC1jYXB0aW9ue3dpZHRoOjEzNjBweDtAZXh0ZW5kIC5hYnNvbHV0ZS1jZW50ZXI7fVxyXG4gICAgLmNhcHRpb257XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6Mzt3aWR0aDo0NjVweDtoZWlnaHQ6MzQwcHg7dG9wOjA7Ym90dG9tOjA7bGVmdDowO21hcmdpbjphdXRvO1xyXG4gICAgICAgIGgxLGgye2ZvbnQtc2l6ZTogNTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjtsaW5lLWhlaWdodDogNTZweDttYXJnaW46MCAwIDIwcHggMDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlfVxyXG4gICAgICAgIHB7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAyNnB4O2NvbG9yOiNGRkY7bWFyZ2luOjAgMCA0NXB4IDA7fVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIHdpZHRoOjIwMHB4O2hlaWdodDo1MHB4O2xpbmUtaGVpZ2h0OjUwcHg7cGFkZGluZzowIDIycHggMCA2MHB4O0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtmb250LXNpemU6MTZweDtjb2xvcjojRkZGO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYmctYnRuLmpwZykgcmVwZWF0LXg7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luOi0xNXB4IDAgMCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3coMHB4IDBweCAzMHB4IC0xMHB4ICMwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+ICp7cG9zaXRpb246IHJlbGF0aXZlO31cclxuICAgIH1cclxuICAgIC5zbGljay1kb3Rze1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0Oi03NXB4O1xyXG5cdFx0XHRcdC8vIGJvdHRvbTo0NSU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyBcclxuICAgICAgICBidXR0b257XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjojRkZGO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtwYWRkaW5nOjAgMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIDAgNTBweCAwO3BhZGRpbmc6MCAwIDVweCAwO2N1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OicwJ31cclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6MCU7YmFja2dyb3VuZDogJHJlZDtoZWlnaHQ6M3B4O2xlZnQ6MDtib3R0b206MDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgZWFzZS1vdXQgYWxsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWNrLWFjdGl2ZXtcclxuICAgICAgICAgICAgYnV0dG9uOmFmdGVye3dpZHRoOjEwMCU7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBhLnNjcm9sbC1kb3due1xyXG4gICAgICAgIGZvbnQtc2l6ZToxM3B4O2NvbG9yOiM5NTk1OTU7cGFkZGluZzowIDU1cHggMCAwO2hlaWdodDoxM3B4O3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206NTBweDtsZWZ0OjU1cHg7QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtOTBkZWcpICk7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigwIDAgICk7XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDpcIlwiO3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDo0MHB4O2JhY2tncm91bmQ6ICRyZWQ7aGVpZ2h0OjJweDtyaWdodDowO2JvdHRvbTowO3RvcDowO21hcmdpbjphdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmFubmVyLXN0ZHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO3BhZGRpbmctYm90dG9tOjA7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMDBweDsgXHJcbiAgICAgICAgLmNhcHRpb257aGVpZ2h0OjIyMHB4O2xlZnQ6IDA7fVxyXG5cclxuICAgICAgICAubWFwLWxvY2F0aW9ue3BhZGRpbmc6MCA1NjVweCAwIDAgO2hlaWdodDogNjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICA+ZGl2IHtoZWlnaHQ6IDYwMHB4fVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9jYXRpb24tcmlnaHR7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0ZjAxMDE7aGVpZ2h0OiAxMDAlO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMDt0b3A6MDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7cGFkZGluZzo1NXB4IDU1cHggMDtcclxuICAgICAgICAgICAgY29sb3I6I0ZGRjt3aWR0aDogNTY1cHg7XHJcbiAgICAgICAgICAgIGg0e2ZvbnQtc2l6ZTogMzFweDttYXJnaW46MCAwIDUwcHggMDt9XHJcbiAgICAgICAgICAgIHB7bWFyZ2luOjA7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAyM3B4O3BhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgYntkaXNwbGF5OiBibG9jazttYXJnaW4tYm90dG9tOiA1cHh9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjExYjFiO21hcmdpbi1ib3R0b206IDMwcHg7cGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxpc3QtbG9jIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDA1cHg7IG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHttYXJnaW4tcmlnaHQ6IDIwcHg7fVxyXG4gICAgICAgICAgICAgICAgLm1DU0Jfc2Nyb2xsVG9vbHMge3JpZ2h0OiAtM3B4O31cclxuICAgICAgICAgICAgICAgIC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtiYWNrZ3JvdW5kOiAjNjExYjFiO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2Nyb2xsLWRvd257XHJcbiAgICAgICAgICAgIGJvdHRvbTotMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEzMHB4OyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC40KTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZS1zZWN7XHJcbiAgICB6LWluZGV4OjA7XHJcbiAgICBoMntmb250LXNpemU6MzBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzExMTtsaW5lLWhlaWdodDogNDBweDttYXJnaW46MCAwIDEwcHggMDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO31cclxuICAgIHB7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAyNnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOiAyNXB4fVxyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgd2lkdGg6MTM2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuaC1hYm91dHtcclxuICAgICAgICBtYXgtd2lkdGg6MTYwMHB4O21hcmdpbjphdXRvO3BhZGRpbmc6MTUwcHggMCAxNDBweDtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbnRlbnQvaGFib3V0LmpwZykgbm8tcmVwZWF0ICBsZWZ0IGJvdHRvbTtcclxuICAgICAgICAubGVmdHt3aWR0aDozNTBweDt0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICBoMntmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDogNTBweDtjb2xvcjojMTExO3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NzAwO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0e1xyXG4gICAgICAgICAgICB3aWR0aDo3MzBweDtwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpc3QtY29seyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBtYXJnaW46NTBweCAwIDAgMDtcclxuICAgICAgICAgICAgLmNvbHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjI4NXB4O2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMTYwcHggNDBweCAwO1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pe21hcmdpbi1yaWdodDogMDt9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisxKXtjbGVhcjogYm90aDt9XHJcbiAgICAgICAgICAgICAgICBoNXtmb250LXNpemU6MTlweDtmb250LXdlaWdodDo3MDA7Y29sb3I6JHJlZDttYXJnaW46MCAwIDEwcHggMDt9XHJcbiAgICAgICAgICAgICAgICBwe21hcmdpbi1ib3R0b206IDA7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaC1wcm9ke1xyXG4gICAgICAgIHBhZGRpbmc6OTBweCAwO2NvbG9yOiNGRkY7XHJcbiAgICAgICAgJjpiZWZvcmV7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6MTIwcHg7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiM0ZjAwMDAgdXJsKC4uL2ltYWdlcy9jb250ZW50L2JnLXByb2QuanBnKSA7Y29udGVudDpcIlwiO31cclxuICAgICAgICAud3JhcHBlcntwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6MTQ4MHB4O31cclxuICAgICAgICBoMntjb2xvcjojRkZGO31cclxuICAgICAgICAuc2xpZGVye1xyXG4gICAgICAgICAgICBmbG9hdDpsZWZ0O3dpZHRoOjEwMjBweDtcclxuICAgICAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbToxM3B4O2N1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgPiAqIHtwb3NpdGlvbjogcmVsYXRpdmU7fSBcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjM1KTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDEzcHg7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBpbWcge3dpZHRoOiAxMDAlO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoNXtmb250LXNpemU6MjlweDtmb250LXdlaWdodDogMzAwO21hcmdpbjowIDAgN3B4IDA7fVxyXG4gICAgICAgICAgICBoNntmb250LXNpemU6IDE2cHg7Zm9udC13ZWlnaHQ6NDAwO1xyXG4gICAgICAgICAgICAgICBie2ZvbnQtc2l6ZTogMTlweDtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtwYWRkaW5nLWxlZnQ6IDVweH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe21hcmdpbjogMCAwIDMwcHg7IGZvbnQtd2VpZ2h0OjQwMDsgb3ZlcmZsb3c6IGhpZGRlbjtoZWlnaHQ6MDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuN3MgJGVhc2UgYWxsKTt9XHJcbiAgICAgICAgICAgIC50ZXh0e3dpZHRoOjI1NXB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO21hcmdpbjphdXRvO2JvdHRvbTowcHg7IHotaW5kZXg6IDI7fVxyXG5cclxuICAgICAgICAgICAgLmJveDpob3ZlcntcclxuICAgICAgICAgICAgICAgIHB7aGVpZ2h0OiA1MnB4O21hcmdpbi10b3A6IDIwcHg7fVxyXG4gICAgICAgICAgICAgICAgYSBzcGFue2xlZnQ6MTAwJTtvcGFjaXR5OiAxO31cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0e3dpZHRoOjM2MHB4O3BhZGRpbmc6MTAwcHggMCAwIDA7fVxyXG4gICAgICAgIC5zbGljay1hcnJvd3tcclxuICAgICAgICAgICAgd2lkdGg6MThweDtoZWlnaHQ6IDMycHg7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9hcnJvdy1ib3gucG5nKSBuby1yZXBlYXQgO29wYWNpdHk6IDAuNTtwb3NpdGlvbjogYWJzb2x1dGU7Y3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6bm9uZTt0ZXh0LWluZGVudDogLTk5OTlweDt6LWluZGV4OiAyO3RvcDowO2JvdHRvbTowO21hcmdpbjphdXRvO1xyXG4gICAgICAgICAgICAmLnNsaWNrLW5leHR7cmlnaHQ6LTQ1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHR9XHJcbiAgICAgICAgICAgICYuc2xpY2stcHJldntsZWZ0Oi00NXB4O31cclxuICAgICAgICAgICAgJjpob3ZlcntvcGFjaXR5OiAxO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oLXVwZGF0ZXN7XHJcbiAgICAgICAgcGFkZGluZzo5MHB4IDA7XHJcbiAgICAgICAgLmxpc3R7XHJcbiAgICAgICAgICAgIG1hcmdpbjozMHB4IDAgMCAwO1xyXG4gICAgICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgICAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O3dpZHRoOjI3MHB4O21hcmdpbjowIDkwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgaDZ7Zm9udC1zaXplOiAxOXB4O2xpbmUtaGVpZ2h0OiAyNHB4O2NvbG9yOiMzMzM7bWFyZ2luOjAgMCA1MHB4IDA7IGhlaWdodDogNzJweDsgb3ZlcmZsb3c6IGhpZGRlbjt9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bil7bWFyZ2luLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgICAgIHNtYWxse2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiM2NjY7ZGlzcGxheTogYmxvY2s7bGluZS1oZWlnaHQ6IDI0cHg7bWFyZ2luOjAgMCAyMHB4IDA7aGVpZ2h0OiA0OHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7fVxyXG4gICAgICAgICAgICAgICAgcHtmb250LXNpemU6IDE0cHg7Y29sb3I6Izk5OTsgYm9yZGVyLXRvcDoxcHggc29saWQgI0NDQzsgcGFkZGluZy10b3A6IDIwcHg7IG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgIGJ7Y29sb3I6JG9yYW5nZTt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGg2e2NvbG9yOiRyZWQ7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaC10ZXN0aXtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTo4MHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYWVhZWE7bWFyZ2luLWJvdHRvbTo4MHB4O1xyXG4gICAgICAgIC5zbGlkZXJ7bWFyZ2luLXRvcDogMzBweDt9XHJcbiAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEzcHg7YmFja2dyb3VuZDogI2YxZjFmMTtcclxuICAgICAgICAgICAgLmltZ3tmbG9hdDpsZWZ0O3dpZHRoOjI0MHB4O30gXHJcbiAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7d2lkdGg6MzE1cHg7bWFyZ2luOjM1cHggMCAwIDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBoNXtmb250LXNpemU6IDE5cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxMTE7bWFyZ2luOiAwIDAgNXB4IDA7fSAgXHJcbiAgICAgICAgICAgICAgICBoNntmb250LXNpemU6MTZweDtjb2xvcjokcmVkO21hcmdpbi1ib3R0b206IDEwcHg7fVxyXG4gICAgICAgICAgICAgICAgcHtjb2xvcjojMTExO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWNrLWRvdHN7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6LTMwcHg7cmlnaHQ6MzBweDtcclxuICAgICAgICAgICAgbGl7ZmxvYXQ6bGVmdDt9XHJcbiAgICAgICAgICAgIGJ1dHRvbntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQ0NDO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7ZmxvYXQ6bGVmdDtkaXNwbGF5OiBibG9jazt0ZXh0LWluZGVudDotOTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luOjAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MgbGluZWFyIGFsbCk7Y3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjokcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2xpY2stYWN0aXZlIGJ1dHRvbntiYWNrZ3JvdW5kOiAkcmVkO2JvcmRlci1jb2xvcjokcmVkO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmgtY29udGFjdHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbToxMTBweDtcclxuICAgICAgICAubGVmdHt3aWR0aDo2MDBweDtcclxuICAgICAgICAgICAgICAuYm94e1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87YmFja2dyb3VuZDogIzRmMDEwMTtjb2xvcjojRkZGO3BhZGRpbmc6MzBweCA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICBoNntmb250LXNpemU6MTZweDtmb250LXdlaWdodDogNzAwO21hcmdpbjowIDAgNXB4IDA7fVxyXG4gICAgICAgICAgICAgICAgICBwe21hcmdpbjogMDt9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICNob21lLW1hcHtoZWlnaHQ6IDUwMHB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0e1xyXG4gICAgICAgICAgICB3aWR0aDogNzA1cHg7XHJcbiAgICAgICAgICAgIHB7bWFyZ2luLWJvdHRvbTogNDBweDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNvbnRlbnQtc3Rke1xyXG4gICAgcGFkZGluZzoxMTVweCAwIDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjA7XHJcblx0XHQmLm5vLXNwYWNlLWJvdHRvbSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwOyBcclxuXHRcdH1cclxuXHJcbiAgICBoMntmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDogNTBweDttYXJnaW4tYm90dG9tOjEwcHg7Y29sb3I6IzExMTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6IDcwMDt9XHJcbiAgICBoM3tAZXh0ZW5kIGgyO2ZvbnQtc2l6ZTozMXB4O31cclxuICAgIHAuc3Vie2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O21hcmdpbi1ib3R0b206MzBweDt9XHJcbiAgICB1bCxvbCxcclxuICAgIHB7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAyNnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOiAyNXB4fVxyXG4gICAgLndyYXBwZXJ7d2lkdGg6IDEzNjBweDt9XHJcblxyXG4gICAgdWwgbGl7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgd2lkdGg6OHB4O2hlaWdodDogOHB4O2JhY2tncm91bmQ6ICRyZWQ7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDt0b3A6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbHtsaXN0LXN0eWxlOiBkZWNpbWFsO21hcmdpbjogMCAwIDAgMjBweH1cclxuICAgIC5kYXRlLWxpc3R7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206IDIwcHg7Y29sb3I6ICNjYzAwMDE7Zm9udC1zaXplOiAxNXB4O2xpbmUtaGVpZ2h0OiAyMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmFmdGVye2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiA1MCU7bGVmdDogMTAwJTtoZWlnaHQ6IDJweDt3aWR0aDogNDVweDtiYWNrZ3JvdW5kOiAjZTYwMDEyO21hcmdpbi10b3A6IC0zcHg7bWFyZ2luLWxlZnQ6IDEwcHg7fVxyXG4gICAgfVxyXG4gICAgLnRpdGxlLXJlbGF0ZWR7bWFyZ2luLWJvdHRvbTogNTBweDt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG5cclxuICAgICYuZmFxIHtwYWRkaW5nLXRvcDogMTgwcHg7fVxyXG5cclxuICAgICYuYWJvdXR7XHJcbiAgICAgICAgcGFkZGluZzoxNzBweCAwO1xyXG4gICAgICAgIGgye21hcmdpbi1ib3R0b206IDQwcHg7fVxyXG4gICAgICAgIC5pbm5lci1hYm91dHt3aWR0aDo2NjVweDt9XHJcbiAgICAgICAgLnNpZGUtaW1hZ2V7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvc2lkZS1hYm91dC5qcGcpIG5vLXJlcGVhdCA7d2lkdGg6Mzc4cHg7dG9wOjA7cmlnaHQ6MDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOmF1dG8gMTAwJSA7XHJcbiAgICAgICAgICAgIC5pbWd7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6NTMwcHg7aGVpZ2h0OjcyMHB4O3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6MDtib3R0b206MDttYXJnaW46YXV0bztsZWZ0Oi0yNjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpc3QtY29seyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBtYXJnaW46NTBweCAwIDAgMDtcclxuICAgICAgICAgICAgLmNvbHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjI4NXB4O2Zsb2F0OmxlZnQ7bWFyZ2luOjAgOTVweCA0MHB4IDA7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybil7bWFyZ2luLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpe2NsZWFyOiBib3RoO31cclxuICAgICAgICAgICAgICAgIGg1e2ZvbnQtc2l6ZToxOXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjokcmVkO21hcmdpbjowIDAgMTBweCAwO31cclxuICAgICAgICAgICAgICAgIHB7bWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LXByb2R7XHJcbiAgICAgICAgbWFyZ2luOjEwMHB4IDAgMCAwO1xyXG4gICAgICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG4gICAgICAgIC5ib3h7XHJcbiAgICAgICAgICAgIHdpZHRoOjM5NXB4O2Zsb2F0OmxlZnQ7bWFyZ2luOjAgNjVweCA1MHB4IDA7Y3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjQ0NDO2JvcmRlci10b3A6bm9uZTtwYWRkaW5nOjQwcHggMzBweCAzMHB4IDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMnt0ZXh0LXRyYW5zZm9ybTogbm9uZTtmb250LXNpemU6IDMxcHg7bGluZS1oZWlnaHQ6IDM1cHg7Zm9udC13ZWlnaHQ6IDMwMDttYXgtaGVpZ2h0OiAxMDVweDtvdmVyZmxvdzogaGlkZGVuO21hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4gICAgICAgICAgICBoNXtmb250LXNpemU6MzFweDtsaW5lLWhlaWdodDogMzVweDtmb250LXdlaWdodDozMDA7Y29sb3I6IzExMTttYXJnaW46MCAwIDEwcHggMDttYXgtaGVpZ2h0OiAxMDVweDtvdmVyZmxvdzogaGlkZGVuO31cclxuICAgICAgICAgICAgaDZ7Zm9udC1zaXplOjI1cHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojMDAwO21hcmdpbjowIDAgMjBweCAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgc3Bhbntmb250LXNpemU6MTZweDtmb250LXdlaWdodDozMDA7dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGg0IHtmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGxpbmUtaGVpZ2h0OiAyNnB4OyBtYXJnaW4tYm90dG9tOiAyMHB4O31cclxuICAgICAgICAgICAgcHttYXJnaW4tYm90dG9tOiAyMHB4OyBoZWlnaHQ6IDEwNHB4OyBvdmVyZmxvdzogaGlkZGVuO2NvbG9yOiAjNmY2ZTY4O21heC1oZWlnaHQ6IDc4cHg7b3ZlcmZsb3c6IGhpZGRlbjt9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKXttYXJnaW4tcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICAudGV4dCAuYnRuLXBsdXMgc3BhbntsZWZ0OjEwMCU7b3BhY2l0eTogMTsgbWFyZ2luLWxlZnQ6IDA7fVxyXG4gICAgICAgICAgICAudGV4dCAuYnRuLXBsdXN7d2lkdGg6IDA7fVxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgLnRleHQgLmJ0bi1wbHVzIHNwYW57YmFja2dyb3VuZDogJHJlZDsgY29sb3I6ICNmZmY7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm9tYXJndG9we21hcmdpbi10b3A6IDA7fVxyXG4gICAgICAgICYubmV3cyB7XHJcbiAgICAgICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgICAgICAgICAgICAgIGg0IHtoZWlnaHQ6IDUycHg7IG92ZXJmbG93OiBoaWRkZW47fVxyXG4gICAgICAgICAgICAgICAgLmJ0bi1wbHVzIHttYXJnaW4tYm90dG9tOiAtNTBweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb250ZW50LWRldGFpbHtcclxuICAgICAgICAud3JhcHBlcnt3aWR0aDo5MjBweDt9XHJcbiAgICAgICAgaHJ7Ym9yZGVyOm5vbmU7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7YmFja2dyb3VuZDogbm9uZTttYXJnaW46NzBweCAtOTVweDt9XHJcbiAgICAgICAgb2wsbGksXHJcbiAgICAgICAgcHtmb250LXNpemU6IDIwcHg7bGluZS1oZWlnaHQ6IDMwcHg7fVxyXG4gICAgICAgIC50aXRsZXtcclxuICAgICAgICAgICAgbWFyZ2luOjAgMCA1MHB4IDA7IFxyXG4gICAgICAgICAgICBzbWFsbHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgICYudGdsIHt0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgICAgIGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMCAxNXB4OyBmb250LXN0eWxlOiBub3JtYWw7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMnttYXJnaW4tdG9wOiAxNXB4fVxyXG4gICAgICAgICAgICBoNCB7Zm9udC1zaXplOiAyNnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNzAwO31cclxuICAgICAgICAgICAgJi5saXR0bGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmltYWdlLXNsaWRlciwuaW1hZ2UtY29udGVudHtcclxuICAgICAgICAgICAgbWFyZ2luOjAgLTk1cHggNjVweDtcclxuICAgICAgICAgICAgLnNsaWNrLWRvdHN7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOjIwcHg7dGV4dC1hbGlnbjogY2VudGVyO2xlZnQ6IDA7cmlnaHQ6IDA7bWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgbGl7ZGlzcGxheTogaW5saW5lLWJsb2NrO21hcmdpbjowIDVweDtwYWRkaW5nOiAwOyY6YWZ0ZXJ7ZGlzcGxheTpub25lO319XHJcbiAgICAgICAgICAgICAgICBidXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDogbm9uZTtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7Ym9yZGVyOjJweCBzb2xpZCAjYzhjOGM4O3dpZHRoOiAxMHB4O2hlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7dGV4dC1pbmRlbnQ6IC05OTk5cHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDApO2N1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye2JvcmRlci1jb2xvcjokcmVkO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zbGljay1hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9ue2JvcmRlci1jb2xvcjokcmVkO2JhY2tncm91bmQ6ICRyZWQ7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LWlucXVpcnl7XHJcbiAgICAgICAgICAgIG1hcmdpbjo4MHB4IC05NXB4IDA7cG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAudGV4dHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMzgwcHg7bGVmdDogOTVweDt0b3A6MzVweDtjb2xvcjojRkZGO1xyXG4gICAgICAgICAgICAgICAgc21hbGx7Zm9udC1zaXplOiAxM3B4fVxyXG4gICAgICAgICAgICAgICAgcHttYXJnaW46IDMwcHggMCAwIDt9XHJcbiAgICAgICAgICAgICAgICBoMntjb2xvcjojRkZGO21hcmdpbjowIDAgMTVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgc3Bhbntmb250LXNpemU6IDEzcHg7Zm9udC13ZWlnaHQ6IDQwMH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYnRuLWJvcmRlcixcclxuICAgICAgICAgICAgICAgIGEuYnRuLWJsb2Nre3dpZHRoOiAxNzVweDtwYWRkaW5nOjA7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjogY2VudGVyO21hcmdpbi1yaWdodDogMjBweH1cclxuICAgICAgICAgICAgICAgIGEuYnRuLWJsb2Nre21hcmdpbi1yaWdodDogMDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdi1zdWJ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToyMHB4O21hcmdpbjowIDAgOTVweCAwO1xyXG4gICAgICAgICAgICBhe2NvbG9yOiMzMzM7ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgJjpob3Zlcntjb2xvcjokcmVkO31cclxuICAgICAgICAgICAgICAmLmFjdGl2ZXtjb2xvcjokcmVkO2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6MXB4O2hlaWdodDogMjVweDtiYWNrZ3JvdW5kOiM4ODg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgMjVweDtib3R0b206LTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjbWFwLWxvY2F0aW9uLWRldHtoZWlnaHQ6IDUwMHB4O31cclxuICAgICAgICAubGlzdC1nYWxsZXJ5e1xyXG4gICAgICAgICAgICBtYXJnaW46MCAtOTVweDtcclxuICAgICAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtmbG9hdDpsZWZ0O3dpZHRoOjM1MHB4O2hlaWdodDozMDBweDttYXJnaW46IDAgMzBweCAzMHB4IDA7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgPiBpbWcge3dpZHRoOjEwMCU7QGluY2x1ZGUgdHJhbnNpdGlvbigkZWFzZSAwLjRzICBhbGwpOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyO31cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKXttYXJnaW4tcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OlwiXCI7QGV4dGVuZCAuYWJzb2x1dGUtY2VudGVyO2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9nYWxsZXJ5LWdyYWRpZW50LnBuZykgcmVwZWF0LXggYm90dG9tIGNlbnRlcjt6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDV7Zm9udC1zaXplOjIzcHg7Ym90dG9tOjI1cHg7bGVmdDoyNXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I0ZGRjt6LWluZGV4OiAxO31cclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1ne0BpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKX1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgJi5ub3BhZGR0b3B7cGFkZGluZy10b3A6IDA7fVxyXG4gICAgJi5ub3BhZGRib3R7cGFkZGluZy1ib3R0b206IDA7fVxyXG4gICAgLmxpc3QtbG9jYXRpb257XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAuYm94e1xyXG4gICAgICAgICAgICBtYXJnaW46MCAwIDMwcHggMDtib3JkZXI6MXB4IHNvbGlkICNDQ0M7XHJcbiAgICAgICAgICAgIC5pbWd7ZmxvYXQ6IGxlZnQ7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6IGhpZGRlbjt3aWR0aDogNzYwcHg7XHJcbiAgICAgICAgICAgICAgICAgaW1ne2Rpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGV4dHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O3BhZGRpbmc6IDUwcHggNjBweCAwO0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTt3aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgICAgICBoNHtmb250LXNpemU6IDMxcHg7bWFyZ2luOjAgMCAxNXB4IDt9XHJcbiAgICAgICAgICAgICAgICBzbWFsbHtmb250LXNpemU6IDE2cHg7ZGlzcGxheTogYmxvY2s7bWFyZ2luLWJvdHRvbTogMTVweDt9XHJcbiAgICAgICAgICAgICAgICBwe21hcmdpbi1ib3R0b206IDIwcHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJveC1jb250YWN0e1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgI0NDQzttYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG4gICAgICAgIC5sZWZ0e1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3ODZweDt3aWR0aDogNTA1cHg7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jb250ZW50L2JnLWNvbnRhY3QuanBnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO3BhZGRpbmc6IDcwcHggNTBweDtjb2xvcjogI0ZGRjtcclxuICAgICAgICAgICAgaDR7Zm9udC1zaXplOiAzMXB4O21hcmdpbjowIDAgMTVweCAwO31cclxuICAgICAgICAgICAgc21hbGx7ZGlzcGxheTogYmxvY2s7bWFyZ2luOjAgMCAxMHB4IDA7Zm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAmOmFmdGVye2NvbnRlbnQ6XCJcIjtkaXNwbGF5OiBibG9jazt3aWR0aDogNTBweDtoZWlnaHQ6IDJweDtiYWNrZ3JvdW5kOiRyZWQ7bWFyZ2luOiAyMHB4IDA7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHB7Zm9udC1zaXplOiAyMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgIHNwYW57ZGlzcGxheTogYmxvY2s7bWFyZ2luLWJvdHRvbTogMTBweDt9XHJcbiAgICAgICAgICAgICAgYXtjb2xvcjojRkZGO31cclxuICAgICAgICAgICAgICBie3BhZGRpbmctcmlnaHQ6IDVweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0e1xyXG4gICAgICAgICAgICB3aWR0aDogNjk1cHg7ZmxvYXQ6IGxlZnQ7cGFkZGluZzo2NXB4IDAgMCA5NXB4O1xyXG4gICAgICAgICAgICBoM3tmb250LXNpemU6IDMwcHg7Zm9udC13ZWlnaHQ6IDcwMDtjb2xvcjojMTExO21hcmdpbi1ib3R0b206IDIwcHg7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlLXR5cGV7XHJcbiAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgd2lkdGg6IDMyMHB4O2Zsb2F0OmxlZnQ7Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO21hcmdpbjowIDIzcHggNDVweCAwO1xyXG4gICAgICAgICAgICBoNXtmb250LXNpemU6MjBweDtmb250LXdlaWdodDogNjAwO21hcmdpbjoxMHB4IDAgMCA7dGV4dC10cmFuc2Zvcm06IG5vbmU7IGxpbmUtaGVpZ2h0OiAyNXB4OyBwYWRkaW5nOiAwIDZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDt9XHJcbiAgICAgICAgICAgIHNtYWxse2ZvbnQtc2l6ZTogMTZweDtkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgICAgIC5oZWFke1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjEzNXB4O2JhY2tncm91bmQ6IzcxOTQ3OTtjb2xvcjojRkZGO3BhZGRpbmc6NDBweCAzNXB4IDA7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO21hcmdpbjotMXB4IC0xcHggMzVweDtcclxuICAgICAgICAgICAgICAgIGg0e2ZvbnQtc2l6ZTogMzFweDttYXJnaW46MCAwIDVweCAwO2ZvbnQtd2VpZ2h0OjMwMDt9XHJcbiAgICAgICAgICAgICAgICBzbWFsbHt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1ib3h7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7bWFyZ2luOjAgMCAzNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvb3R7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmMGYwZjA7cGFkZGluZzoyNXB4IDA7dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKXttYXJnaW4tcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICAmLnR5cGUtMntcclxuICAgICAgICAgICAgICAgIC5oZWFke2JhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvZ3JhZGllbnQtMS5qcGcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnR5cGUtM3tcclxuICAgICAgICAgICAgICAgIC5oZWFke2JhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvZ3JhZGllbnQtMi5qcGcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnR5cGUtNHtcclxuICAgICAgICAgICAgICAgIC5oZWFke2JhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvZ3JhZGllbnQtMy5qcGcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgIH1cclxuXHJcbiAgICAuc3RkLXRhYmxle1xyXG4gICAgICAgIHdpZHRoOjEwMCU7bWFyZ2luOjAgMCA4NXB4IDA7XHJcbiAgICAgICAgdGgsdGR7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtib3JkZXI6MXB4IHNvbGlkICNDQ0M7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OiAzMHB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgc3Bhbi5idWxsZXR7ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6ICRyZWQ7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO31cclxuXHJcbiAgICAgICAgdGhlYWR7XHJcbiAgICAgICAgICAgIHRoe3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiMzMzM7IGZvbnQtc2l6ZToxNnB4O2NvbG9yOiNGRkY7Zm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OiAyMHB4O2NvbG9yOiNjY2M7ZGlzcGxheTogYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjo1cHggMCAwIDA7ICBcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5e1xyXG4gICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7dGV4dC1hbGlnbjogY2VudGVyO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cjpudGgtY2hpbGQoZXZlbil7XHJcbiAgICAgICAgICAgICAgICB0ZCB7YmFja2dyb3VuZDogI2VhZWFlYTt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mYWNpbGl0eXtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHt3aWR0aDogMTMwcHg7IHRleHQtYWxpZ246IGxlZnQ7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBoNSB7Zm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiA1cHg7fVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge2ZvbnQtc2l6ZTogMTRweDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcF90Ymwge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIC5zdGQtdGFibGV7XHJcbiAgICAgICAgICAgICYuZmFjaWxpdHkge3dpZHRoOiAxMjAwcHg7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdXBwb3J0LWZhY2lsaXR5e1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgLmxlZnR7XHJcbiAgICAgICAgICAgIHdpZHRoOjc2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHR7XHJcbiAgICAgICAgICAgIHdpZHRoOjU1NXB4O2JvcmRlcjoxcHggc29saWQgI0NDQztAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7cGFkZGluZzo0NXB4O1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICYubnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge2Rpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuXHJcbiAgICB9XHJcbiAgICAuaGVhZC1sb2d7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogNTBweDsgY29sb3I6ICNiOGI4Yjg7IGZvbnQtd2VpZ2h0OiBib2xkOyBAaW5jbHVkZSB0cmFuc2l0aW9uKCRlYXNlIDAuMXMgIGFsbCk7XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvcmRlci1ib3R0b206ICAxcHggc29saWQgI2I4YjhiODsgQGluY2x1ZGUgdHJhbnNpdGlvbigkZWFzZSAwLjRzICBhbGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4NzAwMDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oJGVhc2UgMC4xcyAgYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogIDJweCBzb2xpZCAjODcwMDAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKCRlYXNlIDAuNHMgIGFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbntcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNDQ0M7bWFyZ2luOi0xcHggMCAwcHggMDtcclxuICAgICAgICAuaC1hY2N7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDO3BhZGRpbmc6MjVweCA4MHB4IDI1cHggNjBweDtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46LTFweDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMTVzIGxpbmVhciBhbGwpO1xyXG4gICAgICAgICAgICBoNXtmb250LXNpemU6MjBweDtmb250LXdlaWdodDpib2xkO21hcmdpbjowIDAgOHB4IDA7fVxyXG4gICAgICAgICAgICBzbWFsbHtmb250LXNpemU6MTZweDt9XHJcbiAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7YmFja2dyb3VuZDogI2ZmNzIwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDoyMHB4O21hcmdpbjphdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OlwiXCI7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYWNjLWFyci5wbmcpIG5vLXJlcGVhdCB0b3A7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtyaWdodDo0MHB4O2JvdHRvbTogMDttYXJnaW46YXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4xNXMgbGluZWFyIGFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtYWNje1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDY1cHg7ZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICBoNntmb250LXNpemU6MjBweDtjb2xvcjokcmVkO2ZvbnQtd2VpZ2h0OiBib2xkO21hcmdpbjowIDAgMTVweCA7fVxyXG4gICAgICAgICAgICBhLmJ0bi1ibG9jay5yZWQtYnRue1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7YmFja2dyb3VuZDogI2ZmNzIwMDt9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIGxpLG9sIGxpLCBwe2ZvbnQtc2l6ZTogMTZweDtsaW5lLWhlaWdodDogMjZweDt9XHJcbiAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICAgICAgJi5leHBhbmR7XHJcbiAgICAgICAgICAgIC5oLWFjY3tcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZjcyMDA7Y29sb3I6I0ZGRjtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcC1hY2N7bWFyZ2luLXRvcDogODBweDt9XHJcblxyXG4gICAgLnNlcnZpY2Utcm9vbS1saXN0e1xyXG4gICAgICAgIG1hcmdpbjo2NXB4IC05NXB4ICA7XHJcbiAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgcGFkZGluZzo1MHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgI0NDQztcclxuICAgICAgICAgICAgc21hbGx7Zm9udC1zaXplOiAxM3B4O2Rpc3BsYXk6IGJsb2NrO21hcmdpbjowIDAgMTBweCAwO31cclxuICAgICAgICAgICAgaDJ7bWFyZ2luLWJvdHRvbTogMzBweDt9XHJcbiAgICAgICAgICAgIC5pbWd7ZmxvYXQ6IGxlZnQ7d2lkdGg6MzQwcHg7cG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgLnByaWNlLXRleHR7cG9zaXRpb246IGFic29sdXRlO2JvdHRvbTozMHB4O2xlZnQ6MjBweDtjb2xvcjojRkZGOyB6LWluZGV4OiAyO31cclxuICAgICAgICAgICAgICAgICBzbWFsbHttYXJnaW4tYm90dG9tOiAwO2ZvbnQtc2l6ZTogMjBweDt9XHJcbiAgICAgICAgICAgICAgICAgaDV7Zm9udC1zaXplOiAzM3B4O2ZvbnQtd2VpZ2h0OmJvbGQ7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTttYXJnaW4tYm90dG9tOiAzcHg7fVxyXG4gICAgICAgICAgICAgICAgICY6YWZ0ZXIge3otaW5kZXg6MTtjb250ZW50OiAnJzsgZGlzcGxheTogYmxvY2s7YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjM1KTtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDtyaWdodDogMDt0b3A6IDA7Ym90dG9tOiAwO31cclxuICAgICAgICAgICAgICAgID4gaW1nIHtkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHR7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O3dpZHRoOjQ0NXB4O21hcmdpbi1sZWZ0OiAzOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC53cmFwLWJ0bntcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgICAgIC5idG4tYm9yZGVyLC5idG4tYmxvY2sse3dpZHRoOjE5MHB4O3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tYm90dG9tOiAxMHB4O30gICAgICBcclxuICAgICAgICAgICAgICAgIC5idG4tYm9yZGVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjokb3JhbmdlO2NvbG9yOiRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntiYWNrZ3JvdW5kOiAkcmVkO2NvbG9yOiNGRkY7Ym9yZGVyLWNvbG9yOiRyZWQ7fSAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYubm8taG92ZXJ7Ym9yZGVyLWNvbG9yOiRvcmFuZ2U7Y29sb3I6JG9yYW5nZTsgYmFja2dyb3VuZDogI2ZmZjt9ICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5idG4tYmxvY2t7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5yZWQtYnRue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm5vLWhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye2JhY2tncm91bmQ6ICRvcmFuZ2U7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ1eS1zdGVwe1xyXG4gICAgICAgIC53cmFwcGVye1xyXG4gICAgICAgICAgICB3aWR0aDoxMTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZXttYXgtd2lkdGg6NzkwcHh9XHJcbiAgICAgICAgLmNvbC1vcHRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1MHB4IDA7IGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgbGFiZWwge2Rpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgMCAyMnB4IDA7fSAgXHJcbiAgICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgXHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtcmFkaW8geyBcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtc2l6ZTogMjBweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgY3Vyc29yOiBwb2ludGVyOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTZweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY28tcmFkaW8ucG5nJykgbm8tcmVwZWF0IDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IG1hcmdpbi1yaWdodDogMTBweDsgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAtMTZweDsgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtwYWRkaW5nOiAwIDAgMCAyNXB4OyBkaXNwbGF5OiBibG9jazsgbGluZS1oZWlnaHQ6IDE4cHg7fSAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi5zcGFjZSB7bWFyZ2luLXJpZ2h0OiAzMHB4O31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAud3JhcC1zdGVwe1xyXG4gICAgICAgICAgICBtYXJnaW46MCAwIDEzMHB4O1xyXG4gICAgICAgICAgICAuYm94e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6Mjc3LjVweDtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLmljb3t3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2JhY2tncm91bmQ6I2UxZTFlMTttYXJnaW46YXV0bztwb3NpdGlvbjogcmVsYXRpdmU7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtcclxuICAgICAgICAgICAgICAgICAgICAgc3BhbntkaXNwbGF5OiBibG9jazt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGg2e2ZvbnQtc2l6ZToxOXB4O2xpbmUtaGVpZ2h0OiAyNHB4O2NvbG9yOiM5OTk7dGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6MCA1MHB4O21hcmdpbjozNXB4IDAgMCAwO31cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6N3B4O2JhY2tncm91bmQ6ICNlMWUxZTE7Y29udGVudDonJzt0b3A6MzdweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZDphZnRlcntkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIC5pY297QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMykpfVxyXG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZXtcclxuICAgICAgICAgICAgICAgICAgICAuaWNve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2JnLWJ0bi5qcGcpIHJlcGVhdC14O2JhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlIDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbntiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyICFpbXBvcnRhbnQ7IH0gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHJlZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4tbmV4dHtcclxuICAgICAgICAgICAgbWFyZ2luOjYwcHggMCAwIDAgO1xyXG4gICAgICAgICAgICAuYnRuLWJsb2Nre1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MjgwcHg7cGFkZGluZzowO1xyXG4gICAgICAgICAgICAgICAgJi5ncmV5LWJ0bntcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWY5ZjlmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtZm9ybXtcclxuICAgICAgICAgICAgd2lkdGg6NzMwcHg7IG1hcmdpbi10b3A6MTIwcHg7XHJcbiAgICAgICAgICAgIC5jb2x7d2lkdGg6MzQycHg7IHBvc2l0aW9uOiByZWxhdGl2ZTt9XHJcbiAgICAgICAgICAgIC5yb3cuZC1zaWduYXR1cmV7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAwIDcwcHggMDtcclxuICAgICAgICAgICAgICAgIGxhYmVse2NvbG9yOiMxMTE7bWFyZ2luLWJvdHRvbTogMjBweH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dFtyZWFkb25seV17Ym9yZGVyOm5vbmU7fVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnRfb3JkZXIge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtjb250ZW50OiAnJzsgZGlzcGxheTogYmxvY2s7IGNsZWFyOiBib3RoO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxlZnQtY29udGVudHtcclxuICAgICAgICAgICAgd2lkdGg6NzkwcHg7XHJcbiAgICAgICAgICAgIGgze1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjg1cHggMCA0NXB4IDA7Zm9udC1zaXplOjIzcHg7cGFkZGluZzowIDAgMCAyMHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO3dpZHRoOjZweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kOiAjODUwMjAyO3Bvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke21hcmdpbi10b3A6IDA7fVxyXG4gICAgICAgICAgICAgICAgLyomOm50aC1jaGlsZCgzbil7bWFyZ2luLXRvcDogMDt9ICAqL1xyXG4gICAgICAgICAgICB9ICAgICAgICAgIFxyXG4gICAgICAgICAgICAuYm94LWZvcm17bWFyZ2luOjA7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHQtY29udGVudHtcclxuICAgICAgICAgICAgd2lkdGg6MjcwcHg7XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICAgICAgICAgICAgLmJveCB7cGFkZGluZzogMTJweCAxNXB4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLmJveC1yZWR7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzliMDEwMTtjb2xvcjojRkZGO1xyXG4gICAgICAgICAgICBoNXtmb250LXNpemU6MTlweDtjb2xvcjojRkZGO3BhZGRpbmc6MTVweCAxMHB4IDEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2FhMDUwNzt0ZXh0LWFsaWduOiBjZW50ZXI7fSBcclxuICAgICAgICAgICAgaDZ7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bWFyZ2luOjAgMCAyMHB4IDt9XHJcbiAgICAgICAgICAgIC5ib3h7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjMwcHggMTVweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYWEwNTA3O1xyXG4gICAgICAgICAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICAgICAgICAgICAgICAubGVmdHt3aWR0aDo0NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7bGluZS1oZWlnaHQ6MThweDtcclxuICAgICAgICAgICAgICAgICAgICAgIHNtYWxse2ZvbnQtc2l6ZToxMXB4O2Rpc3BsYXk6IGJsb2NrO21hcmdpbi10b3A6IDNweH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5yaWdodHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDo1NSU7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6Ym9sZDt0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIHNtYWxse2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweCAwIDAgMDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7Ym9yZGVyOm5vbmU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhYmxle1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweDtcclxuICAgICAgICAgICAgICAgIHRkOm50aC1jaGlsZCgyKXtwYWRkaW5nOjAgMTBweH0gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXQtaW5mb3tcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MjBweCAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBzbWFsbHtmb250LXNpemU6MTRweDt9XHJcbiAgICAgICAgICAgICAgICBoM3tmb250LXNpemU6MzNweDtjb2xvcjojRkZGO21hcmdpbjoxMHB4IDAgMCAwO2xpbmUtaGVpZ2h0OjI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICBzcGFue2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNDAwO3RleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5xdHl7XHJcbiAgICAgICAgICAgICAgICAgICAgaDIgc3Bhbntmb250LXdlaWdodDogYm9sZDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKXtcclxuICAgICAgICAgICAgICAgIC5ib3gge3BhZGRpbmc6IDEycHggMTVweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi50b3RhbCB7XHJcbiAgICAgICAgICAgICAgICAuYm94IHtwYWRkaW5nOiAxMnB4IDE1cHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtcmVkLmdyZXktdHlwZXtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtjb2xvcjojMTExO2JhY2tncm91bmQ6I2ViZWJlYjtcclxuICAgICAgICAgICAgaDV7Y29sb3I6IzExMTtib3JkZXItY29sb3I6I2RjZGNkYzt9XHJcbiAgICAgICAgICAgIC5ib3h7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2RjZGNkYzsgcGFkZGluZzogMzBweCAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3d7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MTRweDttYXJnaW46MCAwIDIwcHggMDtsaW5lLWhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbntkaXNwbGF5OmJsb2NrO2NvbG9yOiM4ODg4ODg7bWFyZ2luLWJvdHRvbTozcHh9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wYXNhbHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo4MHB4O1xyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgYntmb250LXdlaWdodDogYm9sZDtjb2xvcjojMTExO2Rpc3BsYXk6IGJsb2NrO21hcmdpbjowIDAgM3B4IDA7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9sLHVse21hcmdpbi1sZWZ0OiAzMHB4O31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wYXltZW50LW9wdGlvbntcclxuICAgICAgICAgICAgbWFyZ2luOjAgMCAxMDVweCAwO1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MzUwcHg7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTk1cHg7Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDoyNXB4O0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBsaW5lYXIgYWxsKTsgXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgICAgIHNwYW4uaWNve0BleHRlbmQgLmFic29sdXRlLWNlbnRlcjt3aWR0aDo5MHB4O2hlaWdodDo2MHB4O2JhY2tncm91bmQtcG9zaXRpb246dG9wIGNlbnRlciAhaW1wb3J0YW50O3RvcDo0OHB4O2JvdHRvbTphdXRvO31cclxuICAgICAgICAgICAgICAgIHNwYW4udGV4dHtwb3NpdGlvbjogYWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE5cHg7Y29sb3I6I2IyYjJiMjtib3R0b206NDVweDt3aWR0aDoxMDAlO31cclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7Ym9yZGVyLWNvbG9yOiRvcmFuZ2U7fVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiRvcmFuZ2U7YmFja2dyb3VuZDokb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4uaWNve2JhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXIgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi50ZXh0e2NvbG9yOiNGRkY7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGFiZWx7QGV4dGVuZCAuYWJzb2x1dGUtY2VudGVyO2N1cnNvcjpwb2ludGVyO31cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXltZW50LWRldGFpbHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICBwe2ZvbnQtc2l6ZTogMjBweDtsaW5lLWhlaWdodDogMzBweH1cclxuICAgICAgICAgICAgLmJveC1pbm5lcntcclxuICAgICAgICAgICAgICAgIG1hcmdpbjo2MHB4IDAgNjBweCA2NXB4O1xyXG4gICAgICAgICAgICAgICAgaW1ne21hcmdpbi1ib3R0b206IDEwcHh9XHJcbiAgICAgICAgICAgICAgICB0YWJsZSxcclxuICAgICAgICAgICAgICAgIHB7Zm9udC1zaXplOiAxOHB4O2xpbmUtaGVpZ2h0OiAyNXB4O2ZvbnQtd2VpZ2h0OjYwMH1cclxuICAgICAgICAgICAgICAgIHRhYmxle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGQ6bnRoLWNoaWxkKDIpe3BhZGRpbmc6IDAgMjBweH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGJsLXN0ZHtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO1xyXG4gICAgICAgIGg2e2ZvbnQtc2l6ZToxOXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6IzExMTttYXJnaW4tYm90dG9tOiAxMHB4O31cclxuICAgICAgICBwe2ZvbnQtc2l6ZTogMTZweDtsaW5lLWhlaWdodDogMjBweDt9XHJcbiAgICAgICAgaXtkaXNwbGF5OiBibG9jaztwYWRkaW5nOiA1cHggMCAwIDIwcHg7fVxyXG4gICAgICAgIGEuZGVsZXRle1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6NDBweDtoZWlnaHQ6MzBweDtiYWNrZ3JvdW5kOiM5ZjlmOWYgdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9kZWxldGUtaWNvLnBuZykgbm8tcmVwZWF0IGNlbnRlcjt0ZXh0LWluZGVudDotOTk5OXB4O1xyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokb3JhbmdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoZWFke1xyXG4gICAgICAgICAgICB0cntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2UxZTFlMTtcclxuICAgICAgICAgICAgICAgIHRoe2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTZweDtwYWRkaW5nOjE1cHggMjBweDt9XHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHl7XHJcbiAgICAgICAgICAgIHRye1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0ZHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWZlZmVmO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MzBweCAxNXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzozMHB4O21heC13aWR0aDogMjg1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6OHB4IHNvbGlkICM4NTAyMDI7Y29udGVudDpcIlwiO0BleHRlbmQgLmFic29sdXRlLWNlbnRlcjt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHt9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB0ZHtib3JkZXItdG9wOm5vbmU7fVxyXG4gICAgICAgICAgICAgICAgJi5zcGFjZSB0ZHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtwYWRkaW5nOiAwO2hlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7ZGlzcGxheTogbm9uZTt9ICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRhYmxlLWhpc3Rvcnl7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdGR7cGFkZGluZzoyMHB4IDEycHg7Zm9udC1zaXplOjE2cHg7XHJcbiAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7Y3Vyc29yOiBwb2ludGVyO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhe3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lfVxyXG4gICAgICAgICAgICAuYnRuLWJsb2Nre1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MTM1cHg7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6IDQycHg7Zm9udC1zaXplOjE0cHg7dGV4dC1kZWNvcmF0aW9uOiBub25lO3BhZGRpbmc6MDtcclxuICAgICAgICAgICAgICAgICYucmVkLWJ0bntiYWNrZ3JvdW5kOiAkcmVkO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb3VudGVyLW51bXtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2MHB4OyBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBpbnB1dHtoZWlnaHQ6IDMwcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMzBweCAwIDEwcHg7Zm9udC1zaXplOjE2cHg7Y29sb3I6IzExMTtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7fVxyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDoyMHB4O2hlaWdodDoxMy41cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICNDQ0M7Y3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC91cGRvd24taWNvLnBuZykgbm8tcmVwZWF0O2NvbnRlbnQ6IFwiXCI7d2lkdGg6OHB4O2hlaWdodDo1cHg7QGV4dGVuZCAuYWJzb2x1dGUtY2VudGVyO31cclxuICAgICAgICAgICAgJi5kb3due1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOjA7dG9wOmF1dG87XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm94LXJlZ2lzdGVye1xyXG4gICAgICAgIHdpZHRoOjExMTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNDQ0M7bWFyZ2luOjYwcHggYXV0bztcclxuICAgICAgICBhe2ZvbnQtc2l6ZTogMTNweDt9XHJcbiAgICAgICAgLmxlZnR7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmFic29sdXRlLWNlbnRlcjtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbnRlbnQvcmVnaXN0ZXIuanBnKSBuby1yZXBlYXQ7d2lkdGg6NDIwcHg7aGVpZ2h0OjEwMCU7bGVmdDowO3JpZ2h0OmF1dG87XHJcbiAgICAgICAgICAgIGltZ3tAZXh0ZW5kIC5hYnNvbHV0ZS1jZW50ZXI7fVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOjYwcHggOTVweDtmbG9hdDpyaWdodDttYXJnaW46MCAwIDAgNDIwcHg7d2lkdGg6NTA1cHg7XHJcbiAgICAgICAgICAgIC5yb3ctYnRue1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDt0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC5idG4tYmxvY2t7d2lkdGg6MTAwJTttYXJnaW46MCAwIDEwcHggMDt9XHJcbiAgICAgICAgICAgICAgICBhe2NvbG9yOiRyZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ib3gtZm9ybXtcclxuICAgICAgICAgICAgICAgIC5jb2x7d2lkdGg6IDUwJTttYXJnaW46MDt9XHJcbiAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7bWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlcntAZXh0ZW5kIC5hZnRlcl9jbGVhcjt9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaC1wYWdle1xyXG4gICAgICAgIHdpZHRoOiA3MzBweDttYXJnaW46NzBweCBhdXRvIDYwcHg7XHJcbiAgICAgICAgLnRpdGxle21hcmdpbi1ib3R0b206IDgwcHg7fVxyXG4gICAgICAgIC5saXN0LXNlYXJjaHtcclxuICAgICAgICAgICAgLmJveHtcclxuICAgICAgICAgICAgICAgIGg2e2ZvbnQtc2l6ZTogMjNweDttYXJnaW4tYm90dG9tOiAxNXB4O31cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjQwcHg7bWFyZ2luLWJvdHRvbTo0MHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNDQ0M7XHJcbiAgICAgICAgICAgICAgICBwe21hcmdpbjogMDt9XHJcbiAgICAgICAgICAgICAgICBhe2NvbG9yOiMxMTE7fVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICBoNntjb2xvcjokcmVkO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjb3VudC1wYWdle1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDg5dmg7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgICAud3JhcHBlcnttYXJnaW46NjBweCBhdXRvIDEwMHB4O31cclxuICAgICAgICAudGl0bGV7bWFyZ2luLWJvdHRvbTogNjBweH1cclxuICAgICAgICAudGFibGUtaGlzdG9yeXttYXJnaW4tYm90dG9tOiA2MHB4fVxyXG4gICAgfVxyXG4gICAgJi5mYXEge1xyXG4gICAgICAgIC53cmFwX2Jsb2NrIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcbiAgICAgICAgICAgIC5sZWZ0X3RleHQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyOCU7IFxyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTclIDVweCAzMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonJzsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA1cHg7IGJhY2tncm91bmQ6ICM4NTAyMDI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yaWdodF90ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgICAgIC53cmFwLWFjYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbiAuaC1hY2MgaDUge21hcmdpbi1ib3R0b206IDA7fVxyXG4gICAgfSAgICBcclxuICAgICY6YWZ0ZXJ7QGV4dGVuZCAuYWZ0ZXJfY2xlYXI7fVxyXG59XHJcbi5vcHQtY2hlY2tib3gge1xyXG4gICAgJjphZnRlciB7QGV4dGVuZCAuYWZ0ZXJfY2xlYXJ9ICAgICBcclxuICAgIC5pdGVtIHtcclxuICAgICAgICBmbG9hdDogbGVmdDsgbWFyZ2luOiAwIDI1cHggMCAwOyBcclxuICAgICAgICAmLmNvbC00IHt3aWR0aDogMjMlOyBtYXJnaW4tcmlnaHQ6IDIuNSU7fSBcclxuICAgICAgICAmOmxhc3QtY2hpbGQge21hcmdpbi1yaWdodDowO30gXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTsgaGVpZ2h0OiBhdXRvOyBjb2xvcjogIzY2NjsgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMjBweCAzMHB4OyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGxlZnQ6IDA7IHBhZGRpbmc6IDA7IGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7IHRvcDogMDsgXHJcbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNvbi1jaGVjay1sZy5wbmcnKSBuby1yZXBlYXQgMTAyJSAxMDIlOyBcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM4NTAyMDI7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O2ZvbnQtd2VpZ2h0OiBub3JtYWw7Zm9udC1zdHlsZTogbm9ybWFsO2ZvbnQtc3RyZXRjaDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDt0ZXh0LWFsaWduOiBjZW50ZXI7Y29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsLmVycm9yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC0yNHB4OyBwYWRkaW5nOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1kIHtcclxuICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDM1cHg7IFxyXG4gICAgICAgICAgICAgICAgbGFiZWwuZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG4udGFnZyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIC5sYmwge2ZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDEwcHg7fVxyXG4gICAgdWx7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiAwIDVweCA1cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjphZnRlciB7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICM2NjY7IGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwNXB4OyBvdmVyZmxvdzogaGlkZGVuOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgdGV4dC1hbGlnbjogY2VudGVyOyBtaW4td2lkdGg6IDgwcHg7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygzcHgpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4ycyk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4ycyk7IGJhY2tncm91bmQ6ICNjY2M7IGNvbG9yOiAjZmZmO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRoYW5rcy1wYWdle1xyXG4gICAgd2lkdGg6MTExMHB4O2JvcmRlcjoxcHggc29saWQgI0NDQzttYXJnaW46MzAwcHggYXV0byAyMDBweDtcclxuICAgIC5pY297XHJcbiAgICAgICAgd2lkdGg6MjQwcHg7aGVpZ2h0OiAyNDBweDtib3JkZXI6NHB4IHNvbGlkICMwMDk1MzI7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO21hcmdpbjotMTIzcHggYXV0byAwO2JhY2tncm91bmQ6ICNGRkY7cG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgLmljby0xe3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6MDtyaWdodDotNzVweDt9IFxyXG4gICAgICAgIC5pY28tMntAZXh0ZW5kIC5hYnNvbHV0ZS1jZW50ZXI7fVxyXG4gICAgfVxyXG4gICAgLnRleHR7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHg7dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGg1e2ZvbnQtc2l6ZTogNDBweDtmb250LXdlaWdodDogYm9sZDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luOjAgMCA0MHB4IDA7fVxyXG4gICAgICAgIHB7Zm9udC1zaXplOiAyM3B4O2xpbmUtaGVpZ2h0OiAzMHB4O31cclxuICAgIH1cclxuICAgIC53cmFwLWJ0bntcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIGF7bWFyZ2luLWJvdHRvbToxMHB4O30gICAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5wZ180MDQge1xyXG4gICAgbWFyZ2luOiAyNDBweCBhdXRvIDEwMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDU1dmg7XHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgd2lkdGg6IDcwMHB4OyBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBoNSB7Zm9udC1zaXplOiA0MHB4OyBsaW5lLWhlaWdodDogNTBweDsgbWFyZ2luOiA2MHB4IDAgMzBweDt9XHJcbiAgICAgICAgcCB7Zm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMzBweDt9XHJcbiAgICAgICAgLmJrX2luZGV4IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNmZjcyMDA7IG1hcmdpbi10b3A6IDQwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgJjpob3ZlciB7Y29sb3I6ICNkMzFmMjI7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbmlucHV0W3R5cGU9bnVtYmVyXXtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UodGV4dGZpZWxkKTtcclxufVxyXG5cclxuLmJveC1mb3Jte1xyXG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcclxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdLFxyXG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXHJcbiAgICBzZWxlY3QsXHJcbiAgICB0ZXh0YXJlYSxcclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxle1xyXG4gICAgICAgIGJvcmRlcjpub25lO2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQ0NDO2hlaWdodDogYXV0bztwYWRkaW5nOjAgMCA1cHggMDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgbGluZWFyIGFsbCk7d2lkdGg6MTAwJTtmb250LXNpemU6MTZweDtjb2xvcjojMTExO1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwKTtcclxuICAgICAgICAmOmZvY3Vze2JvcmRlci1ib3R0b20tY29sb3I6ICM0ZjAxMDE7fVxyXG4gICAgICAgICYubWluLW9yZGVye1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogNTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzZWxlY3R7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2Fyci1zZWxlY3QucG5nKSBuby1yZXBlYXQgcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXJ7Y29sb3I6IzExMTt9XHJcbiAgICAuZGF0ZXtcclxuICAgICAgICBpbnB1dHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2RhdGUtaWNvLnBuZykgbm8tcmVwZWF0IHJpZ2h0IDNweDt9XHJcbiAgICB9XHJcbiAgICBsYWJlbHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztmb250LXNpemU6MTZweDtjb2xvcjojNjY2O21hcmdpbjowIDAgMTBweCAwO1xyXG4gICAgICAgICYuYmhuLXRleHR7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MCUpOyBsZWZ0OiAwO3otaW5kZXg6IDk7fVxyXG4gICAgfVxyXG4gICAgLnJvd3tcclxuICAgICAgICBtYXJnaW46MCAwIDM1cHggMDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5jb2x7XHJcbiAgICAgICAgICAgIHdpZHRoOjMyNXB4O2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OiA0NXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKXttYXJnaW4tcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICAmLmRvd24tcGF5e21hcmdpbi10b3A6IDMwcHg7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVye0BleHRlbmQgLmFmdGVyX2NsZWFyO31cclxuICAgIH1cclxuICAgIC5yb3cuY29sLTN7XHJcbiAgICAgICAgLmNvbHt3aWR0aDoyMzBweDttYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbil7bWFyZ2luLXJpZ2h0OiAwO31cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGl7cGFkZGluZzogMDtcclxuICAgICAgICY6YWZ0ZXJ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2V7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygwKTtiYWNrZ3JvdW5kOiNlMWUxZTE7Zm9udC1zaXplOjE2cHg7Ym9yZGVyOm5vbmU7cGFkZGluZzo1cHggNTBweCA0cHggMTVweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6MTBweDtcclxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZXtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2Nsb3NlLWljby5wbmcpIG5vLXJlcGVhdDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDowO2JvdHRvbTowO21hcmdpbjphdXRvO3RleHQtaW5kZW50OiAtOTk5OTlweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke3BhZGRpbmc6IDA7fVxyXG4gICAgfVxyXG4gICAgLmNoZWNrYm94e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtjb2xvcjojMTExO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAwIDAgMjJweDsgbGluZS1oZWlnaHQ6IDE0cHg7IGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hde0BpbmNsdWRlIGFwcGVhcmFuY2UoY2hlY2tib3gpO3Bvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OjA7dG9wOi0xcHg7IHBhZGRpbmc6IDA7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7fVxyXG5cclxuICAgIH1cclxuICAgIC5pbnB1dF9maWxlIHtcclxuICAgICAgICBib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOiAycHggc29saWQgI0NDQztoZWlnaHQ6IGF1dG87cGFkZGluZzowIDAgNXB4IDA7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGxpbmVhciBhbGwpO3dpZHRoOjEwMCU7Zm9udC1zaXplOjE2cHg7Y29sb3I6IzExMTtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCk7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19maWxlLnBuZycpIG5vLXJlcGVhdCA5NyUgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge3dpZHRoOiAxMDAlOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDAgMCA1cHg7fVxyXG4gICAgfVxyXG4gICAgaS5rZXQge2ZvbnQtc2l6ZTogMTNweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDVweDsgY29sb3I6ICNkMzFmMjI7fVxyXG4gICAgLm5vdGVfdmFsaWRhdCB7Y29sb3I6ICNmZmY7IHBhZGRpbmc6IDVweCAxMHB4OyBiYWNrZ3JvdW5kOiAjNGYwMTAxOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwJTsgZm9udC13ZWlnaHQ6IDMwMDsgZm9udC1zaXplOiAxMnB4OyBsZWZ0OiAwO31cclxuICAgIC5ub3RlX21pbntjb2xvcjogI2IxYjFiMTsgcGFkZGluZzogNXB4IDEwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyBmb250LXdlaWdodDogMzAwOyBmb250LXNpemU6IDEycHg7IHJpZ2h0OiAwO31cclxuICAgIC52aWV3IHtcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xyXG4gICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogNzVweDsgaGVpZ2h0OiA3NXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgICAgIGltZyB7ZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAwJTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saW5rIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMTVweDsgIG1hcmdpbi1ib3R0b206IDVweDsgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiAjZDMxZjIyOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6IDA7fVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4NTAyMDI7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29fcGRmIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgaGVpZ2h0OiA3NXB4OyBcclxuICAgICAgICAgICAgaW1nIHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgICAgICsgLmxpbmsge3ZlcnRpY2FsLWFsaWduOiBib3R0b207fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb257Zm9udC1zaXplOiAxNnB4O31cclxuXHJcbmRpdiN1aS1kYXRlcGlja2VyLWRpdiB7XHJcbiAgICBtYXJnaW4tdG9wOiAtOTVweDtcclxufVxyXG4ud3JhcC1wb3B1cHtcclxuICAgIEBleHRlbmQgLmFic29sdXRlLWNlbnRlcjtwb3NpdGlvbjogZml4ZWQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzogYXV0bztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC45KTt6LWluZGV4Ojk5OTk7ZGlzcGxheTpub25lO1xyXG4gICAgLm92ZXJsYXktcG9we0BleHRlbmQgLmFic29sdXRlLWNlbnRlcjt9XHJcbiAgICAuYm94LXBvcHVwe1xyXG4gICAgICAgIHdpZHRoOjkyMHB4O21hcmdpbjphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjoxMCUgYXV0bztcclxuICAgICAgICBoNHtmb250LXNpemU6NDBweDtmb250LXdlaWdodDogYm9sZDtjb2xvcjojRkZGO21hcmdpbjowIDAgMzBweCAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XHJcbiAgICAgICAgYS5jbG9zZXtcclxuICAgICAgICAgICAgd2lkdGg6NjhweDtoZWlnaHQ6NjhweDtiYWNrZ3JvdW5kOiM0ZjAxMDEgdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9jbG9zZS1wb3AucG5nKSBuby1yZXBlYXQgY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oMC43cyAkZWFzZSBhbGwpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTM0cHg7cmlnaHQ6LTM0cHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO3RleHQtaW5kZW50Oi05OTk5cHg7ei1pbmRleDoxO1xyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZXMtc2V0e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGltZ3twb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMCAhaW1wb3J0YW50O30gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYXJyb3ctbmF2e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6MjlweDtoZWlnaHQ6NTVweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvcG9wLW5hdi5wbmcpIG5vLXJlcGVhdDtvcGFjaXR5OjAuNzt0ZXh0LWluZGVudDotOTk5OXB4O1xyXG4gICAgICAgICAgICB0b3A6MDtib3R0b206MDttYXJnaW46YXV0bztcclxuICAgICAgICAgICAgJi5uZXh0e2JhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtyaWdodDotNzVweDt9XHJcbiAgICAgICAgICAgICYucHJldntiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtsZWZ0Oi03NXB4O31cclxuICAgICAgICAgICAgJjpob3ZlcntvcGFjaXR5OjE7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJveC1zaWduYXR1cmV7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAjc2lne3dpZHRoOiA3MzBweDsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IDE3MHB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgb3ZlcmZsb3c6IGhpZGRlbjsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO31cclxuICAgIC50ZXh0c2lne1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBwYWRkaW5nOiA1MHB4IDIwcHggMDsgZGlzcGxheTogbm9uZTsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBiYWNrZ3JvdW5kOiAkd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IFxyXG4gICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO31cclxuICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue2ZvbnQtc2l6ZTogNjVweDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7d2lkdGg6IDEwMCU7IGJvcmRlcjogbm9uZTsgdmVydGljYWwtYWxpZ246IHRvcDsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjt9XHJcbiAgICAgICAgJltkYXRhLWZvbnQ9Z3JhYnZpYmVzXXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc3BhbntAZXh0ZW5kIC5ncmFidmliZXM7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1ob21lbWFkZV17XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0sIHNwYW57QGV4dGVuZCAuaG9tZW1hZGU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1wYWNpZml0b117XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0sIHNwYW57QGV4dGVuZCAucGFjaWZpdG87fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD10YW5nZXJpbmVde1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLnRhbmdlcmluZTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1mb250PW5vdGhpbmdde1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLm5vdGhpbmc7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1kYW1pb25de1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLmRhbWlvbjt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1mb250PXBhcmlzaWVubmVde1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLnBhcmlzaWVubmU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1pdGFsaWFubm9de1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLml0YWxpYW5ubzt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1mb250PWxhYmVsbGVde1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLmxhYmVsbGU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD12YW1waXJvb25lXXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc3BhbntAZXh0ZW5kIC52YW1waXJvb25lO31cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWZvbnQ9YWd1YWZpbmFde1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzcGFue0BleHRlbmQgLmFndWFmaW5hO31cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWZvbnQ9bGVhZ3VlXXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc3BhbntAZXh0ZW5kIC5sZWFndWU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1tb2xsZV17XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0sIHNwYW57QGV4dGVuZCAubW9sbGU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtZm9udD1hbGV4XXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc3BhbntAZXh0ZW5kIC5hbGV4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWZvbnQ9cGlueW9uXXtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc3BhbntAZXh0ZW5kIC5waW55b247fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmV7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgfVxyXG4gICAgLmVkaXR7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDZweDsgcmlnaHQ6IDEwcHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2VkaXQucG5nJykgbm8tcmVwZWF0IGNlbnRlciB3aGl0ZTtjdXJzb3I6IHBvaW50ZXI7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTt9XHJcbiAgICAudHlwZXNlbGVjdHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNnB4OyByaWdodDogMXB4OyBiYWNrZ3JvdW5kOiAjRkZGOyBwYWRkaW5nOiAxM3B4IDIwcHg7IEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO1xyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogNHB4IDEycHggNHB4IDA7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNGQ0ZDQ7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICM4ODg4ODg7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke2JvcmRlci1yaWdodDogbm9uZTsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAxMnB4O31cclxuICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICYuYWN0aXZle2NvbG9yOiAjMDA1MmMyO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib3gtdGV4dHNpZ25hdHVyZXtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHNwYW57cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMCU7IGxlZnQ6IDA7IGZvbnQtc2l6ZTogMTRweDsgYmFja2dyb3VuZDogIzRmMDEwMTsgcGFkZGluZzogMTBweCAxNXB4OyBjb2xvcjogJHdoaXRlOyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwgZWFzZS1vdXQpO31cclxufVxyXG5cclxuLnBvcHdwe1xyXG4gICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45KTsgei1pbmRleDogMTAwMDAwMDAwMDsgZGlzcGxheTogbm9uZTtcclxuICAgIC5pbi1wb3B3cHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7IEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpOyBwYWRkaW5nOiAzMHB4IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IHdpZHRoOiA3MzBweDsgbWF4LXdpZHRoOiA5MCU7IGhlaWdodDogYXV0bzsgbWFyZ2luOiBhdXRvOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAwOyByaWdodDogMDsgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgICAudHRsLXBvcHtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE1cHggMzJweDsgcG9zaXRpb246IHJlbGF0aXZlOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M2YzZjNjsgbWFyZ2luLWJvdHRvbTogNDJweDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiA2cHg7IGhlaWdodDogNDBweDsgYmFja2dyb3VuZDogIzg1MDIwMjt9XHJcbiAgICAgICAgICAgIGgze2ZvbnQtc2l6ZTogMjNweDsgY29sb3I6ICMxMTExMTE7IGZvbnQtd2VpZ2h0OiA3MDA7fVxyXG4gICAgICAgICAgICAuYnRuLWNsb3Nle1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDVweDsgcmlnaHQ6IDA7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6ICNiMmIyYjI7IEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDNweCk7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBiYWNrZ3JvdW5kIGVhc2Utb3V0KTtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTt9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICBzcGFue2JhY2tncm91bmQ6ICMxMTE7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdG4tcG9we1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7IG92ZXJmbG93OiBhdXRvOyBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zaGFyZSB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyBiYWNrZ3JvdW5kOiAjZWJlYmViOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygzcHgpO1xyXG4gICAgc3BhbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrOyBsaW5lLWhlaWdodDogMzVweDsgbWFyZ2luLXJpZ2h0OiAxMnB4OyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjNjY2OyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTt9XHJcbiAgICAuc29zIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGJhY2tncm91bmQ6ICNiN2I3Yjc7IHBhZGRpbmc6IDAgOHB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAzcHggM3B4IDApOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYSB7bGluZS1oZWlnaHQ6IDM1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgIHdpZHRoOiAyM3B4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW46IDAgMnB4O31cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC02cHg7IGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogNnB4IHNvbGlkICNiN2I3Yjc7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB0b3A6IDEycHg7IFxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNpZy1sc3R7XHJcbiAgICBtYXJnaW46IDAgLTE1cHg7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAubHMtc2lnLWxzdHtcclxuICAgICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMzMyU7IGZsb2F0OiBsZWZ0OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDAgMTVweDsgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAubHNzaWd7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBmb250LXNpemU6IDMwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICMxMTExMTE7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBib3JkZXIgZWFzZS1vdXQpOyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBhdHRyKGRhdGEtZm9udCk7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZle2JvcmRlci1jb2xvcjogIzg1MDIwMjt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3JjX3Jlc3VsdCB7bWFyZ2luOiAyMDBweCBhdXRvIDE1MHB4OyBtaW4taGVpZ2h0OiA1OXZoO31cclxuLnNyY19mb3JtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge3dpZHRoOiAxMDAlOyBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCA2MHB4OyBmb250LXNpemU6IDE4cHg7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IGJvcmRlci1jb2xvcjogI2YyZjJmMjsgY29sb3I6ICMzMzM7IGZvbnQtd2VpZ2h0OiA1MDA7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTt9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7IHdpZHRoOiA1MHB4OyB0b3A6IDA7IGJvdHRvbTogMDsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3NlYXJjaC1pY28ucG5nKSBuby1yZXBlYXQgY2VudGVyOyBib3JkZXI6IG5vbmU7fVxyXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtjb2xvcjogI2NjYzt9XHJcbiAgICB9XHJcbn1cclxuLndyYXBfc3JjIHtcclxuICAgIHdpZHRoOiA5ODBweDsgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBoMiB7Zm9udC1zaXplOiA0MHB4OyBjb2xvcjogIzExMTsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMTVweDt9XHJcbiAgICBoNiB7Zm9udC1zaXplOiAyMHB4OyBtYXJnaW4tYm90dG9tOiA4MHB4O31cclxuXHJcbiAgICAubGlzdF9zcmMge1xyXG4gICAgICAgIC5pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogNDBweDsgcGFkZGluZy1ib3R0b206IDQwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGg0IHtmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjMzMzOyBmb250LXdlaWdodDogNTAwOyBtYXJnaW4tYm90dG9tOiAxNXB4O31cclxuICAgICAgICAgICAgICAgIHAge2ZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGNvbG9yOiAjMzMzOyBtYXJnaW4tYm90dG9tOiAwO31cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGg0IHtjb2xvcjogI2RhMjMyNzt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZ2luZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6IDMwcHg7Zm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjMzMzOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBmb250LXdlaWdodDogNjAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAwIDhweCA1cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6ICNmZjcyMDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7IHJpZ2h0OiAwOyBtYXJnaW46IGF1dG87IHdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZjcyMDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge3dpZHRoOiAxMDAlO0BpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGxpbmVhciAwLjI1cyk7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmY3MjAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBsaW5lYXIgMC4yNXMpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHt3aWR0aDogMTAwJTtAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBsaW5lYXIgMC4yNXMpO31cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcmV2LFxyXG4gICAgICAgICYubmV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19wYWdnaW5nLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjsgcGFkZGluZzogMDsgdmVydGljYWwtYWxpZ246IHRvcDsgdG9wOiA0cHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByZXYgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7fVxyXG4gICAgICAgICYubmV4dCB7QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTsgbWFyZ2luLWxlZnQ6IDIwcHg7fVxyXG4gICAgfVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlciB7d2lkdGg6IDIyZW07fVxyXG4udWktd2lkZ2V0IHtmb250LXNpemU6IDEzcHg7fVxyXG4udWktZGF0ZXBpY2tlciB0ZCBzcGFuLCAudWktZGF0ZXBpY2tlciB0ZCBhIHtwYWRkaW5nOiA3cHggM3B4O31cclxuLmJveC1zaGFyZS1saXN0e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnNoYXJlLWxpc3R7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO2xlZnQ6IC03MHB4O1xyXG4gICAgICAgICYuZml4ZWR7cG9zaXRpb246IGZpeGVkO3RvcDogMTEwcHg7bGVmdDogYXV0bzt9XHJcbiAgICB9XHJcbn1cclxuLnNoYXJlLWxpc3R7XHJcbiAgICBhe2Rpc3BsYXk6IGJsb2NrO31cclxufVxyXG5cclxuLmJ1dHRvbi1ncm91cCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6MCA1cHg7IFxyXG59XHJcblxyXG5cclxuLyogZm9vdGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5mb290ZXJ7XHJcbiAgICBoZWlnaHQ6MTEwcHg7YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9iZy1mb290ZXIuanBnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO2NvbG9yOiNGRkY7XHJcbiAgICAud3JhcHBlcnt3aWR0aDoxMzYwcHg7fVxyXG4gICAgLmxlZnR7XHJcbiAgICAgICAgbWFyZ2luOjQ3cHggMCAwIDA7XHJcbiAgICAgICAgbmF2IHtmbG9hdDogbm9uZTsgbWFyZ2luLXJpZ2h0OiAwOyBkaXNwbGF5OiBub25lO31cclxuICAgICAgICBwIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZToxM3B4O2NvbG9yOiNGRkY7IG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG4gICAgfVxyXG4gICAgLnJpZ2h0e1xyXG4gICAgICAgIG1hcmdpbjo0N3B4IDAgMCAwO1xyXG4gICAgfVxyXG4gICAgbmF2e2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjMwcHg7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgZm9udC1zaXplOjEzcHg7Y29sb3I6I0ZGRjtcclxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7IFxyXG5cdFx0XHRcdFx0XHR9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW57cGFkZGluZzowIDEwcHg7fVxyXG4gICAgfVxyXG4gICAgLnNvY21lZHtcclxuICAgICAgICBmbG9hdDogbGVmdDttYXJnaW46LThweCAwIDAgMDtcclxuICAgICAgICBhe2Zsb2F0OiBsZWZ0O21hcmdpbjowIDAgMCAxMHB4O0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBsaW5lYXIgYWxsKTtcclxuICAgICAgICAgIGltZ3tkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgICAmOmhvdmVye29wYWNpdHk6IDAuNn1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG4gXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRhdHRyKXtcclxuICAgIHRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtby10cmFuc2l0aW9uOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gdHJhbnNmb3JtKCRhdHRyKXtcclxuICAgIHRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zZm9ybTogJGF0dHI7XHJcbn1cclxuQG1peGluIGJvcmRlclJhZGl1cygkYXR0cil7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW1zLWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbn1cclxuQG1peGluIGJveFNoYWRvdygkYXR0cil7XHJcbiAgICBib3gtc2hhZG93OiAgJGF0dHI7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAkYXR0cjtcclxuICAgIC1tcy1ib3gtc2hhZG93OiAkYXR0cjtcclxuICAgIC1vLWJveC1zaGFkb3c6ICRhdHRyXHJcbn1cclxuQG1peGluIGJveFNpemluZygkYXR0cil7XHJcbiAgICBib3gtc2l6aW5nOiAgJGF0dHI7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1tcy1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1vLWJveC1zaXppbmc6ICRhdHRyXHJcbn1cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICA6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKXtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgYm94LXNpemluZzogJGF0dHI7XHJcbn1cclxuQG1peGluIGNsZWFyZml4e1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiOyBcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgXHJcbiAgICB9XHJcbiAgICAmOmFmdGVye1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuICAgICZ7XHJcbiAgICAgICAgKnpvb206IDE7XHJcbiAgICB9XHJcbn1cclxuLmFic29sdXRlLWNlbnRlcntwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7bWFyZ2luOmF1dG87fVxyXG4ubm8tbWFyZ2lue21hcmdpbjogMCAhaW1wb3J0YW50O31cclxuLmFmdGVyX2NsZWFye2NvbnRlbnQ6IFwiXCI7ZGlzcGxheTogYmxvY2s7Y2xlYXI6IGJvdGg7fVxyXG4uYS1yaWdodHt0ZXh0LWFsaWduOiByaWdodH1cclxuLmEtbGVmdHt0ZXh0LWFsaWduOiBsZWZ0fVxyXG5cclxuJGVhc2U6IGN1YmljLWJlemllcigwLjA2NSwgMC44NDAsIDAuMjYwLCAwLjk5MCk7XHJcbi8qIGNvbG9yIGdsb2JhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuJHJlZCA6I2QzMWYyMjtcclxuJHdoaXRlIDojZmZmO1xyXG4kb3JhbmdlOiNmZjcyMDA7XHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcblxyXG4kZ3JhYnZpYmVzOidHcmVhdCBWaWJlcycsIGN1cnNpdmU7XHJcbiRwYWNpZml0bzonUGFjaWZpdG8nLCBjdXJzaXZlO1xyXG4kaG9tZW1hZGU6J1llbGxvd3RhaWwnLCBjdXJzaXZlO1xyXG4kdGFuZ2VyaW5lOiAnVGFuZ2VyaW5lJywgY3Vyc2l2ZTtcclxuJG5vdGhpbmc6ICdOb3RoaW5nIFlvdSBDb3VsZCBEbycsIGN1cnNpdmU7XHJcbiRkYW1pb246ICdEYW1pb24nLCBjdXJzaXZlO1xyXG4kcGFyaXNpZW5uZTogJ1BhcmlzaWVubmUnLCBjdXJzaXZlO1xyXG4kaXRhbGlhbm5vOiAnSXRhbGlhbm5vJywgY3Vyc2l2ZTtcclxuJGxhYmVsbGU6ICdMYSBCZWxsZSBBdXJvcmUnLCBjdXJzaXZlO1xyXG4kdmFtcGlyb29uZTogJ1ZhbXBpcm8gT25lJywgY3Vyc2l2ZTtcclxuJGFndWFmaW5hOiAnQWd1YWZpbmEgU2NyaXB0JywgY3Vyc2l2ZTtcclxuJGxlYWd1ZTogJ0xlYWd1ZSBTY3JpcHQnLCBjdXJzaXZlO1xyXG4kbW9sbGU6ICdNb2xsZScsIGN1cnNpdmU7XHJcbiRhbGV4OiAnQWxleCBCcnVzaCcsIGN1cnNpdmU7XHJcbiRwaW55b246ICdQaW55b24gU2NyaXB0JywgY3Vyc2l2ZTtcclxuIiwiLy8gQm91cmJvbiA0LjIuN1xyXG4vLyBodHRwOi8vYm91cmJvbi5pb1xyXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cclxuLy8gTUlUIExpY2Vuc2VcclxuXHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XHJcblxyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcclxuXHJcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xyXG5cclxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcclxuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcclxuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcclxuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcclxuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcclxuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcclxuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XHJcblxyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcclxuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcclxuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcclxuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcclxuXHJcbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXHJcblxyXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sXHJcblxyXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xyXG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XHJcbiAgJGxpc3Q6ICgpO1xyXG5cclxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XHJcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcclxuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xyXG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsaXN0O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxyXG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xyXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcclxuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XHJcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgQGlmIG5vdCAkaXRlbSB7XHJcbiAgICAgIEByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gZmFsc2U7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuXHJcbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcclxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcclxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcclxuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XHJcblxyXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuXHJcbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXHJcblxyXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcclxuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXHJcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcclxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcclxuXHJcbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcclxufVxyXG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxyXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XHJcblxyXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XHJcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XHJcbiAgfVxyXG5cclxuICAkYmFzZTogJGVtLWJhc2U7XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcclxuICB9XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcclxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgJGRpbWVuc2lvbjogMTA7XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XHJcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Q29sb3J9XHJcblxyXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XHJcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XHJcbn1cclxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxyXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJG5ldy1wcm9wczogKCk7XHJcblxyXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XHJcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbmV3LXByb3BzO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxyXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xyXG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHByb3A7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcclxuLy8vICAgfVxyXG5cclxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcclxuICB9XHJcbn1cclxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcclxuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xyXG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XHJcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcclxuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcclxuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XHJcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcclxuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xyXG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xyXG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xyXG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XHJcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcclxuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xyXG4kb2N0YXZlOiAgICAgICAgICAgMjtcclxuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcclxuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xyXG4kbWFqb3ItdHdlbGZ0aDogICAgMztcclxuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XHJcblxyXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xyXG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcclxuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xyXG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xyXG4gICR2YWx1ZTogJHYxO1xyXG5cclxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcclxuICBAd2hpbGUgJHYyID4gJHYxIHtcclxuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcclxuICB9XHJcbiAgQHdoaWxlICR2MiA8ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxyXG4gIH1cclxuXHJcbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcclxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XHJcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXHJcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XHJcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICB9XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XHJcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XHJcbiAgICAgICAgJHZhbHVlOiAkdjI7XHJcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcclxuICAgICAgICAkdmFsdWU6ICR2MTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcclxuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XHJcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xyXG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcclxuXHJcbiAgQGlmIG5vdCAkaW5kZXgge1xyXG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcclxuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xyXG4vLy9cclxuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcclxuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH1cclxuXHJcbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcclxuICAkb3V0cHV0OiBudWxsO1xyXG5cclxuICAkYTogbnRoKCR2YWxzLCAxKTtcclxuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcclxuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcclxuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xyXG5cclxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XHJcbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxyXG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cclxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XHJcblxyXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cclxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxyXG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cclxuXHJcbiAgQHJldHVybiAkb3V0cHV0O1xyXG59XHJcblxyXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxyXG4vLy8gICBQcmVmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxyXG4vLy8gICBTdWZmaXggdG8gdXNlXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcclxuXHJcbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xyXG4gIC8vIFByb3BlcnR5IE5hbWVzXHJcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuXHJcbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XHJcblxyXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xyXG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICN7JGFsbH06ICR2YWxzO1xyXG4gIH1cclxufVxyXG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxyXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXHJcblxyXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XHJcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgIEByZXR1cm4gZm9udC11cmw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIHVybDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAkZm9udC1mYW1pbHksXHJcbiAgJGZpbGUtcGF0aCxcclxuICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgJGZpbGUtZm9ybWF0cyxcclxuICAkZm9udC11cmwpIHtcclxuXHJcbiAgJHNyYzogKCk7XHJcblxyXG4gICRmb3JtYXRzLW1hcDogKFxyXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcclxuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XHJcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcclxuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XHJcblxyXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3JjO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xyXG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcclxuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcclxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcclxuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcclxuICB9XHJcbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xyXG59XHJcbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xyXG4gICRvZmZzZXQ6IG51bGw7XHJcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuXHJcbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxyXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xyXG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXHJcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9mZnNldCB7XHJcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XHJcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XHJcbiAgJGdyYWRpZW50czogKCk7XHJcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XHJcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xyXG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcclxuXHJcbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcclxuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xyXG5cclxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XHJcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcclxuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcclxuXHJcbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XHJcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcclxuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcclxuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xyXG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJGRlZ3JlZTogbnVsbDtcclxuICAkc2lkZTogbnVsbDtcclxuICAkY29ybmVyOiBudWxsO1xyXG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcclxuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXHJcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xyXG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcclxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcclxuXHJcbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXHJcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcclxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxyXG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXHJcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xyXG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcclxuICB9XHJcbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcclxuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcclxuICAgICAgJGRlZ3JlZTogJHBvcztcclxuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xyXG4gICAgICAkc3BlYzogJHBvcztcclxuICAgIH1cclxuICB9XHJcbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xyXG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XHJcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xyXG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcclxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XHJcbn1cclxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcclxuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcclxuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdmFsLTM6IG51bGw7XHJcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xyXG5cclxuICBAaWYgJGhhcy12YWwtMyB7XHJcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xyXG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcclxuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcclxuXHJcbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcclxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XHJcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcclxuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XHJcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcclxuXHJcbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xyXG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xyXG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcclxuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJGcxOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xyXG5cclxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xyXG4gICAgICAgICAgICAkZzE6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSBpZlxyXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcclxuXHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xyXG5cclxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xyXG4gICAgICAgICAgICAkZzI6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XHJcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XHJcblxyXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcclxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcclxuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuXHJcbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcclxuXHJcbiAgLy8gQWRkIGNvbW1hXHJcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcclxuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcclxuXHJcbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XHJcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XHJcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XHJcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZ3JhZGllbnRzO1xyXG59XHJcbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xyXG5cclxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRwcmUtc3BlYzogbnVsbDtcclxuICAkc3BlYzogbnVsbDtcclxuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcclxuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcclxuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcclxuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xyXG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XHJcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdmVuZG9yIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcclxuICB9XHJcbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcclxufVxyXG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XHJcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcclxuICAgICAgJHZhbHVlOiBudWxsO1xyXG4gICAgfVxyXG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xyXG4gIH1cclxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cclxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XHJcbiAgLy8gTWF0cmljZXNcclxuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XHJcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xyXG5cclxuICAvLyBSZXN1bHRcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaXZpZGVyOiAwO1xyXG4gICRtaW51czogZmFsc2U7XHJcblxyXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcclxuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcclxuICAgICAgJG1pbnVzOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xyXG4gICAgICAkZGl2aWRlcjogMTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcclxuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xyXG5cclxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xyXG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XHJcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XHJcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XHJcbn1cclxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXHJcbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XHJcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcclxuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcclxuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcclxuICAvLyBydW5uaW5nIHwgcGF1c2VkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xyXG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxyXG4vLyBub3RhdGlvbi5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XHJcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XHJcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xyXG5cclxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xyXG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XHJcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XHJcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xyXG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcclxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xyXG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcclxuICAkc3BlYy1pbWFnZXM6ICgpO1xyXG5cclxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XHJcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcclxuICAgICRzcGVjLWltYWdlOiAoKTtcclxuXHJcbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xyXG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xyXG59XHJcbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcclxuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xyXG4gICRzcGVjLWJvcmRlcnM6ICgpO1xyXG5cclxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcclxuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcclxuICAgICRzcGVjLWJvcmRlcjogKCk7XHJcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XHJcblxyXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XHJcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcclxuXHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XHJcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xyXG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLy9FeGFtcGxlczpcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcclxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcclxuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xyXG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xyXG59XHJcbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcclxuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgaW50ZWdlclxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XHJcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XHJcbiAgLy8gYXV0byB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcclxuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xyXG4gIC8vIG5vbmUgfHwgYWxsXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XHJcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG5cclxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxyXG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xyXG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xyXG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XHJcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xyXG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xyXG59XHJcblxyXG5AbWl4aW4gZGlzcGxheS1ib3gge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tb3otYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxyXG4gIGRpc3BsYXk6IGJveDtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcclxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcclxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XHJcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xyXG4vLyBzaW5nbGV8bXVsdGlwbGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXHJcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXHJcblxyXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcclxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcclxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcclxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XHJcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xyXG4gICAgLy8gMjAwOVxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcclxuICAgIGRpc3BsYXk6IGJveDtcclxuXHJcbiAgICAvLyAyMDEyXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xyXG5cclxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcclxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcclxuQG1peGluIGZsZXgoJHZhbHVlKSB7XHJcblxyXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cclxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxyXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcclxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICAkZGlyZWN0aW9uOiBub3JtYWw7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcclxuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xyXG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxyXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XHJcbiAgLy8gQWx0IHZhbHVlc1xyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcclxuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcclxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxyXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXHJcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxyXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXHJcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXHJcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxyXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxyXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xyXG5cclxuICAvLyBBbHQgdmFsdWVzLlxyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xyXG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcblxyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xyXG59XHJcblxyXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cclxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xyXG59XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJHdlaWdodDogbm9ybWFsLFxyXG4gICRzdHlsZTogbm9ybWFsLFxyXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcclxuXHJcbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcblxyXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcclxuICAgICAgJGZvbnQtZmFtaWx5LFxyXG4gICAgICAkZmlsZS1wYXRoLFxyXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgICAgICRmaWxlLWZvcm1hdHMsXHJcbiAgICAgICRmb250LXVybC1wcmVmaXhcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XHJcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cclxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXHJcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cclxuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xyXG5cclxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xyXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXHJcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHBvcy1zcGVjOiBudWxsO1xyXG4gICRwb3MtZGVncmVlOiBudWxsO1xyXG5cclxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cclxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XHJcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xyXG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcclxuICAgICRwb3M6IG51bGw7XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvcyB7XHJcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XHJcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xyXG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcclxuICB9XHJcblxyXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcclxuXHJcbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXHJcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcclxufVxyXG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcclxuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XHJcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcclxuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHJcbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xyXG4gICRnMTogIG50aCgkZGF0YSwgMSk7XHJcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcclxuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXHJcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XHJcblxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcclxuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcclxuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XHJcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcclxuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcclxuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcclxuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xyXG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xyXG59XHJcbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XHJcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xyXG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXHJcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcclxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxyXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxyXG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XHJcbiAgJHdlYmtpdDogKCk7XHJcbiAgJG1vejogKCk7XHJcbiAgJHNwZWM6ICgpO1xyXG5cclxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cclxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XHJcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xyXG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xyXG4gICAgICAkbGlzdDM6ICgpO1xyXG5cclxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XHJcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XHJcblxyXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xyXG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XHJcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XHJcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xyXG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcclxuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcclxuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXHJcblxyXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudC1vbmUge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50LW9uZSB7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50LXR3byB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcclxuXHJcbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xyXG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXHJcblxyXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICBidXR0b24sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgYnV0dG9uOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXHJcbi8vLyAgIGJ1dHRvbjpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBidXR0b246YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG4vLy9cclxuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcclxuXHJcbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxyXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XHJcblxyXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xyXG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XHJcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcclxuXHJcbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcclxuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcclxuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xyXG4vLy8gICAgIGNsZWFyOiBib3RoO1xyXG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cclxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXgtd2lkdGg6ICR3aWR0aDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd29yZC13cmFwOiBub3JtYWw7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xyXG5cclxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xyXG5cclxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XHJcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xyXG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxyXG5cclxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LWluZGVudDogMTAxJTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICBAaWYgJGhlaWdodCB7XHJcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBtYXJnaW5gXHJcblxyXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XHJcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcclxuLy8vXHJcbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxyXG5cclxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXHJcbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXHJcbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbGVmdDogMTBlbTtcclxuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vLyAgICAgdG9wOiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXHJcblxyXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcclxuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xyXG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XHJcblxyXG4gICRvZmZzZXRzOiAoXHJcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxyXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcclxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXHJcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXHJcbiAgKTtcclxuXHJcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcclxuXHJcbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcclxuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XHJcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXHJcbi8vLyAgIFZhbHVlIHRvIHVzZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXHJcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcclxuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcclxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xyXG5cclxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcclxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XHJcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xyXG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xyXG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSAge1xyXG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xyXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XHJcbn1cclxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcclxuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBoaWRwaSB7XHJcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXHJcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXHJcbi8vL1xyXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcclxuLy8vICAgICB3aWR0aDogMmVtO1xyXG4vLy8gICAgIGhlaWdodDogMmVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xyXG4vLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4vLy8gICAgIGhlaWdodDogMTBlbTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxyXG5cclxuQG1peGluIHNpemUoJHZhbHVlKSB7XHJcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcclxuICAkaGVpZ2h0OiAkd2lkdGg7XHJcblxyXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xyXG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbi8vLyAgIHRleHRhcmVhIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcclxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxyXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XHJcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcclxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcclxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XHJcblxyXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xyXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXHJcbi8vL1xyXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxyXG4vLy9cclxuLy8vIEB0eXBlIGN1YmljLWJlemllclxyXG5cclxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcclxuXHJcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XHJcblxyXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xyXG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xyXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcclxuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xyXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcclxuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcblxyXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcclxuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cclxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC53cmFwcGVyIHtcclxuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcclxuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcclxuICB3b3JkLXdyYXA6ICR3cmFwO1xyXG5cclxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcclxuICB9XHJcbn1cclxuIiwiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxyXG5cclxuQG1peGluIGlubGluZS1ibG9jayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcclxuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xyXG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xyXG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XHJcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcblxyXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xyXG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xyXG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xyXG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgfVxyXG5cclxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cclxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xyXG4gIC8vIEdyYXlzY2FsZSBidXR0b25cclxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIC8vIENvbG9yZWQgYnV0dG9uXHJcbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XHJcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcclxuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcclxuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xyXG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2ltcGxlIEJ1dHRvblxyXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcclxuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XHJcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuXHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNoaW55IEJ1dHRvblxyXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcclxuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XHJcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcclxuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XHJcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XHJcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XHJcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcclxuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFBpbGwgQnV0dG9uXHJcbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XHJcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcclxuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcclxuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcclxuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gIH1cclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xyXG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xyXG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcclxuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsYXQgQnV0dG9uXHJcbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xyXG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBncmlkXHJcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XHJcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xyXG5cclxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG4vLyBGbGV4aWJsZSBndXR0ZXJcclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xyXG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xyXG5cclxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcclxuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xyXG5cclxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcclxufVxyXG5cclxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O2dHQUlnRztBQ0poRzs7OztnR0FJZ0c7QUFFaEcsNkNBQTZDO0FBa0U3QyxBQUFBLGdCQUFnQixFRGlCaEIsWUFBWSxDQUVSLElBQUksRUF5Q1IsTUFBTSxDQXFERixNQUFNLENBd0JGLFlBQVksR0FZTixDQUFDLEFBSUUsTUFBTSxFQXVGdkIsWUFBWSxDQVVSLGFBQWEsRUE2TWpCLFlBQVksQUF3RlAsZUFBZSxDQTJEWixhQUFhLENBRVQsSUFBSSxBQUlDLE1BQU0sRUF6SnZCLFlBQVksQUFpWVAsU0FBUyxDQXFKTixlQUFlLENBRVgsQ0FBQyxDQUdHLElBQUksQUFBQSxJQUFJLEVBM2hCeEIsWUFBWSxBQWlZUCxTQUFTLENBcUpOLGVBQWUsQ0FFWCxDQUFDLENBV0csS0FBSyxFQW5pQnJCLFlBQVksQ0F3akJSLFFBQVEsQ0FpQkosS0FBSyxDQUNELEVBQUUsQ0FFRSxFQUFFLEFBR0csWUFBWSxBQUVSLE1BQU0sRUFqbEIvQixZQUFZLENBMG1CUixZQUFZLENBR1IsSUFBSSxBQUVDLE1BQU0sRUEvbUJuQixZQUFZLENBeW5CUixhQUFhLENBR1QsS0FBSyxFQTVuQmIsWUFBWSxDQXluQlIsYUFBYSxDQUdULEtBQUssQ0FFRCxHQUFHLEVBMEhmLFlBQVksQ0FFUixJQUFJLENBR0EsTUFBTSxFQThIZCxXQUFXLEVBQVgsV0FBVyxDQUVQLFlBQVksQ0NwMENBO0VBQUMsUUFBUSxFQUFFLFFBQVE7RUFBQyxHQUFHLEVBQUMsQ0FBQztFQUFDLE1BQU0sRUFBQyxDQUFDO0VBQUMsS0FBSyxFQUFDLENBQUM7RUFBQyxJQUFJLEVBQUMsQ0FBQztFQUFDLE1BQU0sRUFBQyxJQUFJO0NBQUc7O0FBQ2hGLEFBQUEsVUFBVSxDQUFBO0VBQUMsTUFBTSxFQUFFLFlBQVk7Q0FBRzs7QUFD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 */
