/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[3]!./assets/scss/templates/_programme.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/* ==========================================================================
   VARIABLES (Base)
   ========================================================================== */
/* ==========================================================================
   FUNCTIONS (Base)
   ========================================================================== */
/* ==========================================================================
   MIXINS (Base)
   ========================================================================== */
.nav--timeline .line-container {
  padding-right: 15px;
  position: relative;
}
.nav--timeline .line-container > div {
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 1rem;
}
.nav--timeline .line-container > div:after {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 0%;
  height: 2px;
  background: #ffc600;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.nav--timeline .line-container .actif:after {
  width: 100%;
}
.nav--timeline .line-container .actif .point span {
  background: #ffc600;
}
.nav--timeline .line-container .line {
  position: absolute;
  top: 25px;
  left: 0;
  width: calc(100% - 15px);
  height: 100%;
  border-top: 1px dotted #cfd1d5;
  z-index: 0;
}
.nav--timeline .line-container .point {
  margin-top: 11px;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #FFF;
  z-index: 1;
  float: right;
}
.nav--timeline .line-container .point span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: #cfd1d5;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.nav--timeline .txt-container {
  margin-top: 20px;
}
.nav--timeline .txt-container .actif p {
  color: #04142d;
}
.nav--timeline .txt-container .actif p:nth-child(2) {
  font-size: 1.2352941176rem;
  margin-top: 10px;
}
.nav--timeline .txt-container div {
  transform: translateX(55%);
}
.nav--timeline .txt-container div p {
  color: #cfd1d5;
}
.nav--timeline .txt-container .step {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 1.6470588235rem;
  line-height: 2.2352941176rem;
}
@media screen and (max-width: 767px) {
  .nav--timeline .txt-container .step {
    font-size: 1.2941176471rem;
    line-height: 1.36;
  }
}
.nav--timeline--left .line-container .point {
  float: left;
}
.nav--timeline--transparent .line-container > div:before, .nav--timeline--transparent .line-container > div:after {
  content: "";
  position: absolute;
  top: 25px;
  left: 0;
  width: 0%;
  height: 2px;
  background: #cfd1d5;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.nav--timeline--transparent .line-container > div:before {
  border-top: 1px dotted #cfd1d5;
  height: 1px;
  background: none;
  width: calc(100% - 30px);
}
.nav--timeline--transparent .line-container .actif:after {
  width: calc(100% - 30px);
  background: #FFF;
}
.nav--timeline--transparent .line-container .actif .point span {
  background: #FFF;
}
.nav--timeline--transparent .line-container .point {
  background: none;
}
@media screen and (max-width: 1024px) {
  .nav--timeline:not(.nav--timeline--transparent) .col-3-4 .col-1-4, .nav--timeline:not(.nav--timeline--left) .col-3-4 .col-1-4 {
    width: 33.3333%;
  }
  .nav--timeline:not(.nav--timeline--transparent) .col-3-4 .col-1-4:last-child, .nav--timeline:not(.nav--timeline--left) .col-3-4 .col-1-4:last-child {
    display: none;
  }
  .nav--timeline:not(.nav--timeline--transparent) .txt-container div, .nav--timeline:not(.nav--timeline--left) .txt-container div {
    transform: translateX(65%);
    max-width: 215px;
  }
  .nav--timeline:not(.nav--timeline--transparent) .txt-container div + div, .nav--timeline:not(.nav--timeline--left) .txt-container div + div {
    margin-left: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .nav--timeline:not(.nav--timeline--transparent) > .row > .col-1-4, .nav--timeline:not(.nav--timeline--left) > .row > .col-1-4 {
    text-align: center;
  }
  .nav--timeline:not(.nav--timeline--transparent) > .row > .col-1-4 .btn, .nav--timeline:not(.nav--timeline--left) > .row > .col-1-4 .btn {
    display: inline-block;
    margin-top: 40px;
  }
  .nav--timeline:not(.nav--timeline--transparent) .txt-container div, .nav--timeline:not(.nav--timeline--left) .txt-container div {
    max-width: none;
    transform: translateX(45%);
  }
  .nav--timeline:not(.nav--timeline--transparent) .line-container .point, .nav--timeline:not(.nav--timeline--left) .line-container .point {
    transform: translateX(12px);
  }
}
@media screen and (max-width: 767px) {
  .nav--timeline:not(.nav--timeline--left) {
    font-size: 0;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container,
  .nav--timeline:not(.nav--timeline--left) .txt-container {
    position: relative;
    width: 10px;
    height: auto;
    display: inline-block;
    vertical-align: top;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container .point,
  .nav--timeline:not(.nav--timeline--left) .txt-container .point {
    position: absolute;
    bottom: 0;
    left: -20px;
    margin-top: 0;
    transform: translateX(5px);
  }
  .nav--timeline:not(.nav--timeline--left) .line-container .line,
  .nav--timeline:not(.nav--timeline--left) .txt-container .line {
    top: 0;
    left: 0px;
    width: 0;
    height: 100%;
    border-left: 1px dotted #cfd1d5;
    border-top: 0;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container .col-1-4,
  .nav--timeline:not(.nav--timeline--left) .txt-container .col-1-4 {
    display: block;
    width: 100%;
    height: 85px;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container .col-1-4.actif:after,
  .nav--timeline:not(.nav--timeline--left) .txt-container .col-1-4.actif:after {
    top: 0;
    left: 0px;
    width: 2px;
    height: 100%;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container .col-1-4:last-child,
  .nav--timeline:not(.nav--timeline--left) .txt-container .col-1-4:last-child {
    height: 55px;
    display: block;
  }
  .nav--timeline:not(.nav--timeline--left) .line-container {
    padding-right: 0px;
  }
  .nav--timeline:not(.nav--timeline--left) .txt-container {
    margin-top: 0;
    width: calc(100% - 20px);
  }
  .nav--timeline:not(.nav--timeline--left) .txt-container .col-1-4 {
    width: auto;
    height: auto;
    transform: none;
    margin-left: 0;
    margin-top: 40px;
  }
  .nav--timeline:not(.nav--timeline--left) .txt-container .col-1-4:last-child {
    display: none;
  }
}

.nav--timeline--inline > .btn {
  margin-top: 10px;
}
.nav--timeline--inline .line-container {
  margin-left: -10px;
  width: calc(100% + 10px);
  position: relative;
}
.nav--timeline--inline .line-container > div {
  position: relative;
}
.nav--timeline--inline .line-container .actif:after {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ffc600;
}
.nav--timeline--inline .line-container .actif .point span {
  background: #ffc600;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .is-desktop {
  display: block;
}
@media screen and (max-width: 767px) {
  .nav--timeline--inline .line-container .actif.has-subtimeline .is-desktop {
    display: none;
  }
}
.nav--timeline--inline .line-container .actif.has-subtimeline .is-mobile {
  display: none;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .is-mobile.actif .point span {
  width: 10px;
  height: 10px;
  border: none;
  background: #005d71;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .is-mobile.actif:after {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #005d71;
}
@media screen and (max-width: 767px) {
  .nav--timeline--inline .line-container .actif.has-subtimeline .is-mobile {
    display: inline-block;
  }
}
.nav--timeline--inline .line-container .actif.has-subtimeline:after {
  content: none;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .point span {
  background: #cfd1d5;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .point span {
  width: 7px;
  height: 7px;
  border: 1px solid #cfd1d5;
  background: #FFF;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .col-1-4:first-child .point {
  background: #FFF;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .col-1-4:first-child .point span {
  width: 10px;
  height: 10px;
  border: none;
}
.nav--timeline--inline .line-container .actif.has-subtimeline .actif .point span {
  background: #005d71;
  border: none;
}
.nav--timeline--inline .line-container .line {
  position: absolute;
  top: 25px;
  left: 0;
  width: calc(100% - 15px);
  height: 100%;
  border-top: 1px dotted #cfd1d5;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .nav--timeline--inline .line-container .col-1-4 {
    width: 25%;
  }
}
.nav--timeline--inline .line-container .point {
  margin-top: 11px;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #FFF;
  z-index: 1;
  float: left;
}
.nav--timeline--inline .line-container .point span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: #cfd1d5;
}
.nav--timeline--inline .txt-container div {
  transform: none;
  color: #cfd1d5;
}
@media screen and (max-width: 767px) {
  .nav--timeline--inline .txt-container div {
    display: none;
  }
}
.nav--timeline--inline .txt-container .step {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
}
@media screen and (max-width: 1023px) {
  .nav--timeline--inline .txt-container .step {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.nav--timeline--inline .txt-container .actif {
  display: inline-block;
}
.nav--timeline--inline .txt-container .actif p {
  color: #005d71;
}

/*
.lot-vitrine-slider {
  &:after {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.65)));
    background: linear-gradient(to bottom, rgba(169, 169, 169, 0), rgba(0, 0, 0, 0.65));
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.65)), color-stop(100%, rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
    background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
    content: '';
    position: absolute;
    left: 0;
    top: 30%;
    width: 100%;
    height: 100%;
    display: inline-block;
  }
}
*/
.block-vitrine-slider {
  position: relative;
  width: 100%;
  height: 100%;
  background: #04142d;
}
.block-vitrine-slider .mainImg {
  position: relative;
  width: 100%;
  height: 100%;
  background: #04142d;
  display: inline-block;
  object-fit: cover;
}
.block-vitrine-slider .js-openPopinSliders {
  cursor: zoom-in;
}
.block-vitrine-slider .descriptionPicto {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: white;
  font-size: 9px;
  left: 0;
  margin-top: 3px;
}
.block-vitrine-slider > .icon--arrow--prev {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%) rotate(180deg);
}
.block-vitrine-slider > .icon--arrow--next {
  position: absolute;
  top: 50%;
  left: auto;
  right: 30px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1025px) {
  .block-vitrine-slider .nav-container {
    position: absolute;
    width: 50%;
  }
}
.block-vitrine-slider .nav {
  display: flex;
  position: absolute;
  bottom: 5px;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  font-size: 0;
}
.block-vitrine-slider .nav > * {
  display: inline-block;
  vertical-align: middle;
}
.block-vitrine-slider .nav > button {
  padding: 3px;
  background-color: rgba(0, 0, 0, 0.5);
  min-width: 55px;
}
.block-vitrine-slider .nav > button:not(:first-child) {
  margin-left: 20px;
}
.block-vitrine-slider .nav > button > span > span.icon-wrapper {
  position: relative;
  margin: 0 auto;
  border-radius: 99999px;
  background: #FFF;
  display: block;
  padding: 5px;
  width: 45px;
  height: 45px;
}
.block-vitrine-slider .nav > button > span > span.icon-wrapper .stickNb {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background: #005d71;
  border-radius: 999px;
  transform: translateY(-5px);
}
.block-vitrine-slider .nav > button > span > span.icon-wrapper .stickNb span {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 0.7058823529rem;
  line-height: 0.7058823529rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .block-vitrine-slider .nav {
    bottom: -20px;
  }
  .block-vitrine-slider .nav > button {
    min-width: 35px;
  }
  .block-vitrine-slider .nav > button:not(:first-child) {
    margin-left: 15px;
  }
  .block-vitrine-slider .nav > button > span > span.icon-wrapper {
    width: 35px;
    height: 35px;
  }
  .block-vitrine-slider .nav > button > span > span.icon-wrapper .stickNb {
    width: 15px;
    height: 15px;
  }
  .block-vitrine-slider .icon--arrow--prev, .block-vitrine-slider .icon--arrow--next {
    display: none;
  }
}

.block-intro-programme .floating-block .txt-content {
  display: flex;
  justify-content: flex-end;
}
.block-intro-programme .floating-block .txt-content__inside {
  position: relative;
  background-color: #fff;
  margin-top: 10px;
  margin-bottom: 30px;
  padding: 15px;
  width: 98%;
  text-align: center;
  text-transform: uppercase;
  -webkit-box-shadow: -4px 4px 8px 1px rgba(0, 0, 0, 0.1);
  box-shadow: -4px 4px 8px 1px rgba(0, 0, 0, 0.1);
}
.block-intro-programme .floating-block .txt-content__inside::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  border-radius: 150px;
  background-color: #ffc600;
  border-radius: 0 150px 0 0;
  z-index: 0;
  bottom: -30px;
  left: -30px;
}
.block-intro-programme .floating-block .txt-content__inside p {
  font-weight: 500;
  margin-bottom: 5px;
}
.block-intro-programme .floating-block .txt-content__inside > .tags {
  text-align: left;
}
.block-intro-programme .floating-block .txt-content__inside .cta-container {
  display: flex;
  justify-content: center;
}
.block-intro-programme .floating-block .txt-content__inside .btn {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 6px 25px;
}
.block-intro-programme .floating-block .txt-content__inside .btn + .btn {
  margin-left: 10px;
}
.block-intro-programme .floating-block .txt-content__inside h2 {
  max-width: 435px;
  margin: 0 auto;
}
.block-intro-programme .mention {
  position: relative;
  text-align: right;
  font-size: 0.7647058824rem;
  text-decoration: auto;
  text-transform: none;
  top: 10px;
}
.block-intro-programme h1 {
  margin: 10px 0;
}
.block-intro-programme h1 .sub {
  color: #0085a1;
  margin-top: 5px;
}
.block-intro-programme .caracteristique-wrapper {
  float: right;
  padding: 2px;
}
.block-intro-programme .caracteristique-wrapper img.caracteristique-logo {
  max-width: 240px;
}
.block-intro-programme .caracteristique-wrapper img.caracteristique-logo--arkadea {
  max-width: 220px;
}
.block-intro-programme strong {
  font-weight: bolder;
}
.block-intro-programme .strike-text {
  position: relative;
  display: inline-block;
  font-family: "Gotham", sans-serif;
  font-weight: 500;
  letter-spacing: 0rem;
  font-size: 0.8235294118rem;
  line-height: 0.8235294118rem;
}
.block-intro-programme .strike-text:after {
  content: "";
  width: 100%;
  height: 1px;
  background: black;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-1px);
}
.block-intro-programme .price {
  font-size: 1.2352941176rem;
  font-weight: 600;
  color: #005d71;
}
.block-intro-programme .text-tag {
  text-transform: none;
}
.block-intro-programme .txt-margeBot > span {
  padding: 0 5px;
}
.block-intro-programme .tags {
  font-size: 0;
  margin-bottom: 20px;
}
.block-intro-programme .tags > * {
  display: inline-block;
  vertical-align: middle;
}
.block-intro-programme .tags li {
  margin-right: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .block-intro-programme .pub img {
    width: 100%;
    height: auto;
  }
}
.block-intro-programme .txt-header {
  position: relative;
  padding-left: 15px;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.block-intro-programme .txt-header .address {
  font-family: "Gotham", sans-serif;
  font-weight: 600;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
  color: #04142d;
}
@media screen and (max-width: 1023px) {
  .block-intro-programme .txt-header .address {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.block-intro-programme .txt-header .icons {
  position: absolute;
  top: 0;
  right: 0;
}
.block-intro-programme .txt-header .icons ul {
  text-align: right;
  font-size: 0;
}
.block-intro-programme .txt-header .icons ul > * {
  display: inline-block;
  vertical-align: middle;
}
.block-intro-programme .txt-header .avantage-container {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  border: 1px dotted white;
  padding: 5px;
  text-align: center;
  margin-top: 10px;
  border-radius: 12px;
}
.block-intro-programme .cta-container {
  margin-top: 30px;
}
.block-intro-programme .cta-container a + .btn {
  margin-left: 20px;
}
.block-intro-programme .shape-txt .shapes {
  position: relative;
  height: auto;
  max-width: 100%;
  overflow: hidden;
  margin-left: 50px;
  margin-right: 0;
  text-align: right;
  padding-top: 20px;
}
.block-intro-programme .shape-txt .shapes img {
  display: block;
  width: 567px;
  height: auto;
}
.block-intro-programme .shape-txt .shapes .shape_green {
  position: relative;
  display: inline-block;
}
.block-intro-programme .shape-txt .shapes .shape_yellow {
  position: absolute;
  width: 435px;
  height: auto;
  top: 50%;
  left: 150px;
  transform: translateY(-50%) translateY(-60px);
  transform-origin: right center;
}
.block-intro-programme .shape-txt .content {
  width: 70%;
  max-width: 420px;
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  color: #FFF;
}
.block-intro-programme .shape-txt .txt-header {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: none;
}
.block-intro-programme .shape-txt .txt-header .icon--house {
  margin-bottom: 10px;
}
.block-intro-programme .shape-txt .delivery {
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1rem;
}
@media screen and (min-width: 1280px) {
  .block-intro-programme .floating-block .shape-txt .shapes .shape_yellow {
    right: 0;
    left: auto;
    transform: translateY(-50%) translateY(-60px);
    transform-origin: right center;
  }
  .block-intro-programme .floating-block .shape-txt .content {
    top: 50%;
    right: 40px;
    left: auto;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1120px) {
  .block-intro-programme .col-1-2 .shapes {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1025px) {
  .block-intro-programme .floating-block {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 85vh;
    min-height: 220px;
    max-height: 600px;
  }
  .block-intro-programme .floating-block .txt-content__inside {
    max-width: 700px;
  }
  .block-intro-programme .floating-block .shape-txt {
    position: absolute;
    width: 100%;
    top: 100%;
    right: 50%;
    transform: translate(50%, -50%);
  }
}
@media screen and (max-width: 1024px) {
  .block-intro-programme .shape-txt .shapes {
    margin-left: 10px;
  }
}
@media screen and (max-width: 1023px) {
  .block-intro-programme .shape-txt {
    float: right;
    display: block;
  }
  .block-intro-programme .shape-txt .shapes {
    margin-left: 60px;
  }
  .block-intro-programme .shape-txt .content {
    width: 380px;
  }
  .block-intro-programme:after {
    content: "";
    clear: both;
  }
}
@media screen and (max-width: 767px) {
  .block-intro-programme .col-1-2:last-child .shapes {
    margin-left: 0;
    overflow: visible;
  }
  .block-intro-programme .col-1-2:last-child .shapes img {
    width: 80%;
    height: auto;
    margin-left: 50%;
    display: block;
    transform: translateX(-50%);
  }
  .block-intro-programme .col-1-2:last-child .shapes img.shape_yellow {
    margin-left: 0;
    transform: translateY(-50%) translateY(-40px) scale(0.8);
    transform-origin: top center;
  }
  .block-intro-programme .col-1-2:last-child .content {
    width: calc(100vw - 40px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    left: 52%;
  }
  .block-intro-programme .cta-container {
    width: 100%;
  }
  .block-intro-programme .cta-container .btn {
    text-align: center;
  }
}
@media screen and (max-width: 460px) {
  .block-intro-programme .col-1-2:last-child .shapes img {
    height: 450px;
    width: auto;
    margin-left: 0;
    transform: none;
  }
}

.program-description {
  padding: 15px;
}
.program-description a {
  text-decoration: underline;
}
.program-description-bihome {
  margin-top: 20px;
}
.program-description-bihome > br, .program-description-bihome img {
  display: none;
}

/* ==========================================================================
   LOTS (Blocks)
   ========================================================================== */
.block-lots .visualisation {
  position: relative;
  margin-top: 45px;
}
.block-lots .visualisation img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-lots .visualisation + .block-lots__content {
  margin-top: 0px;
}
.block-lots .filters {
  background: #75c2bd;
  color: #04142d;
  padding: 25px 0 40px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .block-lots .filters {
    padding: 20px 0 35px;
  }
}
@media screen and (max-width: 767px) {
  .block-lots .filters .btn--filter span {
    display: none;
  }
}
.block-lots .filters .filters-container {
  overflow: visible;
}
.block-lots .filters .filters-container .swiper-container {
  overflow: visible;
}
.block-lots .filters .filters-text {
  font-family: "Gotham", sans-serif;
  font-weight: 600;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
  margin-bottom: 10px;
  padding: 0 5px;
}
@media screen and (max-width: 1023px) {
  .block-lots .filters .filters-text {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.block-lots .filters ul {
  flex-wrap: wrap;
}
.block-lots .filters ul li {
  display: inline-block;
  width: auto;
  padding: 5px;
}
.block-lots .lists {
  margin-top: -20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
.block-lots .lists .block--list-lots {
  background: #f5f5f5;
  border-radius: 4px;
  max-height: 540px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
  position: relative;
}
.block-lots .lists .block--list-lots.no-scrollable {
  max-height: 100%;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .block--list-lots {
    height: 100% !important;
    max-height: 100% !important;
  }
}
.block-lots .lists .block--list-lots .scroll-container {
  padding: 35px 60px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .block--list-lots .scroll-container {
    padding: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .block--list-lots .scroll-container {
    max-height: 740px;
    overflow: hidden;
  }
  .block-lots .lists .block--list-lots .scroll-container.is-visible {
    height: auto;
    max-height: none;
  }
}
.block-lots .lists .block--list-lots .list-items {
  width: calc(100% + 50px);
  margin-left: -25px;
  margin-top: -15px;
}
@media screen and (max-width: 1120px) {
  .block-lots .lists .block--list-lots .list-items {
    width: 100%;
    margin-left: 0;
  }
}
.block-lots .lists .block--list-lots .list-items:after {
  content: "";
  display: block;
  clear: both;
}
.block-lots .lists .block--list-lots .list-items .list-item {
  margin: 15px 25px;
  float: left;
  display: inline-block;
  width: calc(50% - 50px);
}
@media screen and (max-width: 1120px) {
  .block-lots .lists .block--list-lots .list-items .list-item {
    width: 100%;
    float: none;
    display: block;
    margin: 15px auto;
  }
}
.block-lots .lists .btn-container {
  display: none;
  position: absolute;
  bottom: 10px;
  width: 100%;
  z-index: 3;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .btn-container {
    display: block;
  }
}
.block-lots .lists .btn-container .btn {
  min-width: 290px;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .swiper-container {
    width: calc(100% + 40px);
    margin-left: -20px;
    padding-left: 20px;
  }
}
.block-lots .lists .swiper-container.is-disabled .swiper-wrapper {
  display: block;
  width: calc(100% + 50px);
  margin-left: -25px;
  transform: none !important;
}
.block-lots .lists .swiper-container.is-disabled .swiper-wrapper .swiper-slide {
  text-align: left;
  padding-bottom: 20px;
  margin: 0 25px;
  display: inline-block;
}
@media screen and (max-width: 1240px) {
  .block-lots .lists .swiper-container.is-disabled .swiper-wrapper {
    display: block;
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
  .block-lots .lists .swiper-container.is-disabled .swiper-wrapper .swiper-slide {
    margin: auto;
    display: block;
  }
  .block-lots .lists .swiper-container.is-disabled .swiper-wrapper .swiper-slide:last-child {
    padding-bottom: 0;
  }
}
.block-lots .lists .swiper-slide {
  max-width: 475px;
  margin-right: 50px;
}
@media screen and (max-width: 1023px) {
  .block-lots .lists .swiper-slide {
    max-width: 200px;
    margin-right: 10px;
  }
}
.block-lots .lists__item {
  padding-bottom: 20px;
}
.block-lots .lists__item:last-child() {
  margin-bottom: 0;
}
.block-lots__push {
  background: #75c2bd;
  text-align: center;
  padding-bottom: 20px;
}
.block-lots__push .title {
  font-size: 1.2941176471rem;
  letter-spacing: 0;
  line-height: 2rem;
  font-weight: 600;
  color: #04142d;
  display: inline-block;
  margin: 30px 15px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .block-lots__push .title {
    display: block;
    margin: 0 auto;
    padding: 15px 0 10px;
  }
}
.block-lots__push .mention-parking {
  display: block;
  max-width: 1050px;
  margin: 0 auto !important;
}
@media screen and (max-width: 767px) {
  .block-lots__push .mention-parking {
    margin-right: 10px;
  }
}
.block-lots__push .btn {
  vertical-align: middle;
  margin: 0 15px;
}
@media screen and (max-width: 767px) {
  .block-lots__push .btn {
    margin: 0 auto 20px;
  }
}
.block-lots__content {
  position: relative;
  margin-top: 45px;
}
.block-lots__content .mention-parking {
  margin-right: 40px;
  text-align: right;
  margin-bottom: 0px;
  font-size: 0.8823529412rem;
  text-transform: none;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .block-lots__content .mention-parking {
    margin-right: 0px;
  }
}

/* ==========================================================================
   LOT (Blocks)
   ========================================================================== */
.block-lot {
  width: 100%;
  max-width: 475px;
  position: relative;
  min-width: 450px;
}
@media screen and (max-width: 1120px) {
  .block-lot {
    max-width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .block-lot {
    min-width: 100%;
    max-width: 180px;
  }
}
.block-lot .block-lot-container {
  margin-left: 10px;
  padding-top: 16px;
  display: block;
  position: relative;
  z-index: 1;
  transition: opacity 0.35s;
}
.block-lot--simple {
  max-width: 100%;
}
.block-lot--simple .block-lot-container {
  padding-top: 0;
}
.block-lot--simple .block-lot__text {
  height: 90px;
}
@media screen and (max-width: 1023px) {
  .block-lot--simple .block-lot__text--simple {
    height: auto;
  }
}
@media screen and (max-width: 1023px) {
  .block-lot--simple .block-lot__text--simple .content {
    height: auto;
    position: relative;
  }
  .block-lot--simple .block-lot__text--simple .content .title {
    position: relative;
    top: auto;
    transform: none;
  }
}
.block-lot--simple .block-lot__text--simple .title {
  font-size: 0.8235294118rem;
  line-height: 1.2941176471rem;
}
@media screen and (max-width: 767px) {
  .block-lot--simple .block-lot__text--simple .title {
    font-size: 0.7058823529rem;
    line-height: 1.2941176471rem;
  }
}
.block-lot--simple .block-lot__text .content {
  padding: 10px 25px 10px 20px;
}
@media screen and (max-width: 1023px) {
  .block-lot--simple .block-lot__text .content {
    padding: 20px 10px;
  }
}
.block-lot--simple .block-lot__price {
  height: 100%;
}
@media screen and (max-width: 1023px) {
  .block-lot--simple .block-lot__price {
    height: 65px;
  }
}
.block-lot--simple .block-lot__price .configurator-link {
  position: absolute;
  top: 5px;
  right: 5px;
}
.block-lot--simple .block-lot__price .content {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 20px;
}
@media screen and (max-width: 1023px) {
  .block-lot--simple .block-lot__price .content {
    position: absolute;
    left: 0;
    top: 0;
    transform: none;
    width: 100%;
    height: 100%;
  }
  .block-lot--simple .block-lot__price .content ul {
    padding-bottom: 0;
  }
}
.block-lot .icon--excluweb {
  width: 40px;
  height: 40px;
  font-size: 0.5588235294rem;
}
.block-lot .tags {
  position: absolute;
  top: 0;
}
.block-lot__body {
  width: 100%;
  text-align: left;
  cursor: default !important;
}
.block-lot__body:not(.no-plan):hover .block-lot__layer, .block-lot__body:not(.no-plan):focus .block-lot__layer {
  opacity: 1;
  visibility: visible;
}
.block-lot__text {
  height: 120px;
  overflow: hidden;
  background: #04142d;
  width: calc(100% - 210px);
  color: #FFF;
  position: relative;
  border-radius: 4px 0 0 4px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1023px) {
  .block-lot__text {
    width: 100%;
    padding-bottom: 4px;
    border-radius: 4px 4px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .block-lot__text {
    height: 94px;
  }
}
.block-lot__text--simple .content .title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.block-lot__text:after {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  background: #04142d;
}
@media screen and (max-width: 1023px) {
  .block-lot__text:after {
    left: 0;
    top: 100%;
    width: 100%;
    height: 4px;
  }
}
.block-lot__text .content {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 15px 25px 15px 20px;
}
@media screen and (max-width: 1023px) {
  .block-lot__text .content {
    padding: 10px;
  }
}
.block-lot__text .ref,
.block-lot__text .exclu {
  position: absolute;
  top: 15px;
  right: 20px;
  color: #FFF;
  font-size: 0.4705882353rem;
  line-height: 0.5882352941rem;
  text-transform: uppercase;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .block-lot__text .ref,
  .block-lot__text .exclu {
    top: 10px;
    right: 10px;
  }
}
.block-lot__text .exclu {
  top: auto;
  bottom: 15px;
}
@media screen and (max-width: 1023px) {
  .block-lot__text .exclu {
    bottom: 10px;
    right: 5px;
    transform: scale(0.8);
  }
}
.block-lot__text .title {
  font-size: 0.7058823529rem;
  line-height: 1.2941176471rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0rem;
  max-width: calc(100% - 35px);
}
@media screen and (max-width: 767px) {
  .block-lot__text .title {
    font-size: 0.5294117647rem;
    line-height: 0.8823529412rem;
  }
}
.block-lot__text .title > span:not(.sub) {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.block-lot__text .sub {
  font-size: 1rem;
  line-height: 1.5294117647rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0rem;
}
.block-lot__text .info {
  position: absolute;
  bottom: 15px;
  left: 20px;
  color: #FFF;
}
@media screen and (max-width: 1023px) {
  .block-lot__text .info {
    bottom: 15px;
    left: 10px;
  }
}
.block-lot__text .info ul li {
  display: inline-block;
  color: #FFF;
  font-size: 0.8235294118rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .block-lot__text .info ul li {
    font-size: 0.7058823529rem;
  }
}
.block-lot__text .info ul li:before {
  content: "";
  position: relative;
  width: 4px;
  height: 4px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 2px;
  background: #005d71;
  display: inline-block;
  border-radius: 4px;
}
.block-lot__text .info ul li:first-child:before {
  content: none;
}
.block-lot__price {
  position: absolute;
  width: 100%;
  height: calc(100% - 16px);
  right: 0;
  bottom: 0;
  border-radius: 4px;
  overflow: hidden;
  width: 215px;
  background: #FFF;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1023px) {
  .block-lot__price {
    position: relative;
    top: -4px;
    transform: none;
    left: auto;
    right: auto;
    bottom: auto;
    height: 140px;
    width: 100%;
  }
}
.block-lot__price .content {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 20px;
  text-align: left;
}
@media screen and (max-width: 1023px) {
  .block-lot__price .content {
    padding: 0;
    height: 100%;
    transform: none;
    top: auto;
  }
}
@media screen and (max-width: 1023px) {
  .block-lot__price ul {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    padding: 0 20px 30px 20px;
    padding: 0 10px 10px 10px;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .block-lot__price ul {
    padding: 0 10px 10px 10px;
  }
}
.block-lot__price ul li {
  color: #04142d;
  margin-top: 10px;
  position: relative;
}
.block-lot__price ul li:first-child {
  margin-top: 0;
}
.block-lot__price .strike-text {
  position: relative;
  display: inline-block;
  margin-bottom: 3px;
  font-family: "Gotham", sans-serif;
  font-weight: 500;
  letter-spacing: 0rem;
  font-size: 0.8235294118rem;
  line-height: 0.8235294118rem;
}
.block-lot__price .strike-text:after {
  content: "";
  width: 100%;
  height: 1px;
  background: black;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-1px);
}
.block-lot__price .small-text {
  font-size: 0.8235294118rem;
}
.block-lot__price .medium-text {
  font-size: 1rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .block-lot__price .medium-text {
    font-size: 0.8rem;
  }
}
.block-lot__price .mini-text {
  font-family: "Gotham", sans-serif;
  font-weight: 500;
  letter-spacing: 0rem;
  font-size: 0.7647058824rem;
  line-height: normal;
  font-size: 0.7058823529rem;
}
.block-lot__price .price {
  display: inline-block;
  width: 100%;
  padding-right: 70px;
  color: #005d71;
}
.block-lot__price .price-container {
  position: relative;
}
.block-lot__price .tva {
  max-width: 90px;
  text-align: right;
  position: absolute;
  right: 0;
  bottom: 0;
  padding-left: 10px;
  margin-bottom: 3px;
}
@media screen and (max-width: 1023px) {
  .block-lot__price .tva {
    margin-bottom: 0px;
  }
}
.block-lot__layer {
  position: absolute;
  width: 100%;
  height: calc(100% - 16px);
  bottom: 0;
  left: 0;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.35s;
  visibility: hidden;
  cursor: pointer;
}
.block-lot__layer .layer-container {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}

/*************** SCROLLBAR BASE CSS ***************/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
  position: relative;
}

.scroll-wrapper > .scroll-content {
  border: none !important;
  box-sizing: content-box !important;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none !important;
  overflow: scroll !important;
  padding: 0;
  position: relative !important;
  top: 0;
  width: auto !important;
}

.scroll-wrapper > .scroll-content::-webkit-scrollbar {
  height: 0;
  width: 0;
}

.scroll-element {
  display: none;
}

.scroll-element, .scroll-element div {
  box-sizing: content-box;
}

.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
  display: block;
}

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default;
}

.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999;
}

.scroll-textarea > .scroll-content {
  overflow: hidden !important;
}

.scroll-textarea > .scroll-content > textarea {
  border: none !important;
  box-sizing: border-box;
  height: 100% !important;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  outline: none;
  padding: 2px;
  position: relative !important;
  top: 0;
  width: 100% !important;
}

.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
  height: 0;
  width: 0;
}

/*************** SIMPLE INNER SCROLLBAR ***************/
.scrollbar-inner > .scroll-element,
.scrollbar-inner > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 1;
}

.scrollbar-inner > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-inner > .scroll-element.scroll-x {
  bottom: 2px;
  height: 8px;
  left: 0;
  width: 100%;
}

.scrollbar-inner > .scroll-element.scroll-y {
  height: calc(100% - 80px);
  right: 20px;
  top: 40px;
  width: 8px;
}

.scrollbar-inner > .scroll-element .scroll-element_outer {
  overflow: hidden;
}

.scrollbar-inner > .scroll-element .scroll-element_outer,
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

.scrollbar-inner > .scroll-element .scroll-element_track {
  background-color: #e0e0e0;
}

.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #c2c2c2;
}

.scrollbar-inner > .scroll-element:hover .scroll-bar {
  background-color: #919191;
}

.custom-scrollbar--secondary.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #005d71;
}

.custom-scrollbar--secondary.scrollbar-inner > .scroll-element .scroll-bar:hover {
  background-color: #005d71;
  opacity: 0.9;
}

.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -12px;
}

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -12px;
}

.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -12px;
}

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -12px;
}

/*************** SIMPLE OUTER SCROLLBAR ***************/
.scrollbar-outer > .scroll-element,
.scrollbar-outer > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-outer > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-outer > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-outer > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  width: 100%;
}

.scrollbar-outer > .scroll-element.scroll-y {
  height: 100%;
  right: 0;
  top: 0;
  width: 12px;
}

.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {
  height: 8px;
  top: 2px;
}

.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  width: 8px;
}

.scrollbar-outer > .scroll-element .scroll-element_outer {
  overflow: hidden;
}

.scrollbar-outer > .scroll-element .scroll-element_track {
  background-color: #efeae8;
}

.custom-scrollbar--secondary .scrollbar-outer > .scroll-element .scroll-element_outer,
.scrollbar-outer > .scroll-element .scroll-element_track,
.scrollbar-outer > .scroll-element .scroll-bar {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

.scrollbar-outer > .scroll-element .scroll-bar {
  background-color: #04142d;
}

.scrollbar-outer > .scroll-element .scroll-bar:hover {
  background-color: #000;
}

.custom-scrollbar--secondary.scrollbar-outer > .scroll-element .scroll-bar {
  background-color: #005d71;
}

.custom-scrollbar--secondary.scrollbar-outer > .scroll-element .scroll-bar:hover {
  background-color: #005d71;
  opacity: 0.9;
}

.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-outer > .scroll-content.scroll-scrolly_visible {
  left: -12px;
  margin-left: 12px;
}

.scrollbar-outer > .scroll-content.scroll-scrollx_visible {
  top: -12px;
  margin-top: 12px;
}

.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {
  min-width: 10px;
}

.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {
  min-height: 10px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -14px;
}

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -14px;
}

.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -14px;
}

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -14px;
}

/*************** SCROLLBAR MAC OS X ***************/
.scrollbar-macosx > .scroll-element,
.scrollbar-macosx > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-macosx > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-macosx > .scroll-element .scroll-element_track {
  display: none;
}

.scrollbar-macosx > .scroll-element .scroll-bar {
  background-color: #6C6E71;
  display: block;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.scrollbar-macosx:hover > .scroll-element .scroll-bar,
.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}

.scrollbar-macosx > .scroll-element.scroll-x {
  bottom: 0px;
  height: 0px;
  left: 0;
  min-width: 100%;
  overflow: visible;
  width: 100%;
}

.scrollbar-macosx > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0px;
  top: 0;
  width: 0px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {
  height: 7px;
  min-width: 10px;
  top: -9px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {
  left: -9px;
  min-height: 10px;
  width: 7px;
}

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {
  left: 2px;
}

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {
  top: 2px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px;
}

.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px;
}

/*************** SCROLLBAR LIGHT ***************/
.scrollbar-light > .scroll-element,
.scrollbar-light > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-light > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-light > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-light > .scroll-element .scroll-element_outer {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.scrollbar-light > .scroll-element .scroll-element_size {
  background: #dbdbdb;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #dbdbdb), color-stop(100%, #e8e8e8));
  background: -webkit-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -o-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -ms-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.scrollbar-light > .scroll-element.scroll-x {
  bottom: 0;
  height: 17px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-light > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 17px;
}

.scrollbar-light > .scroll-element .scroll-bar {
  background: #fefefe;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #fefefe), color-stop(100%, #f5f5f5));
  background: -webkit-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -o-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -ms-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);
  border: 1px solid #dbdbdb;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-light > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px;
}

.scrollbar-light > .scroll-content.scroll-scrollx_visible {
  top: -17px;
  margin-top: 17px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 0px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-bar {
  left: 0px;
  min-height: 10px;
  width: 10px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer {
  height: 12px;
  left: 2px;
  top: 2px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  top: 2px;
  width: 12px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px;
}

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px;
}

.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px;
}

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px;
}

/*************** SCROLLBAR RAIL ***************/
.scrollbar-rail > .scroll-element,
.scrollbar-rail > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-rail > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-rail > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-rail > .scroll-element .scroll-element_size {
  background-color: #999;
  background-color: rgba(0, 0, 0, 0.3);
}

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-element_size {
  background-color: #666;
  background-color: rgba(0, 0, 0, 0.5);
}

.scrollbar-rail > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  min-width: 100%;
  padding: 3px 0 2px;
  width: 100%;
}

.scrollbar-rail > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  padding: 0 2px 0 3px;
  right: 0;
  top: 0;
  width: 12px;
}

.scrollbar-rail > .scroll-element .scroll-bar {
  background-color: #d0b9a0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-bar {
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* scrollbar height/width & offset from container borders */
.scrollbar-rail > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px;
}

.scrollbar-rail > .scroll-content.scroll-scrollx_visible {
  margin-top: 17px;
  top: -17px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 1px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-bar {
  left: 1px;
  min-height: 10px;
  width: 10px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_outer {
  height: 15px;
  left: 5px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_size {
  height: 2px;
  left: -10px;
  top: 5px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_outer {
  top: 5px;
  width: 15px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_size {
  left: 5px;
  top: -10px;
  width: 2px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -25px;
}

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -25px;
}

.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -25px;
}

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -25px;
}

/*************** SCROLLBAR DYNAMIC ***************/
.scrollbar-dynamic > .scroll-element,
.scrollbar-dynamic > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-dynamic > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-dynamic > .scroll-element.scroll-x {
  bottom: 2px;
  height: 7px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-dynamic > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 2px;
  top: 0;
  width: 7px;
}

.scrollbar-dynamic > .scroll-element .scroll-element_outer {
  opacity: 0.3;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}

.scrollbar-dynamic > .scroll-element .scroll-element_size {
  background-color: #cccccc;
  opacity: 0;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.scrollbar-dynamic > .scroll-element .scroll-bar {
  background-color: #6c6e71;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-dynamic > .scroll-element.scroll-x .scroll-bar {
  bottom: 0;
  height: 7px;
  min-width: 24px;
  top: auto;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-bar {
  left: auto;
  min-height: 24px;
  right: 0;
  width: 7px;
}

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_outer {
  bottom: 0;
  top: auto;
  left: 2px;
  -webkit-transition: height 0.2s;
  -moz-transition: height 0.2s;
  -o-transition: height 0.2s;
  -ms-transition: height 0.2s;
  transition: height 0.2s;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_outer {
  left: auto;
  right: 0;
  top: 2px;
  -webkit-transition: width 0.2s;
  -moz-transition: width 0.2s;
  -o-transition: width 0.2s;
  -ms-transition: width 0.2s;
  transition: width 0.2s;
}

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px;
}

.scrollbar-dynamic > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px;
}

/* hover & drag */
.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer {
  overflow: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-element_size,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {
  opacity: 1;
}

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-bar,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {
  height: 100%;
  width: 100%;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}

.scrollbar-dynamic > .scroll-element.scroll-x:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer {
  height: 20px;
  min-height: 7px;
}

.scrollbar-dynamic > .scroll-element.scroll-y:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer {
  min-width: 7px;
  width: 20px;
}

/*************** SCROLLBAR GOOGLE CHROME ***************/
.scrollbar-chrome > .scroll-element,
.scrollbar-chrome > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-chrome > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-chrome > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-chrome > .scroll-element .scroll-element_track {
  background: #f1f1f1;
  border: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-x {
  bottom: 0;
  height: 16px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-chrome > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 16px;
}

.scrollbar-chrome > .scroll-element .scroll-bar {
  background-color: #d9d9d9;
  border: 1px solid #bdbdbd;
  cursor: default;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

.scrollbar-chrome > .scroll-element .scroll-bar:hover {
  background-color: #c2c2c2;
  border-color: #a9a9a9;
}

.scrollbar-chrome > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
  border-color: #7e7e7e;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-chrome > .scroll-content.scroll-scrolly_visible {
  left: -16px;
  margin-left: 16px;
}

.scrollbar-chrome > .scroll-content.scroll-scrollx_visible {
  top: -16px;
  margin-top: 16px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-bar {
  height: 8px;
  min-width: 10px;
  top: 3px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-bar {
  left: 3px;
  min-height: 10px;
  width: 8px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_outer {
  border-left: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_track {
  height: 14px;
  left: -3px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_size {
  height: 14px;
  left: -4px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_outer {
  border-top: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_track {
  top: -3px;
  width: 14px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
  width: 14px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px;
}

@media screen and (min-width: 1025px) {
  .template-programme .fil-ariane {
    max-width: calc(50% - 30px);
  }
}
@media screen and (max-width: 1024px) {
  .template-programme .fil-ariane {
    padding-bottom: 0;
  }
  .template-programme .fil-ariane > div {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    padding-bottom: 10px;
  }
}
.template-programme > .row {
  position: relative;
}
.template-programme .image-decorated {
  position: relative;
}
.template-programme .image-decorated::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  border-radius: 150px;
  background-color: #005d71;
  border-radius: 0 150px 0 0;
  z-index: 0;
  bottom: -30px;
  left: -30px;
}
.template-programme h2, .template-programme h3 {
  text-align: left;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .template-programme h2, .template-programme h3 {
    font-size: 1.7647058824rem;
  }
}
.template-programme .title-city {
  margin-right: 50px;
}
.template-programme .cta-container {
  margin-top: 30px;
  margin-bottom: 5px;
}
.template-programme .cta-container a + .btn {
  margin-left: 20px;
}
.template-programme .vitrine {
  position: relative;
  width: 100%;
  height: 600px;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .template-programme .vitrine {
    height: 450px;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .vitrine {
    height: 340px;
  }
}
@media screen and (max-width: 767px) {
  .template-programme .vitrine {
    height: 240px;
  }
}
.template-programme .caracteristiques {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
}
.template-programme .caracteristiques .caracteristique-wrapper {
  margin: 10px;
}
.template-programme .caracteristiques .caracteristique-wrapper img {
  max-width: 125px;
  max-height: 85px;
  object-fit: contain;
}
.template-programme .residence {
  margin-top: 90px;
}
.template-programme .residence .article > div {
  display: none;
}
.template-programme .residence .article > div.actif {
  display: block;
}
.template-programme .residence .content > .row {
  padding-top: 15px;
  padding-right: 140px;
}
.template-programme .residence .content .chapo {
  margin-bottom: 30px;
  text-align: left;
}
.template-programme .residence .content .nav li {
  margin-bottom: 15px;
  opacity: 0.6;
  transition: all 0.25s ease-out;
  cursor: pointer;
}
.template-programme .residence .content .nav li span {
  transition: all 0.25s ease-out;
}
.template-programme .residence .content .nav li.actif {
  opacity: 1;
}
.template-programme .residence .content .nav li.actif span {
  color: #005d71;
  font-weight: 600;
  font-size: 1.2352941176rem;
  line-height: 1.5294117647rem;
}
.template-programme .residence .content .article {
  text-align: right;
}
.template-programme .residence .content .article .excerpt {
  text-align: left;
  max-height: 222px;
  overflow: hidden;
  line-height: 1.5;
}
.template-programme .residence .content .article .excerpt.open {
  max-height: none;
}
.template-programme .residence .content .article .btn {
  margin-top: 20px;
  font-size: 0.7058823529rem;
}
@media screen and (max-width: 1120px) {
  .template-programme .residence .block-push {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .template-programme .residence .push .block-push {
    width: 100%;
  }
  .template-programme .residence .content > .row {
    padding-right: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .residence .col-2-3, .template-programme .residence .col-1-3 {
    display: block;
    width: 100%;
  }
  .template-programme .residence .col-1-3 {
    text-align: center;
  }
  .template-programme .residence .col-1-3 .block-push {
    max-width: 320px;
  }
  .template-programme .residence .col-1-3 .block-push .title {
    font-size: 2.5882352941rem;
    line-height: 1.23;
  }
}
.template-programme .residence .col-1-12, .template-programme .residence .col-11-12 {
  display: block;
  width: 100%;
}
.template-programme .residence .content .nav {
  margin-bottom: 15px;
}
.template-programme .residence .content .nav li, .template-programme .residence .content .nav li.actif {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .template-programme .residence .content .article {
    margin-bottom: 30px;
  }
  .template-programme .residence .content .article p {
    font-size: 0.8235294118rem;
    line-height: 1.71;
  }
  .template-programme .residence .content .article .excerpt {
    max-height: 320px;
  }
  .template-programme .residence .col-1-3 .block-push {
    padding: 30px 20px;
  }
  .template-programme .residence .col-1-3 .block-push .title {
    font-size: 2.3529411765rem;
  }
  .template-programme .residence .col-1-3 .block-push span:not(.btn) {
    font-size: 1.2941176471rem;
    line-height: 1.45;
  }
}
.template-programme .logement .block-logement {
  margin-bottom: 50px;
}
.template-programme .logement .visualisation {
  position: relative;
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .template-programme .logement .visualisation iframe {
    height: 100%;
  }
}
.template-programme .logement .visualisation img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.template-programme .logement .visualisation .filters {
  position: absolute;
  top: 30px;
  right: 30px;
}
.template-programme .logement .visualisation .filters .btn-container {
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.template-programme .logement .visualisation .filters .btn-container + .btn-container {
  margin-left: 20px;
}
.template-programme .logement .visualisation .filters .btn--select {
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.template-programme .logement .visualisation .filters .btn--select.open {
  z-index: 2;
}
.template-programme .logement .visualisation .filters .btn--select.open .selected:after {
  transform: rotate(-135deg);
}
.template-programme .logement .slick-list {
  overflow: visible;
  margin: 0 -15px;
}
.template-programme .logement .slick-slide {
  width: 200px;
  outline: 0;
  margin: 0 15px 20px 15px;
}
.template-programme .logement .app {
  position: relative;
  background: #FFF;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  width: 200px;
  height: 210px;
  text-align: left;
  margin-top: -90px;
  z-index: 1;
  transition: transform 0.35s ease-in-out;
}
.template-programme .logement .app a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  outline: 0;
}
.template-programme .logement .app:hover {
  transform: translateY(-20%);
}
.template-programme .logement .app:hover a:hover .cta-container {
  transform: translateY(0) translateX(-50%);
}
.template-programme .logement .app .head {
  position: relative;
  background: #ea86ad;
  text-align: center;
  color: #FFF;
  height: 90px;
  border-radius: 4px 4px 0 0;
}
.template-programme .logement .app .head .mask {
  position: relative;
  height: 100%;
  width: 100%;
  padding: 15px;
  overflow: hidden;
  background: #04142d;
  z-index: 1;
  border-radius: 4px 4px 0 0;
}
.template-programme .logement .app .head .stick {
  position: absolute;
  top: 0;
  left: 0;
  text-transform: uppercase;
}
.template-programme .logement .app .head .stick--seen {
  transform: rotate(-45deg) translateY(150%) translateX(-45%);
  transform-origin: left center;
  background: #75c2bd;
  color: #FFF;
  font-size: 0.4705882353rem;
  font-weight: 700;
  letter-spacing: normal;
  display: inline-block;
  padding: 2px 20px;
  z-index: 2;
}
.template-programme .logement .app .head .stick--reserved {
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 10px 0;
  text-align: center;
  background: #75c2bd;
  transform: translateY(-95%);
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 0.7058823529rem;
  line-height: 0.7058823529rem;
  border-radius: 4px 4px 0 0;
  z-index: 0;
}
.template-programme .logement .app .head .stick--exclu {
  top: auto;
  bottom: 0;
  left: 20px;
  transform: translateY(50%);
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background: #005d71;
  color: #FFF;
  z-index: 2;
}
.template-programme .logement .app .head .stick--exclu span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.5294117647rem;
  font-weight: 700;
  line-height: 1.11;
}
.template-programme .logement .app .head h3 {
  font-family: "Gotham", sans-serif;
  font-weight: 600;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
}
@media screen and (max-width: 1023px) {
  .template-programme .logement .app .head h3 {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .logement .app .head .subtitle {
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 0.8235294118rem;
  line-height: 1.5294117647rem;
}
.template-programme .logement .app .custScroll-wrapper {
  position: relative;
  padding: 25px 20px 20px 20px;
  overflow: auto;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
}
.template-programme .logement .app .custScroll-wrapper div {
  position: relative;
}
.template-programme .logement .app .custScroll-wrapper div span {
  display: inline-block;
}
.template-programme .logement .app .custScroll-wrapper div span:first-child {
  float: left;
}
.template-programme .logement .app .custScroll-wrapper div span:last-child {
  float: right;
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 0.7058823529rem;
  line-height: 0.7058823529rem;
}
.template-programme .logement .app .custScroll-wrapper div:after {
  content: "";
  display: block;
  clear: both;
}
.template-programme .logement .app .custScroll-wrapper div + div {
  padding-top: 12px;
}
.template-programme .logement .app .custScroll-wrapper div + div:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  border-top: 1px dotted #cfd1d5;
  display: block;
}
.template-programme .logement .app .prices {
  position: relative;
  width: 100%;
  height: 120px;
  border-radius: 0 0 4px 4px;
  overflow: hidden;
}
.template-programme .logement .app .prices:before {
  content: "";
  height: 100%;
  width: 0;
  display: inline-block;
  vertical-align: middle;
}
.template-programme .logement .app .prices > div:not(.cta-container):not(.custScroll-wrapper) {
  position: relative;
  width: 100%;
  height: 100%;
}
.template-programme .logement .app .prices .strike {
  position: relative;
  display: inline-block;
  font-family: "Gotham", sans-serif;
  font-weight: 500;
  letter-spacing: 0rem;
  font-size: 0.8235294118rem;
  line-height: 0.8235294118rem;
}
.template-programme .logement .app .prices .strike:after {
  content: "";
  width: 100%;
  height: 1px;
  background: black;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-1px);
}
.template-programme .logement .app .prices .price {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
  line-height: normal;
  letter-spacing: normal;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .template-programme .logement .app .prices .price {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .logement .app .prices .cta-container {
  position: absolute;
  left: 50%;
  bottom: 0px;
  text-align: center;
  width: 100%;
  padding: 15px 20px;
  background: #FFF;
  margin-top: 0;
  transform: translateX(-50%) translateY(100%);
  transition: transform 0.35s ease-in-out;
}
.template-programme .logement .app .prices .cta-container .btn--primary--white {
  font-size: 0.7058823529rem;
  padding: 10px 15px;
  letter-spacing: normal;
  width: calc(100% - 30px);
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .template-programme .logement .visualisation .filters {
    right: 20px;
    text-align: right;
  }
  .template-programme .logement .visualisation .filters .btn-container {
    display: block;
  }
  .template-programme .logement .visualisation .filters .btn-container + .btn-container {
    margin-left: 0;
    margin-top: 10px;
  }
  .template-programme .logement .visualisation .filters .btn-container .selected {
    line-height: normal;
    padding: 9px 60px 9px 15px;
  }
  .template-programme .logement .visualisation .filters .btn-container .submenu {
    position: absolute;
    left: 0;
    max-height: 109px;
    overflow: auto;
  }
  .template-programme .logement .visualisation .filters .btn-container .submenu li {
    padding: 9px 15px;
    line-height: normal;
  }
}
@media screen and (max-width: 767px) {
  .template-programme .logement .visualisation {
    width: 100%;
    height: 320px;
  }
  .template-programme .logement .visualisation .filters {
    right: auto;
    left: 50%;
    text-align: center;
    transform: translateX(-50%);
    width: 100%;
    pointer-events: none;
  }
  .template-programme .logement .visualisation .filters .btn-container {
    display: inline-block;
    vertical-align: top;
    pointer-events: auto;
  }
  .template-programme .logement .visualisation .filters .btn-container + .btn-container {
    margin-left: 10px;
    margin-top: 0;
  }
  .template-programme .logement .visualisation .filters .btn-container .selected {
    line-height: normal;
    padding: 9px 60px 9px 15px;
  }
  .template-programme .logement .visualisation .filters .btn-container .submenu {
    position: absolute;
    left: 0;
    max-height: 109px;
    overflow: auto;
  }
  .template-programme .logement .visualisation .filters .btn-container .submenu li {
    padding: 9px 15px;
    line-height: normal;
  }
}
.template-programme .certifications {
  margin-top: 50px;
}
.template-programme .timeline {
  margin-top: 90px;
}
.template-programme .timeline h2 {
  margin-bottom: 40px;
}
.template-programme .interieur {
  padding-top: 70px;
  margin-top: 90px;
}
.template-programme .interieur .content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
}
.template-programme .interieur .content h2 {
  line-height: 1;
  margin-bottom: 15px;
}
.template-programme .interieur .content p {
  line-height: 1.5;
}
.template-programme .interieur .content .btn + .btn {
  margin-left: 2%;
  margin-top: 10px;
}
.template-programme .interieur .col-1-2 {
  vertical-align: middle;
}
.template-programme .interieur .col-1-2:first-child .content img {
  width: 100%;
  height: auto;
  min-width: 520px;
}
.template-programme .interieur .col-1-2:first-child p {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 1.6470588235rem;
  line-height: 2.2352941176rem;
  color: #04142d;
}
@media screen and (max-width: 767px) {
  .template-programme .interieur .col-1-2:first-child p {
    font-size: 1.2941176471rem;
    line-height: 1.36;
  }
}
.template-programme .interieur .col-1-2:first-child .center {
  margin-top: -4%;
  margin-left: 40%;
  display: inline-block;
  text-align: left;
}
.template-programme .interieur .col-1-2:last-child .content {
  width: 100%;
  max-width: 450px;
}
.template-programme .interieur .col-1-2:last-child p + p {
  margin-top: 30px;
}
.template-programme .interieur .show-ipad-land {
  display: none;
}
@media screen and (max-width: 1120px) {
  .template-programme .interieur .col-1-2:last-child .shape {
    margin-left: -10px;
  }
  .template-programme .interieur .col-1-2:last-child .content {
    width: 85%;
    left: 55%;
  }
}
@media screen and (max-width: 1024px) {
  .template-programme .interieur {
    padding-bottom: 140px;
  }
  .template-programme .interieur .show-ipad-land {
    position: absolute;
    top: 0;
    left: 90%;
    display: block;
  }
  .template-programme .interieur .hide-ipad-land {
    display: none;
  }
  .template-programme .interieur .col-1-2:last-child .shape {
    margin-left: -20px;
  }
  .template-programme .interieur .col-1-2:last-child .content {
    position: relative;
    top: auto;
    left: 25px;
    transform: translateY(50%);
    max-width: 95%;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .interieur {
    padding-bottom: 0;
  }
  .template-programme .interieur .show-ipad-land {
    position: absolute;
    top: 90%;
    left: 100px;
    display: block;
    display: none;
  }
  .template-programme .interieur .hide-ipad-land {
    display: block;
  }
  .template-programme .interieur .col-1-2 {
    display: block;
    width: 100%;
  }
  .template-programme .interieur .col-1-2:first-child .content img {
    min-width: 0;
  }
  .template-programme .interieur .col-1-2:last-child .shape {
    margin-top: -60px;
    width: 90%;
    margin-left: 10%;
  }
  .template-programme .interieur .col-1-2:last-child .content {
    position: absolute;
    top: 50%;
    left: calc(10% + 80px);
    width: 80%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .template-programme .interieur .col-1-2:first-child .shape {
    width: 150%;
    margin-left: -20%;
  }
  .template-programme .interieur .col-1-2:first-child .shape img {
    width: 100%;
  }
  .template-programme .interieur .col-1-2:first-child .content {
    top: 43%;
    width: 90%;
    margin: 0 auto 0 -30px;
    text-align: left;
  }
  .template-programme .interieur .col-1-2:first-child .content img {
    width: 100%;
  }
  .template-programme .interieur .col-1-2:first-child .center {
    margin-left: 40px;
    margin-top: 10px;
  }
  .template-programme .interieur .col-1-2:last-child .shape {
    margin-left: -100px;
    width: 100%;
  }
  .template-programme .interieur .col-1-2:last-child .content {
    left: 0;
    width: 100%;
    padding: 0 20px;
  }
  .template-programme .interieur .col-1-2:last-child .content .btn {
    min-width: 100px;
    padding: 11px 20px;
  }
}
.template-programme .rencontrer {
  margin-top: 90px;
  padding-bottom: 5px;
}
.template-programme .rencontrer > .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.template-programme .rencontrer .content {
  padding-right: 50px;
}
.template-programme .rencontrer .content p {
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 1023px) {
  .template-programme .rencontrer .content p {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .rencontrer .content p.weight--demi {
  font-weight: 700;
}
.template-programme .rencontrer h2 {
  margin-bottom: 30px;
}
.template-programme .rencontrer .address {
  color: #0085a1;
}
@media screen and (max-width: 1023px) {
  .template-programme .rencontrer .image-decorated {
    display: none;
  }
  .template-programme .rencontrer .image-decorated.content {
    display: block;
    width: 100%;
  }
  .template-programme .rencontrer .image-decorated.content .btn {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .template-programme .rencontrer .content {
    padding-right: 0;
  }
  .template-programme .rencontrer .content.col-1-2 .btn {
    margin-top: 20px;
  }
  .template-programme .rencontrer .btn {
    padding: 11px 20px;
    min-width: 100px;
  }
}
.template-programme .prog-sim {
  margin-top: 90px;
}
.template-programme .icade-part {
  margin-top: 90px;
}
.template-programme .proxy-city {
  margin-top: 90px;
  margin-bottom: 45px;
}
.template-programme .proxy-city .cities {
  margin-top: 30px;
}
.template-programme .proxy-city a {
  display: inline-block;
  vertical-align: middle;
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .template-programme .proxy-city a {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .proxy-city a:hover {
  cursor: pointer;
  text-decoration: underline;
}
.template-programme .proxy-city a + a {
  margin-left: 20px;
}
.template-programme .proxy-city .hideDesk {
  display: none;
}
@media screen and (max-width: 767px) {
  .template-programme .proxy-city .showDesk {
    display: none;
  }
  .template-programme .proxy-city .hideDesk {
    display: block;
  }
  .template-programme .proxy-city a + a {
    margin-left: 40px;
  }
}
.template-programme .contact-form {
  margin-top: 40px;
  position: relative;
  padding-bottom: 40px;
}
.template-programme .contact-form > .row > div {
  margin-top: 15px;
  margin-bottom: 20px;
}
.template-programme .contact-form .title-container {
  margin-bottom: 40px;
}
.template-programme .contact-form label {
  cursor: text;
}
.template-programme .contact-form .content {
  position: relative;
  max-width: 560px;
  margin-left: auto;
}
.template-programme .contact-form .content_inner {
  max-width: 330px;
  margin: 0 auto;
  isolation: isolate;
}
.template-programme .contact-form .content_inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 200px;
  height: 200px;
  border-radius: 200px;
  background-color: #9dbc00;
  border-radius: 0 0 0 200px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.template-programme .contact-form .content p.intro {
  text-transform: uppercase;
  text-align: center;
  font-weight: 600;
}
.template-programme .contact-form .content p.days-counter {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 5.8823529412rem;
  line-height: 4.1176470588rem;
  letter-spacing: -0.1823529412rem;
  font-weight: 600;
}
.template-programme .contact-form .content p.little {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 50px;
  font-weight: 500;
  font-size: 1.0588235294rem;
  line-height: 1.4705882353rem;
}
.template-programme .contact-form .content .btn {
  margin-top: 25px;
}
.template-programme .contact-form .inlineBlock {
  font-size: 0;
}
.template-programme .contact-form .inlineBlock > * {
  display: inline-block;
  vertical-align: middle;
}
.template-programme .contact-form form {
  padding-right: 140px;
  padding-left: 60px;
}
.template-programme .contact-form form .input-text {
  margin-top: 10px;
}
.template-programme .contact-form form input[type=submit], .template-programme .contact-form form button[type=submit] {
  margin-top: 30px;
}
.template-programme .contact-form form .legend {
  margin-top: 50px;
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 0.7058823529rem;
  line-height: 0.7058823529rem;
  color: #cfd1d5;
}
.template-programme .contact-form form input[type=radio] {
  opacity: 0;
  width: 0;
  height: 0;
  display: none;
  visibility: hidden;
  position: absolute;
  left: -99999px;
}
@media screen and (max-width: 1120px) {
  .template-programme .contact-form .col-1-2 form {
    padding-right: 40px;
    padding-left: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .contact-form .col-1-2 {
    display: block;
    width: 100%;
  }
  .template-programme .contact-form .col-1-2 form {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .template-programme .contact-form .shapes {
    padding-bottom: 70px;
  }
  .template-programme .contact-form .shapes img {
    width: 98%;
  }
  .template-programme .contact-form .shapes .shape-black img {
    width: 90%;
  }
  .template-programme .contact-form .content .btn {
    padding: 11px 20px;
    min-width: 100px;
    margin-top: 15px;
  }
}
.template-programme .logement-co {
  margin-top: 90px;
  padding-bottom: 20px;
}
.template-programme .logement-co > .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.template-programme .logement-co .content {
  padding-right: 50px;
}
.template-programme .logement-co .content h2 {
  font-family: "Gotham", sans-serif;
  font-weight: 700;
  letter-spacing: 0rem;
  font-size: 1.6470588235rem;
  line-height: 2.2352941176rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .template-programme .logement-co .content h2 {
    font-size: 1.2941176471rem;
    line-height: 1.36;
  }
}
.template-programme .logement-co .content p {
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
}
@media screen and (max-width: 1023px) {
  .template-programme .logement-co .content p {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .logement-co .content ul li span {
  font-family: "Gotham", sans-serif;
  font-weight: 400;
  letter-spacing: 0rem;
  font-size: 1rem;
  line-height: 1.5294117647rem;
}
@media screen and (max-width: 1023px) {
  .template-programme .logement-co .content ul li span {
    font-size: 0.7647058824rem;
    line-height: 1.4117647059rem;
  }
}
.template-programme .logement-co .content ul li:before {
  content: "";
  width: 5px;
  height: 5px;
  background: #04142d;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  border-radius: 5px;
}
.template-programme .logement-co .content .btn {
  margin-top: 20px;
}
.template-programme .logement-co .image img {
  width: 540px;
  height: auto;
}
.template-programme .logement-co .showMobile {
  display: none;
}
@media screen and (max-width: 1024px) {
  .template-programme .logement-co .image {
    text-align: right;
    padding: 20px;
  }
  .template-programme .logement-co .image img {
    width: 90%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .logement-co .col-1-2 {
    display: block;
    width: 100%;
  }
  .template-programme .logement-co .col-1-2:last-child {
    z-index: 1;
  }
  .template-programme .logement-co .image {
    padding: 20px;
  }
  .template-programme .logement-co .image img {
    width: 90%;
  }
  .template-programme .logement-co .showDesktop {
    display: none;
  }
  .template-programme .logement-co .showMobile {
    display: block;
  }
}
@media screen and (max-width: 1023px) {
  .template-programme .logement-co {
    padding-bottom: 50px;
  }
  .template-programme .logement-co .image img {
    width: 100%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbV9wYWdlLjJkODEwMzEyLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7K0VBQUE7QUNBQTs7K0VBQUE7QUNBQTs7K0VBQUE7QUNFRTtFQUNFO0VBQ0E7QUNRSjtBRFBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUNTTjtBRFBNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJIREM7RUdFRDtBQ1NSO0FESk07RUFDRTtBQ01SO0FESE07RUFDRSxtQkhaQztBSWlCVDtBRERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNHTjtBRERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCSHBDRTtFR3FDRjtFQUNBO0FDR047QURETTtFRDhMSjtFQUNBO0VBQ0E7RUFDQTtFQy9MTTtFQUNBO0VBQ0E7RUFDQSxtQkg5Q0s7RUcrQ0w7QUNNUjtBRERFO0VBQ0U7QUNHSjtBREFNO0VBQ0UsY0gxREE7QUk0RFI7QUREUTtFQUNFO0VBQ0E7QUNHVjtBREVJO0VBQ0U7QUNBTjtBREVNO0VBQ0UsY0hyRUs7QUlxRWI7QURJSTtFRGtERjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFbkRGO0FGMUVFO0VDdUVFO0lEeURBO0lBQ0E7RUVsREY7QUFDRjtBREZNO0VBQ0U7QUNJUjtBRElRO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJIakdHO0VHa0dIO0FDSFY7QURLUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FDSFY7QURPUTtFQUNFO0VBQ0EsZ0JIN0dGO0FJd0dSO0FET1E7RUFDRSxnQkhoSEY7QUkyR1I7QURRTTtFQUNFO0FDTlI7QUYvRkU7RUM4R007SUFDRTtFQ1pSO0VEY1E7SUFDRTtFQ1pWO0VEaUJJO0lBQ0U7SUFDQTtFQ2ZOO0VEaUJNO0lBQ0U7RUNmUjtBQUNGO0FGckhFO0VDNElJO0lBQ0U7RUNwQk47RURzQk07SUFDRTtJQUNBO0VDcEJSO0VEd0JNO0lBQ0U7SUFDQTtFQ3RCUjtFRHlCSTtJQUNFO0VDdkJOO0FBQ0Y7QUY1SUU7RUN3S0U7SUFDRTtFQ3pCSjtFRDJCSTs7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VDekJOO0VEMkJNOztJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUN4QlI7RUQyQk07O0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VDeEJSO0VEMkJNOztJQUNFO0lBQ0E7SUFDQTtFQ3hCUjtFRDBCUTs7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFQ3ZCVjtFRDBCUTs7SUFDRTtJQUNBO0VDdkJWO0VENEJJO0lBQ0U7RUMxQk47RUQ2Qkk7SUFDRTtJQUNBO0VDM0JOO0VENkJNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQzNCUjtFRDZCUTtJQUNFO0VDM0JWO0FBQ0Y7O0FEbUNFO0VBQ0U7QUNoQ0o7QURrQ0U7RUFDRTtFQUNBO0VBQ0E7QUNoQ0o7QURpQ0k7RUFDRTtBQy9CTjtBRG1DTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CSC9QQztBSThOVDtBRG9DTTtFQUNFLG1CSG5RQztBSWlPVDtBRHFDUTtFQUNFO0FDbkNWO0FGeE9FO0VDMFFNO0lBR0k7RUNqQ1Y7QUFDRjtBRG1DUTtFQUNFO0FDakNWO0FEb0NjO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJIdlJUO0FJcVBQO0FEcUNZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJIalNQO0FJOFBQO0FGL1BFO0VDZ1JNO0lBc0JJO0VDbkNWO0FBQ0Y7QURxQ1E7RUFDRTtBQ25DVjtBRHFDUTtFQUNFLG1CSC9TRztBSTRRYjtBRHNDVTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGdCSHJUSjtBSWlSUjtBRHlDWTtFQUNFLGdCSDNUTjtBSW9SUjtBRHdDYztFQUNFO0VBQ0E7RUFDQTtBQ3RDaEI7QUQ0Q1U7RUFDRSxtQkhwVUw7RUdxVUs7QUMxQ1o7QURnREk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzlDTjtBRnJTRTtFQ3FWRTtJQUVJO0VDOUNOO0FBQ0Y7QURnREk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JIaldFO0VHa1dGO0VBQ0E7QUM5Q047QURnRE07RUQvSEo7RUFDQTtFQUNBO0VBQ0E7RUM4SE07RUFDQTtFQUNBO0VBQ0EsbUJIM1dLO0FJZ1ViO0FEZ0RJO0VBQ0U7RUFDQSxjSGxYTztBSW9VYjtBRmxVRTtFQzhXRTtJQUlJO0VDNUNOO0FBQ0Y7QUQ4Q0k7RUQvTUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRW9LRjtBRnZVRTtFQzhXRTtJRHpNQTtJQUNBO0VFc0tGO0FBQ0Y7QURvQ0k7RUFDRTtBQ2xDTjtBRG1DTTtFQUNFLGNIMVhEO0FJeVZQOztBQ3ZXQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXNCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CTGhCTTtBSXlYUjtBQ3ZXRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CTHRCSTtFS3VCSjtFQUNBO0FEeVdKO0FDdFdFO0VBQ0U7QUR3V0o7QUNyV0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRHVXSjtBQ3BXRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FEc1dKO0FDbldFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRHFXSjtBRjNYRTtFRzBCRTtJQUNFO0lBQ0E7RURvV0o7QUFDRjtBQ2pXRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSDBKRjtBRTBNRjtBRnhNRTtFQUNFO0VBQ0E7QUUwTUo7QUNyV0k7RUFDRTtFQUNBO0VBQ0E7QUR1V047QUN0V007RUFDRTtBRHdXUjtBQ3RXTTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGdCTGpGQTtFS2tGQTtFQUNBO0VBQ0E7RUFDQTtBRHdXUjtBQ3RXUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQkwzRkg7RUs0Rkc7RUFDQTtBRHdXVjtBQ3RXVTtFSGtHUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBK0JBO0VBQ0E7RUFDQTtFQUNBO0VHcklVLFdMcEdKO0FJbWRSO0FGbGRFO0VHMkdFO0lBQ0U7RUQwV0o7RUN6V0k7SUFDRTtFRDJXTjtFQzFXTTtJQUNFO0VENFdSO0VDMVdNO0lBQ0U7SUFDQTtFRDRXUjtFQzFXUTtJQUNFO0lBQ0E7RUQ0V1Y7RUNyV0U7SUFDRTtFRHVXSjtBQUNGOztBRW5mSTtFQUNFO0VBQ0E7QUZzZk47QUVwZkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnNmTjtBRXJmTTtFSmdQSjtFQUNBO0VBQ0E7RUFDQSxZSWxQaUQ7RUptUGpELGFJblBpRDtFSm9QakQsb0JJcFBpRDtFSnFQakQseUJGdFBPO0VFZ1FQO0VJOVBNO0VBQ0E7RUFDQTtBRjhmUjtBRTVmTTtFQUNFO0VBQ0E7QUY4ZlI7QUU1Zk07RUFDRTtBRjhmUjtBRTVmTTtFQUNFO0VBQ0E7QUY4ZlI7QUU1Zk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBRjhmUjtBRTdmUTtFQUNFO0FGK2ZWO0FFNWZNO0VBQ0U7RUFDQTtBRjhmUjtBRTFmRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRjRmSjtBRTFmRTtFQUNFO0FGNGZKO0FFMWZJO0VBQ0UsY045Q0s7RU0rQ0w7QUY0Zk47QUV4ZkU7RUFDRTtFQUNBO0FGMGZKO0FFemZJO0VBQ0U7QUYyZk47QUUxZk07RUFDRTtBRjRmUjtBRXRmRTtFQUNFO0FGd2ZKO0FFcmZFO0VBQ0U7RUFDQTtFSm1JRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFcVhGO0FFemZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRjJmTjtBRXZmRTtFQUNFO0VBQ0E7RUFDQSxjTnhGRztBSWlsQlA7QUV0ZkU7RUFDRTtBRndmSjtBRXBmSTtFQUNFO0FGc2ZOO0FFbGZFO0VKc0hBO0VJL0dFO0FGK2VKO0FGOVhFO0VBQ0U7RUFDQTtBRWdZSjtBRXZmSTtFQUNFO0VBQ0E7QUZ5Zk47QUZwbUJFO0VJa0hJO0lBQ0U7SUFDQTtFRnFmTjtBQUNGO0FFamZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZtZko7QUVqZkk7RUp1Q0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSXpDSSxjTnBJRTtBSTJuQlI7QUZqbkJFO0VJd0hFO0lKNkNBO0lBQ0E7RUVnZEY7QUFDRjtBRTFmSTtFQUNFO0VBQ0E7RUFDQTtBRjRmTjtBRTFmTTtFQUNFO0VKa0ZOO0FFMmFGO0FGemFFO0VBQ0U7RUFDQTtBRTJhSjtBRTVmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUY4Zk47QUUxZkU7RUFDRTtBRjRmSjtBRXpmTTtFQUNFO0FGMmZSO0FFcmZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnVmTjtBRXJmTTtFQUNFO0VBQ0E7RUFDQTtBRnVmUjtBRXBmTTtFQUNFO0VBQ0E7QUZzZlI7QUVuZk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnFmUjtBRWxmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdON01FO0FJaXNCUjtBRWxmSTtFQUNFO0VBQ0E7RUFDQTtBRm9mTjtBRWxmTTtFQUNFO0FGb2ZSO0FFamZJO0VBQ0U7RUFDQTtFQUNBO0FGbWZOO0FGanJCRTtFSXNNUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VGOGVWO0VFM2VNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RUY2ZVI7QUFDRjtBRnRzQkU7RUlpT0k7SUFDRTtFRndlTjtBQUNGO0FGcHNCRTtFSWlPRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VGc2VKO0VFcmVJO0lBQ0U7RUZ1ZU47RUVyZUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VGdWVOO0FBQ0Y7QUZ2dUJFO0VJc1FJO0lBQ0U7RUZvZU47QUFDRjtBRm52QkU7RUlvUkU7SUFDRTtJQUNBO0VGa2VKO0VFaGVJO0lBQ0U7RUZrZU47RUVoZUk7SUFDRTtFRmtlTjtFRTlkRTtJQUNFO0lBQ0E7RUZnZUo7QUFDRjtBRjF3QkU7RUkrU0k7SUFDRTtJQUNBO0VGOGROO0VFNWRNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRjhkUjtFRTVkUTtJQUNFO0lBQ0E7SUFDQTtFRjhkVjtFRXpkSTtJQUNFO0lKOUZOO0lBQ0E7SUFDQTtJQUNBO0lJNkZNO0VGOGROO0VFMWRFO0lBQ0U7RUY0ZEo7RUUxZEk7SUFDRTtFRjRkTjtBQUNGO0FGOXdCRTtFSXlUTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VGd2RSO0FBQ0Y7O0FFbmRBO0VBQ0U7QUZzZEY7QUVyZEU7RUFDRTtBRnVkSjtBRXJkRTtFQUNFO0FGdWRKO0FFdGRJO0VBQ0U7QUZ3ZE47O0FHNTBCQTs7K0VBQUE7QUFNRTtFQUNFO0VBQ0E7QUg0MEJKO0FHMTBCSTtFQUNFO0VBQ0E7RUFDQTtBSDQwQk47QUd6MEJJO0VBQ0U7QUgyMEJOO0FHdjBCRTtFQUNFLG1CUFRRO0VPVVIsY1BiSTtFT2NKO0VBQ0E7QUh5MEJKO0FGcjFCRTtFS1FBO0lBTUk7RUgyMEJKO0FBQ0Y7QUYxMUJFO0VLaUJJO0lBRUk7RUgyMEJSO0FBQ0Y7QUd4MEJJO0VBQ0U7QUgwMEJOO0FHejBCTTtFQUNFO0FIMjBCUjtBR3gwQkk7RUx5SUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSzNJSTtFQUNBO0FIODBCTjtBRnYyQkU7RUtzQkU7SUwrSUE7SUFDQTtFRXNzQkY7QUFDRjtBR2wxQkk7RUFDRTtBSG8xQk47QUduMUJNO0VBQ0U7RUFDQTtFQUNBO0FIcTFCUjtBR2gxQkU7RUFDRTtFQUNBO0FIazFCSjtBRnozQkU7RUtxQ0E7SUFJSTtJQUNBO0VIbzFCSjtBQUNGO0FHbjFCSTtFQUNFLG1CUDVDUTtFTzZDUjtFQUNBO0VBQ0E7RUFDQTtBSHExQk47QUdwMUJNO0VBQ0U7QUhzMUJSO0FGejRCRTtFSzRDRTtJQVVJO0lBQ0E7RUh1MUJOO0FBQ0Y7QUd0MUJNO0VBQ0U7RUFDQTtBSHcxQlI7QUZuNUJFO0VLeURJO0lBSUk7RUgwMUJSO0FBQ0Y7QUZ4NUJFO0VLeURJO0lBT0k7SUFDQTtFSDQxQlI7RUczMUJRO0lBQ0U7SUFDQTtFSDYxQlY7QUFDRjtBRzExQk07RUFDRTtFQUNBO0VBQ0E7QUg0MUJSO0FGejVCRTtF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QjtFRjU1QmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUU2c0dGO0FGaDNHRTtFRTJqQ2tCO0lGdDVCaEI7SUFDQTtFRStzR0Y7QUFDRjtBQXh6RW9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsbUJKNWtDaEI7RUk2a0NnQjtFQUNBO0VBQ0E7RUFDQTtBQTB6RXhCO0FBcnpFWTtFQUNJO0FBdXpFaEI7QUFsekVZO0VBQ0k7RUFDQTtBQW96RWhCO0FBaHpFUTtFQUNJO0FBa3pFWjtBRm40R0U7RUVxbENVO0lBQ0k7SUFDQTtFQWl6RWQ7RUEveUVjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUFpekVsQjtBQUNGO0FGdDVHRTtFRTBtQ1U7SUFDSTtJQUNBO0VBK3lFZDtFQTd5RWM7SUFDSTtFQSt5RWxCO0VBM3lFVTtJQUNJO0VBNnlFZDtFQTN5RWM7SUFDSTtFQTZ5RWxCO0VBenlFVTtJQUNJO0VBMnlFZDtFQXh5RVU7SUFDSTtFQTB5RWQ7QUFDRjtBRjM2R0U7RUVtaUNFO0lBa0dRO0VBMHlFVjtFQXh5RWM7SUFDSTtFQTB5RWxCO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ljYWRlLWltbW9iaWxpZXIvLi9hc3NldHMvc2Nzcy9iYXNlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9pY2FkZS1pbW1vYmlsaWVyLy4vYXNzZXRzL3Njc3MvYmFzZS9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaWNhZGUtaW1tb2JpbGllci8uL2Fzc2V0cy9zY3NzL2Jhc2UvX21peGlucy5zY3NzIiwid2VicGFjazovL2ljYWRlLWltbW9iaWxpZXIvLi9hc3NldHMvc2Nzcy9uYXYvX3RpbWVsaW5lLnNjc3MiLCJ3ZWJwYWNrOi8vaWNhZGUtaW1tb2JpbGllci8uL2Fzc2V0cy9zY3NzL3RlbXBsYXRlcy9fcHJvZ3JhbW1lLnNjc3MiLCJ3ZWJwYWNrOi8vaWNhZGUtaW1tb2JpbGllci8uL2Fzc2V0cy9zY3NzL2Jsb2Nrcy9fdml0cmluZS1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9pY2FkZS1pbW1vYmlsaWVyLy4vYXNzZXRzL3Njc3MvYmxvY2tzL19pbnRyby1wcm9ncmFtbWUuc2NzcyIsIndlYnBhY2s6Ly9pY2FkZS1pbW1vYmlsaWVyLy4vYXNzZXRzL3Njc3MvYmxvY2tzL19sb3RzLnNjc3MiLCJ3ZWJwYWNrOi8vaWNhZGUtaW1tb2JpbGllci8uL2Fzc2V0cy9zY3NzL2Jsb2Nrcy9fbG90LnNjc3MiLCJ3ZWJwYWNrOi8vaWNhZGUtaW1tb2JpbGllci8uL2Fzc2V0cy9zY3NzL3BsdWdpbnMvX2pxdWVyeS1zY3JvbGxiYXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVkFSSUFCTEVTIChCYXNlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gUGF0aFxuJHBhdGg6IFwiLi4vLi4vXCI7XG4kcGF0aElNRzogXCIjeyRwYXRofWltZy9cIjtcblxuLy8gQ29sb3JzXG4kYmxhY2tEYXJrOiAjMDAwO1xuJGJsYWNrOiAjMDQxNDJkO1xuJGJsYWNrTGlnaHQ6ICNjZmQxZDU7XG4kd2hpdGU6ICNGRkY7XG4kdHVycXVvaXNlOiAjNzVjMmJkO1xuJGJsdWU6ICMwMDVkNzE7XG4kZHVja0JsdWU6ICMwMDg1YTE7XG4kZ3JlZW46ICM5ZGJjMDA7XG4keWVsbG93OiAjZmZjNjAwO1xuJHZpb2xldDogIzI5MDI2NDtcbiRncmV5OiAjOWI5YjliO1xuJGdyZXlMaWdodDogI2VmZWZlZjtcbiRncmV5TWVkaXVtIDogI2Y1ZjVmNTtcbiRyZWQ6ICNlYTg2YWQ7XG4kcmVkRXJyb3I6ICNkMDAyMWI7XG4kc2Nyb2xsYmFyOiAjZWZlYWU4O1xuXG4kZWFzZUluT3V0OiBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuXG4vLyBTaXplcyAoRm9udHMpXG4kdGl0bGUxU2l6ZTogNTY7XG4kdGl0bGVMUFNpemU6IDU0O1xuJHRpdGxlMlNpemU6IDQwO1xuJHRpdGxlM1NpemU6IDMyO1xuJHRpdGxlNFNpemU6IDI2O1xuJHJ1YjogMzA7XG4kdGl0bGU1U2l6ZTogMjE7XG4kY2hhcG86IDI4O1xuJGJhc2VsaW5lU2l6ZTogMTg7XG4kYm9keU5vcm1hbFNpemU6IDIxO1xuJGJvZHlTbWFsbFNpemU6IDE3O1xuJGxpbmtUYWdTaXplOiAxMztcbiRsaW5rTWVudVNpemU6IDIwO1xuJGxpbmtTaXplOiAxMjtcbiRsaW5rTWVkaXVtU2l6ZTogMTQ7XG4kbGlua1NtYWxsU2l6ZTogMTE7XG4kcHJpeEJhcnJlU2l6ZTogMTQ7XG4kZmlsdGVyU2l6ZTogMTQ7XG4ka2V5RmlndXJlU2l6ZTogNjU7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRlVOQ1RJT05TIChCYXNlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gVXNpbmcgcmVtIGZvbnQgc2l6ZSB1bml0IHdpdGggcHggZmFsbGJhY2tzXG5AZnVuY3Rpb24gZm9udC1zaXplKCR2YWx1ZTogJGJvZHlTbWFsbFNpemUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAkYm9keVNtYWxsU2l6ZSArIHJlbTtcbn1cblxuQGZ1bmN0aW9uIHB4MnJlbSgkdmFsdWU6IDE2KSB7XG4gIEByZXR1cm4gZm9udC1zaXplKCR2YWx1ZSk7XG59XG5cbi8vIExldHRlciBzcGFjaW5nIGNvbnZlcnRlciAoUGhvdG9zaG9wIHZhbHVlKVxuQGZ1bmN0aW9uIGxldHRlci1zcGFjaW5nKCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvIDEwMDAgKyBlbTtcbn1cblxuLy8gTGluZSBoZWlnaHQgY2FsY3VsYXRvclxuQGZ1bmN0aW9uIGxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICBAcmV0dXJuICRsaW5lLWhlaWdodCAvICRmb250LXNpemU7XG59XG5cbi8vZXhlbXBsZVxuLy9cbi8vIHZpYSBmdW5jdGlvblxuLy8gZm9udC1zaXplOiBmb250LXNpemUoMTYpO1xuLy9cbi8vIHZpYSBtaXhpblxuLy8gQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbi8vIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE1LCAxMyk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTUlYSU5TIChCYXNlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTUVESUEgUVVFUklFU1xuQG1peGluIG1xLXNtYWxsLW1vYmlsZSgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI1cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNRURJQSBRVUVSSUVTXG5AbWl4aW4gbXEtbW9iaWxlKCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEBpbmNsdWRlIG1xLW1vYmlsZSB7IH1cbkBtaXhpbiBtcS1wb3J0cmFpdCgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQGluY2x1ZGUgbXEtcG9ydHJhaXQgeyB9XG5AbWl4aW4gbXEtbGFuZHNjYXBlKCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBAaW5jbHVkZSBtcS1sYW5kc2NhcGUgeyB9XG5AbWl4aW4gbXEtbGl0dGxlZGVzaygpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyMHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQGluY2x1ZGUgbXEtbGl0dGxlZGVzayB7IH1cbkBtaXhpbiBtcS1zaXplKCRzaXplKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgjeyRzaXplfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEBpbmNsdWRlIG1xLXNpemUoKSB7IH1cblxuLy8gRm9udHNcbkBtaXhpbiB0aXRsZS0xKCR3ZWlnaHQ6IDkwMCkge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKC0xLjgpO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGl0bGUxU2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNjQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoNTApO1xuICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNTUpO1xuICB9XG4gIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKC0xLjQpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZS0xLTIoJHdlaWdodDogOTAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoLTEuOCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aXRsZUxQU2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNTQpO1xuICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoNTApO1xuICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNTUpO1xuICB9XG4gIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKC0xLjQpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZS0yKCR3ZWlnaHQ6IDkwMCkge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKC0xLjIpO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGl0bGUyU2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNDIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoMzIpO1xuICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMzQpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZS0zKCR3ZWlnaHQ6IDkwMCkge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGl0bGUzU2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMzIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gdGl0bGUtNCgkd2VpZ2h0OiA5MDApIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgbGV0dGVyLXNwYWNpbmc6IGZvbnQtc2l6ZSgwKTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJHRpdGxlNFNpemUpO1xuICBsaW5lLWhlaWdodDogZm9udC1zaXplKDM1KTtcbiAgQGluY2x1ZGUgbXEtbW9iaWxlIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNyk7XG4gICAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgyNik7XG4gIH1cbn1cblxuQG1peGluIHRpdGxlLTUoJHdlaWdodDogNTAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aXRsZTVTaXplKTtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG5cbiAgQGluY2x1ZGUgbXEtcG9ydHJhaXQoKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoMjApO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE4KTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1jaGFwbygkd2VpZ2h0OiA0MDApIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgbGV0dGVyLXNwYWNpbmc6IGZvbnQtc2l6ZSgwKTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJGNoYXBvKTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgzOCk7XG5cbiAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDIyKTtcbiAgICBsaW5lLWhlaWdodDogMS4zNjtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1ydWIoJHdlaWdodDogNDAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCRydWIpO1xuICBsaW5lLWhlaWdodDogZm9udC1zaXplKDM4KTtcblxuICBAaW5jbHVkZSBtcS1tb2JpbGUoKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoMjApO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cblxuQG1peGluIHRleHQtcmVndWxhcigkd2VpZ2h0OiAzMDApIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgbGV0dGVyLXNwYWNpbmc6IGZvbnQtc2l6ZSgwKTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJGJvZHlOb3JtYWxTaXplKTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgyOCk7XG4gIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNik7XG4gIH1cbn1cblxuQG1peGluIHRleHQtc3ViKCR3ZWlnaHQ6IDUwMCkge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKDApO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkYm9keU5vcm1hbFNpemUpO1xuICBsaW5lLWhlaWdodDogZm9udC1zaXplKDI0KTtcbn1cblxuQG1peGluIHRleHQtc21hbGwoJHdlaWdodDogMzAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCRib2R5U21hbGxTaXplKTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgyNik7XG4gIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMyk7XG4gICAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgyNCk7XG4gIH1cbn1cblxuQG1peGluIHRleHQtdGFnKCR3ZWlnaHQ6IDUwMCkge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKDApO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkbGlua1RhZ1NpemUpO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5AbWl4aW4gdGV4dC1maWx0ZXIoJHdlaWdodDogNDAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCRmaWx0ZXJTaXplKTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgyNik7XG59XG5cbkBtaXhpbiB0ZXh0LWxpdHRsZUxpbmsoJHdlaWdodDogNzAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCRsaW5rU2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoJGxpbmtTaXplKTtcbn1cblxuQG1peGluIHRleHQtcHJpY2VTdHJpa2UoJHdlaWdodDogNTAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIGxldHRlci1zcGFjaW5nOiBmb250LXNpemUoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCRwcml4QmFycmVTaXplKTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgkcHJpeEJhcnJlU2l6ZSk7XG59XG5cbkBtaXhpbiB0ZXh0LWtleU51bWJlcigkd2VpZ2h0OiA2MDApIHtcbiAgZm9udC1mYW1pbHk6ICdEaW4nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJGtleUZpZ3VyZVNpemUpO1xuICBmb250LXN0cmV0Y2g6IGNvbmRlbnNlZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8vIEhlbHBlcnNcbkBtaXhpbiBpbmxpbmUtY29udGFpbmVyKCRhbGlnbjogXCJtaWRkbGVcIikge1xuICBmb250LXNpemU6IDA7XG5cbiAgJiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogI3skYWxpZ259O1xuICB9XG59XG5cbkBtaXhpbiBhYnNDZW50ZXIoJG1vcmVUcmFuc2Zvcm06IFwiXCIpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAjeyRtb3JlVHJhbnNmb3JtfTtcbn1cblxuQG1peGluIGZ1bGwtbGF5b3V0KCkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcbn1cblxuQG1peGluIGNpcmNsZSgkY29sb3IsICRzaXplOiA0MHB4KSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIHF1YXJ0ZXItY2lyY2xlLXRvcC1sZWZ0KCRjb2xvciwgJHNpemU6IDQwcHgpIHtcbiAgQGluY2x1ZGUgY2lyY2xlKCRjb2xvciwgJHNpemUpO1xuICBib3JkZXItcmFkaXVzOiAkc2l6ZSAwIDAgMDtcbn1cblxuQG1peGluIHF1YXJ0ZXItY2lyY2xlLXRvcC1yaWdodCgkY29sb3IsICRzaXplOiA0MHB4KSB7XG4gIEBpbmNsdWRlIGNpcmNsZSgkY29sb3IsICRzaXplKTtcbiAgYm9yZGVyLXJhZGl1czogMCAkc2l6ZSAwIDA7XG59XG5cbkBtaXhpbiBxdWFydGVyLWNpcmNsZS1ib3R0b20tbGVmdCgkY29sb3IsICRzaXplOiA0MHB4KSB7XG4gIEBpbmNsdWRlIGNpcmNsZSgkY29sb3IsICRzaXplKTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgJHNpemU7XG59XG5cbkBtaXhpbiBxdWFydGVyLWNpcmNsZS1ib3R0b20tcmlnaHQoJGNvbG9yLCAkc2l6ZTogNDBweCkge1xuICBAaW5jbHVkZSBjaXJjbGUoJGNvbG9yLCAkc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAkc2l6ZSAwO1xufVxuIiwiLm5hdi0tdGltZWxpbmUge1xuXG4gIC5saW5lLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJiA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgJGVhc2VJbk91dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aWYge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAucG9pbnQgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgJGJsYWNrTGlnaHQ7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgICAucG9pbnQge1xuICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBhYnNDZW50ZXIoXCJyb3RhdGUoNDVkZWcpXCIpO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFja0xpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzICRlYXNlSW5PdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnR4dC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAuYWN0aWYge1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgyMSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTUlKTtcblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2tMaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcCB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWNoYXBvKDcwMCk7XG4gICAgfVxuICB9XG5cbiAgJi0tbGVmdCB7XG4gICAgLmxpbmUtY29udGFpbmVyIHtcbiAgICAgIC5wb2ludCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXRyYW5zcGFyZW50IHtcbiAgICAubGluZS1jb250YWluZXIge1xuICAgICAgJiA+IGRpdiB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrTGlnaHQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyAkZWFzZUluT3V0O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICRibGFja0xpZ2h0O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYWN0aWYge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5wb2ludCBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wb2ludCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEtbGFuZHNjYXBlKCkge1xuICAgICY6bm90KC5uYXYtLXRpbWVsaW5lLS10cmFuc3BhcmVudCksXG4gICAgJjpub3QoLm5hdi0tdGltZWxpbmUtLWxlZnQpIHtcbiAgICAgIC5jb2wtMy00IHtcbiAgICAgICAgLmNvbC0xLTQge1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHh0LWNvbnRhaW5lciBkaXYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjUlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcblxuICAgICAgICAmICsgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICY6bm90KC5uYXYtLXRpbWVsaW5lLS10cmFuc3BhcmVudCksXG4gICAgJjpub3QoLm5hdi0tdGltZWxpbmUtLWxlZnQpIHtcbiAgICAgID4gLnJvdyA+IC5jb2wtMS00IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0NSUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGluZS1jb250YWluZXIgLnBvaW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICAmOm5vdCgubmF2LS10aW1lbGluZS0tbGVmdCkge1xuICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAubGluZS1jb250YWluZXIsXG4gICAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIC5wb2ludCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkICRibGFja0xpZ2h0O1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLTEtNCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuXG4gICAgICAgICAgJi5hY3RpZjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoODVweCAtIDMwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5saW5lLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgIH1cblxuICAgICAgLnR4dC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cbiAgICAgICAgLmNvbC0xLTQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LS10aW1lbGluZS0taW5saW5lIHtcbiAgPiAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG4gIC5saW5lLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJiA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmFjdGlmIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgICAgfVxuXG4gICAgICAucG9pbnQgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICB9XG4gICAgICAmLmhhcy1zdWJ0aW1lbGluZSB7XG4gICAgICAgIC5pcy1kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmlzLW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAmLmFjdGlmIHtcbiAgICAgICAgICAgIC5wb2ludCB7XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucG9pbnQgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrTGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLnBvaW50IHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFja0xpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29sLTEtNCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAucG9pbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGlmIHtcbiAgICAgICAgICAucG9pbnQgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAkYmxhY2tMaWdodDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICAgIC5jb2wtMS00IHtcbiAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wb2ludCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVyKFwicm90YXRlKDQ1ZGVnKVwiKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2tMaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnR4dC1jb250YWluZXIge1xuICAgIGRpdiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBjb2xvcjogJGJsYWNrTGlnaHQ7XG4gICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3RlcCB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXNtYWxsKDcwMCk7XG4gICAgfVxuICAgIC5hY3RpZiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgJy4uL2Jhc2UvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2Jhc2UvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uL2Jhc2UvbWl4aW5zJztcbkBpbXBvcnQgXCIuLi9uYXYvdGltZWxpbmVcIjtcbkBpbXBvcnQgXCIuLi9ibG9ja3Mvdml0cmluZS1zbGlkZXJcIjtcbkBpbXBvcnQgXCIuLi9ibG9ja3MvaW50cm8tcHJvZ3JhbW1lXCI7XG5AaW1wb3J0IFwiLi4vYmxvY2tzL2xvdHNcIjtcbkBpbXBvcnQgXCIuLi9ibG9ja3MvbG90XCI7XG5AaW1wb3J0IFwiLi4vcGx1Z2lucy9qcXVlcnktc2Nyb2xsYmFyXCI7XG5cbi50ZW1wbGF0ZS1wcm9ncmFtbWUge1xuICAgIEBpbmNsdWRlIG1xLXNpemUoXCJtaW4td2lkdGg6IDEwMjVweFwiKSB7XG4gICAgICAgIC5maWwtYXJpYW5lIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xLWxhbmRzY2FwZSgpIHtcbiAgICAgICAgLmZpbC1hcmlhbmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAucm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5pbWFnZS1kZWNvcmF0ZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWFydGVyLWNpcmNsZS10b3AtcmlnaHQoJGJsdWUsIDE1MHB4KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiwgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xLWxhbmRzY2FwZSgpIHtcbiAgICAgICAgaDIsIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDMwKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLWNpdHkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmN0YS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmICsgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudml0cmluZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbGFuZHNjYXBlKCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyYWN0ZXJpc3RpcXVlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgLmNhcmFjdGVyaXN0aXF1ZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4NXB4O1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzaWRlbmNlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcblxuICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICYuYWN0aWYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICA+IC5yb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hhcG8ge1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpZiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAuZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDoyMjJweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoxLjUwO1xuXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoJGxpbmtTaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1saXR0bGVkZXNrKCkge1xuICAgICAgICAgICAgLmJsb2NrLXB1c2gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbGFuZHNjYXBlKCkge1xuICAgICAgICAgICAgLnB1c2gge1xuICAgICAgICAgICAgICAgIC5ibG9jay1wdXNoIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRlbnQgPiAucm93IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQoKSB7XG5cbiAgICAgICAgICAgIC5jb2wtMi0zLCAuY29sLTEtMyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sLTEtMyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmJsb2NrLXB1c2gge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoNDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0xLTEyLCAuY29sLTExLTEyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgICAgICBsaSwgbGkuYWN0aWYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2wtMS0zIC5ibG9jay1wdXNoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoNDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuOm5vdCguYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDIyKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2VtZW50IHtcbiAgICAgICAgLmJsb2NrLWxvZ2VtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmlzdWFsaXNhdGlvbiB7XG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMzBweDtcblxuICAgICAgICAgICAgICAgIC5idG4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJiArIC5idG4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ0bi0tc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDIwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwJSk7XG4gICAgICAgICAgICAgICAgJiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmN0YS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAubWFzayB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3RpY2t7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgICAgICYtLXNlZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDE1MCUpIHRyYW5zbGF0ZVgoLTQ1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0dXJxdW9pc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLXJlc2VydmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0dXJxdW9pc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTk1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWxpdHRsZUxpbmsoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLWV4Y2x1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zbWFsbCg2MDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3VzdFNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4IDIwcHggMjBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1saXR0bGVMaW5rKDQwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJiArIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAkYmxhY2tMaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlcyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgPiBkaXY6bm90KC5jdGEtY29udGFpbmVyKTpub3QoLmN1c3RTY3JvbGwtd3JhcHBlcikge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0cmlrZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXByaWNlU3RyaWtlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zbWFsbCg3MDApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3RhLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjM1cyBlYXNlLWluLW91dCw7XG5cbiAgICAgICAgICAgICAgICAgICAgLmJ0bi0tcHJpbWFyeS0td2hpdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQoKSB7XG4gICAgICAgICAgICAudmlzdWFsaXNhdGlvbiB7XG4gICAgICAgICAgICAgICAgLmZpbHRlcnMge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIC5idG4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLmJ0bi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggNjBweCA5cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1tb2JpbGUoKSB7XG4gICAgICAgICAgICAudmlzdWFsaXNhdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDtcblxuICAgICAgICAgICAgICAgIC5maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLmJ0bi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLmJ0bi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggNjBweCA5cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2VydGlmaWNhdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIC50aW1lbGluZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnRlcmlldXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVyKCk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0biArIC5idG4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC0xLTIge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWNoYXBvKDcwMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC00JTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCArIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93LWlwYWQtbGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbGl0dGxlZGVzaygpIHtcbiAgICAgICAgICAgIC5jb2wtMS0yIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAuc2hhcGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1sYW5kc2NhcGUoKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG5cbiAgICAgICAgICAgIC5zaG93LWlwYWQtbGFuZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA5MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGlkZS1pcGFkLWxhbmQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sLTEtMiB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgLnNoYXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5zaG93LWlwYWQtbGFuZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogOTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oaWRlLWlwYWQtbGFuZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sLTEtMiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAuc2hhcGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAlICsgODBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgICAgICAgICAgLmNvbC0xLTIge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAuc2hhcGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAwIC0zMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAuc2hhcGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVuY29udHJlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICAgICAgPiAucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc21hbGwoNDAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJi53ZWlnaHQtLWRlbWkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkcmVzcyB7XG4gICAgICAgICAgICBjb2xvcjogJGR1Y2tCbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQoKSB7XG4gICAgICAgICAgICAuaW1hZ2UtZGVjb3JhdGVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgJi5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgJi5jb2wtMS0yIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZy1zaW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgIH1cblxuICAgIC5pY2FkZS1wYXJ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICB9XG5cbiAgICAucHJveHktY2l0eSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG5cbiAgICAgICAgLmNpdGllcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zbWFsbCg0MDApO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiArIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhpZGVEZXNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1tb2JpbGUoKSB7XG4gICAgICAgICAgICAuc2hvd0Rlc2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGlkZURlc2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhICsgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgPiAucm93IHtcbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgJl9pbm5lciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVhcnRlci1jaXJjbGUtYm90dG9tLWxlZnQoJGdyZWVuLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICYuaW50cm8ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5kYXlzLWNvdW50ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoNzApO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogZm9udC1zaXplKC0zLjEpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubGl0dGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmxpbmVCbG9jayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbmxpbmUtY29udGFpbmVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuXG4gICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdLCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbGl0dGxlTGluayg0MDApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tMaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTk5OTk5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1saXR0bGVkZXNrKCkge1xuICAgICAgICAgICAgLmNvbC0xLTIge1xuICAgICAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICAgICAgICAgLmNvbC0xLTIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1tb2JpbGUoKSB7XG4gICAgICAgICAgICAuc2hhcGVzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTglO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zaGFwZS1ibGFjayB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nZW1lbnQtY28ge1xuICAgICAgICA+IC5yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtY2hhcG8oNzAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXNtYWxsKDQwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zbWFsbCg0MDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNob3dNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLWxhbmRzY2FwZSgpIHtcbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICAgICAgICAgLmNvbC0xLTIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2hvd0Rlc2t0b3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaG93TW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLypcbi5sb3Qtdml0cmluZS1zbGlkZXIge1xuICAmOmFmdGVyIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20odHJhbnNwYXJlbnQpLCB0byhyZ2JhKDAsIDAsIDAsIDAuNjUpKSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxNjksIDE2OSwgMTY5LCAwKSwgcmdiYSgwLCAwLCAwLCAwLjY1KSk7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMCwgMCwgMCwgMC42NSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC42NSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjY1KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjY1KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMzAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiovXG5cbi5ibG9jay12aXRyaW5lLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gIC5tYWluSW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAuanMtb3BlblBvcGluU2xpZGVycyB7XG4gICAgY3Vyc29yOiB6b29tLWluO1xuICB9XG5cbiAgLmRlc2NyaXB0aW9uUGljdG8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG5cbiAgJiA+IC5pY29uLS1hcnJvdy0tcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgJiA+IC5pY29uLS1hcnJvdy0tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEtc2l6ZShcIm1pbi13aWR0aDogMTAyNXB4XCIpIHtcbiAgICAubmF2LWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgQGluY2x1ZGUgaW5saW5lLWNvbnRhaW5lcigpO1xuXG4gICAgJiA+IGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgICA+IHNwYW4gPiBzcGFuLmljb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcblxuICAgICAgICAuc3RpY2tOYiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWxpdHRsZUxpbmsoNzAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic0NlbnRlcigpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcS1tb2JpbGUoKSB7XG4gICAgLm5hdiB7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDM1cHg7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgID4gc3BhbiA+IHNwYW4uaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG5cbiAgICAgICAgICAuc3RpY2tOYiB7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLS1hcnJvdy0tcHJldiwgLmljb24tLWFycm93LS1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2staW50cm8tcHJvZ3JhbW1lIHtcbiAgLmZsb2F0aW5nLWJsb2NrIHtcbiAgICAudHh0LWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgIC50eHQtY29udGVudF9faW5zaWRlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogOTglO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTRweCA0cHggOHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBib3gtc2hhZG93OiAtNHB4IDRweCA4cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHF1YXJ0ZXItY2lyY2xlLXRvcC1yaWdodCgkeWVsbG93LCAxNTBweCk7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICAgID4gLnRhZ3Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgLmN0YS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5idG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgICAgICBwYWRkaW5nOiA2cHggMjVweDtcbiAgICAgICAgJiArIC5idG4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIG1heC13aWR0aDogNDM1cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWVudGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGF1dG87XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiAxMHB4O1xuICB9XG4gIGgxIHtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgIC5zdWIge1xuICAgICAgY29sb3I6ICRkdWNrQmx1ZTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAuY2FyYWN0ZXJpc3RpcXVlLXdyYXBwZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgaW1nLmNhcmFjdGVyaXN0aXF1ZS1sb2dvIHtcbiAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAmLS1hcmthZGVhIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC5zdHJpa2UtdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSB0ZXh0LXByaWNlU3RyaWtlKCk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgfVxuICB9XG5cbiAgLnByaWNlIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgyMSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cblxuICAudGV4dC10YWcge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLnR4dC1tYXJnZUJvdCB7XG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIH1cbiAgfVxuXG4gIC50YWdzIHtcbiAgICBAaW5jbHVkZSBpbmxpbmUtY29udGFpbmVyKCk7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgIC5wdWIge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudHh0LWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgLmFkZHJlc3Mge1xuICAgICAgQGluY2x1ZGUgdGV4dC1zbWFsbCg2MDApO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAuaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIGlubGluZS1jb250YWluZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXZhbnRhZ2UtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBib3JkZXI6IDFweCBkb3R0ZWQgd2hpdGU7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICB9XG4gIH1cblxuICAuY3RhLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIGEge1xuICAgICAgJiArIC5idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2hhcGUtdHh0IHtcbiAgICAuc2hhcGVzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTY3cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnNoYXBlX2dyZWVuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5zaGFwZV95ZWxsb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0MzVweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMTUwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC02MHB4KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNjAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAudHh0LWhlYWRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAuaWNvbi0taG91c2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZGVsaXZlcnkge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEtc2l6ZShcIm1pbi13aWR0aDogMTI4MHB4XCIpIHtcbiAgICAuZmxvYXRpbmctYmxvY2sge1xuICAgICAgLnNoYXBlLXR4dCB7XG4gICAgICAgIC5zaGFwZXMge1xuICAgICAgICAgIC5zaGFwZV95ZWxsb3cge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTYwcHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcS1saXR0bGVkZXNrKCkge1xuICAgIC5jb2wtMS0yIHtcblxuICAgICAgLnNoYXBlcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xLXNpemUoXCJtaW4td2lkdGg6IDEwMjVweFwiKSB7XG4gICAgLmZsb2F0aW5nLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogODV2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAudHh0LWNvbnRlbnRfX2luc2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICB9XG4gICAgICAuc2hhcGUtdHh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEtbGFuZHNjYXBlKCkge1xuICAgIC5zaGFwZS10eHQge1xuICAgICAgLnNoYXBlcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xLXBvcnRyYWl0KCkge1xuICAgIC5zaGFwZS10eHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5zaGFwZXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xLW1vYmlsZSgpIHtcbiAgICAuY29sLTEtMjpsYXN0LWNoaWxkIHtcbiAgICAgIC5zaGFwZXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICYuc2hhcGVfeWVsbG93IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTQwcHgpIHNjYWxlKDAuOCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XG4gICAgICAgIEBpbmNsdWRlIGFic0NlbnRlcigpO1xuICAgICAgICBsZWZ0OiA1MiU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEtc2l6ZShcIm1heC13aWR0aDogNDYwcHhcIikge1xuICAgIC5jb2wtMS0yOmxhc3QtY2hpbGQge1xuICAgICAgLnNoYXBlcyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wcm9ncmFtLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgJi1iaWhvbWUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgPiBiciwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTE9UUyAoQmxvY2tzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2NrLWxvdHMge1xuICAvLyAzRCBNQVBcbiAgLnZpc3VhbGlzYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgJiArIC5ibG9jay1sb3RzX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gIH1cbiAgLy8gRmlsdGVyc1xuICAuZmlsdGVycyB7XG4gICAgYmFja2dyb3VuZDogJHR1cnF1b2lzZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDI1cHggMCA0MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgQGluY2x1ZGUgbXEtbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAzNXB4O1xuICAgIH1cbiAgICAuYnRuLS1maWx0ZXIge1xuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVycy1jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVycy10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtc21hbGwoNjAwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIExpc3RzXG4gIC5saXN0cyB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgfVxuICAgIC5ibG9jay0tbGlzdC1sb3RzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmV5TWVkaXVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgbWF4LWhlaWdodDogNTQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJi5uby1zY3JvbGxhYmxlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMzVweCA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA3NDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxpc3QtaXRlbXMge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1xLWxpdHRsZWRlc2sge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3QtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IDI1cHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xLWxpdHRsZWRlc2sge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idG4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmJ0biB7XG4gICAgICAgIG1pbi13aWR0aDogMjkwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDUwcHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICY6bGFzdC1jaGlsZCgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoXG4gICZfX3B1c2gge1xuICAgIGJhY2tncm91bmQ6ICR0dXJxdW9pc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgyMik7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMzQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDMwcHggMTVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWVudGlvbi1wYXJraW5nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDUwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAubWVudGlvbi1wYXJraW5nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTUpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlKCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMT1QgKEJsb2NrcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvY2stbG90IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDc1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA0NTBweDtcbiAgQGluY2x1ZGUgbXEtbGl0dGxlZGVzayB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcbiAgfVxuICAuYmxvY2stbG90LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMzVzO1xuICB9XG4gICYtLXNpbXBsZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC5ibG9jay1sb3QtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgICAuYmxvY2stbG90X190ZXh0IHtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICYtLXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMjIpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZm9udC1zaXplKDIyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMjBweDtcbiAgICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stbG90X19wcmljZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIH1cbiAgICAgIC5jb25maWd1cmF0b3ItbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBFeGNsdSB3ZWJcbiAgLmljb24tLWV4Y2x1d2ViIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoOS41KTtcbiAgfVxuICAvLyBUYWdzXG4gIC50YWdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICB9XG4gICZfX2JvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgJjpub3QoLm5vLXBsYW4pOmhvdmVyLCAmOm5vdCgubm8tcGxhbik6Zm9jdXMge1xuICAgICAgLmJsb2NrLWxvdF9fbGF5ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBUZXh0XG4gICZfX3RleHQge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIxMHB4KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xLW1vYmlsZSB7XG4gICAgICBoZWlnaHQ6IDk0cHg7XG4gICAgfVxuICAgICYtLXNpbXBsZSB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweCAxNXB4IDIwcHg7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5yZWYsXG4gICAgLmV4Y2x1IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIEBpbmNsdWRlIG1xLW1vYmlsZSB7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5leGNsdSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogZm9udC1zaXplKDIyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGZvbnQtc2l6ZSgwKTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XG4gICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSg5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGZvbnQtc2l6ZSgxNSk7XG4gICAgICB9XG4gICAgICA+IHNwYW46bm90KC5zdWIpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuc3ViIHtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBmb250LXNpemUoMjYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGZvbnQtc2l6ZSgwKTtcbiAgICB9XG4gICAgLmluZm8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gUHJpY2VcbiAgJl9fcHJpY2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMjE1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgQGluY2x1ZGUgbXEtcG9ydHJhaXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIG1xLXBvcnRyYWl0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDMwcHggMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHggMTBweDtcbiAgICAgICAgQGluY2x1ZGUgbXEtbW9iaWxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTBweCAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc3RyaWtlLXRleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgQGluY2x1ZGUgdGV4dC1wcmljZVN0cmlrZSgpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNtYWxsLXRleHQge1xuICAgICAgZm9udC1zaXplOiBmb250LXNpemUoJGxpbmtNZWRpdW1TaXplKTtcbiAgICB9XG4gICAgLm1lZGl1bS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKCRib2R5U21hbGxTaXplKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBAaW5jbHVkZSBtcS1tb2JpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAubWluaS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtdGFnKDUwMCk7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMik7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAudHZhIHtcbiAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBAaW5jbHVkZSBtcS1wb3J0cmFpdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbGF5ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC43KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5sYXllci1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIEJBU0UgQ1NTICoqKioqKioqKioqKioqKi9cbi5zY3JvbGwtd3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtY29udGVudCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59XG5cbi5zY3JvbGwtZWxlbWVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2Nyb2xsLWVsZW1lbnQsIC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUsXG4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIsXG4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1hcnJvdyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnNjcm9sbC10ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gIGJvcmRlci10b3AtY29sb3I6ICM5OTk5OTk7XG59XG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuLnNjcm9sbC10ZXh0YXJlYSA+IC5zY3JvbGwtY29udGVudCA+IHRleHRhcmVhIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnNjcm9sbC10ZXh0YXJlYSA+IC5zY3JvbGwtY29udGVudCA+IHRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59XG5cblxuXG5cblxuXG5cblxuXG4vKioqKioqKioqKioqKioqIFNJTVBMRSBJTk5FUiBTQ1JPTExCQVIgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCBkaXZcbntcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgYm90dG9tOiAycHg7XG4gIGhlaWdodDogOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gODBweCk7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDQwcHg7XG4gIHdpZHRoOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayxcbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcblxufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyOyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuLmN1c3RvbS1zY3JvbGxiYXItLXNlY29uZGFyeS5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgfVxuLmN1c3RvbS1zY3JvbGxiYXItLXNlY29uZGFyeS5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgb3BhY2l0eTogLjk7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICM5MTkxOTE7IH1cblxuXG4vKiB1cGRhdGUgc2Nyb2xsYmFyIG9mZnNldCBpZiBib3RoIHNjcm9sbHMgYXJlIHZpc2libGUgKi9cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGxlZnQ6IC0xMnB4OyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgdG9wOiAtMTJweDsgfVxuXG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xMnB4OyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xMnB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0lNUExFIE9VVEVSIFNDUk9MTEJBUiAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IGRpdlxue1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgaGVpZ2h0OiA4cHg7IHRvcDogMnB4OyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGxlZnQ6IDJweDsgd2lkdGg6IDhweDsgfVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhcjsgfVxuXG4uY3VzdG9tLXNjcm9sbGJhci0tc2Vjb25kYXJ5XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyLFxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tEYXJrOyB9XG4uY3VzdG9tLXNjcm9sbGJhci0tc2Vjb25kYXJ5LnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICRibHVlOyB9XG4uY3VzdG9tLXNjcm9sbGJhci0tc2Vjb25kYXJ5LnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRibHVlOyBvcGFjaXR5OiAuOTsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuXG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgeyBsZWZ0OiAtMTJweDsgbWFyZ2luLWxlZnQ6IDEycHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7IHRvcDogIC0xMnB4OyBtYXJnaW4tdG9wOiAgMTJweDsgfVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtYmFyIHsgbWluLXdpZHRoOiAxMHB4OyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHsgbWluLWhlaWdodDogMTBweDsgfVxuXG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTE0cHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xNHB4OyB9XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xNHB4OyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xNHB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIE1BQyBPUyBYICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudCBkaXZcbntcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDNkU3MTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcblxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcblxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG59XG4uc2Nyb2xsYmFyLW1hY29zeDpob3ZlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcixcbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIge1xuICAtbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gIGJvdHRvbTogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICByaWdodDogMHB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwcHg7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDdweDsgbWluLXdpZHRoOiAxMHB4OyB0b3A6IC05cHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHsgbGVmdDogLTlweDsgbWluLWhlaWdodDogMTBweDsgd2lkdGg6IDdweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBsZWZ0OiAycHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyB0b3A6IDJweDsgfVxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC00cHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTExcHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xMXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIExJR0hUICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICBiYWNrZ3JvdW5kOiAjZGJkYmRiO1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXhNREFsSWlCNU1qMGlNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJSaVpHSmtZaUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObE9HVTRaVGdpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYysnKTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2RiZGJkYiAwJSwgI2U4ZThlOCAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsI2RiZGJkYiksIGNvbG9yLXN0b3AoMTAwJSwjZThlOGU4KSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RiZGJkYiAwJSwjZThlOGU4IDEwMCUpO1xuXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDE3cHg7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxN3B4O1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l4TURBbElpQjVNajBpTUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyWmxabVZtWlNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTm1OV1kxWmpVaUlITjBiM0F0YjNCaFkybDBlVDBpTVNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrJyk7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZWZlZmUgMCUsICNmNWY1ZjUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCNmZWZlZmUpLCBjb2xvci1zdG9wKDEwMCUsI2Y1ZjVmNSkpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwjZjVmNWY1IDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZWZlZmUgMCUsI2Y1ZjVmNSAxMDAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xN3B4OyBtYXJnaW4tbGVmdDogMTdweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIHsgdG9wOiAgLTE3cHg7IG1hcmdpbi10b3A6ICAxN3B4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDEwcHg7IG1pbi13aWR0aDogMTBweDsgdG9wOiAwcHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAwcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgaGVpZ2h0OiAxMnB4OyBsZWZ0OiAycHg7IHRvcDogMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGxlZnQ6IDJweDsgdG9wOiAycHg7IHdpZHRoOiAxMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtNHB4OyB9XG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTlweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTlweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTE5cHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xOXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIFJBSUwgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyOmhvdmVyIC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTJweDtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAzcHggMCAycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMnB4IDAgM3B4O1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTJweDtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwYjlhMDtcblxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICBib3gtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXI6aG92ZXIgLnNjcm9sbC1iYXIge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xN3B4OyBtYXJnaW4tbGVmdDogMTdweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgeyBtYXJnaW4tdG9wOiAxN3B4OyB0b3A6IC0xN3B4OyB9XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhciB7IGhlaWdodDogMTBweDsgbWluLXdpZHRoOiAxMHB4OyB0b3A6IDFweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHsgbGVmdDogMXB4OyBtaW4taGVpZ2h0OiAxMHB4OyB3aWR0aDogMTBweDsgfVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgaGVpZ2h0OiAxNXB4OyBsZWZ0OiA1cHg7IH1cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGhlaWdodDogMnB4OyBsZWZ0OiAtMTBweDsgdG9wOiA1cHg7IH1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IHRvcDogNXB4OyB3aWR0aDogMTVweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogNXB4OyB0b3A6IC0xMHB4OyB3aWR0aDogMnB4OyB9XG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0yNXB4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTI1cHg7IH1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTI1cHg7IH1cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTI1cHg7IH1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgRFlOQU1JQyAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCBkaXZcbntcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICBib3R0b206IDJweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IDJweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogN3B4O1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgb3BhY2l0eTogMC4zO1xuXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgb3BhY2l0eTogMDtcblxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcblxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM2ZTcxO1xuXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogN3B4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xufVxuXG4vKiBzY3JvbGxiYXIgaGVpZ2h0L3dpZHRoICYgb2Zmc2V0IGZyb20gY29udGFpbmVyIGJvcmRlcnMgKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtYmFyIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDdweDtcbiAgbWluLXdpZHRoOiAyNHB4O1xuICB0b3A6IGF1dG87XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIge1xuICBsZWZ0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICByaWdodDogMDtcbiAgd2lkdGg6IDdweDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAycHg7XG5cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG4gIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAycHg7XG5cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuMnM7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDAuMnM7XG4gIC1tcy10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtNHB4OyB9XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC00cHg7IH1cblxuXG4vKiB1cGRhdGUgc2Nyb2xsYmFyIG9mZnNldCBpZiBib3RoIHNjcm9sbHMgYXJlIHZpc2libGUgKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTFweDsgfVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xMXB4OyB9XG5cblxuLyogaG92ZXIgJiBkcmFnICovXG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT03MClcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcbiAgb3BhY2l0eTogMC43O1xufVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSxcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQ6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyLFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcblxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlcixcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gIGhlaWdodDogMjBweDtcbiAgbWluLWhlaWdodDogN3B4O1xufVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlcixcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gIG1pbi13aWR0aDogN3B4O1xuICB3aWR0aDogMjBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgR09PR0xFIENIUk9NRSAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7fVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JkYmRiZDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gIGJvcmRlci1jb2xvcjogI2E5YTlhOTtcbn1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MTkxOTE7XG4gIGJvcmRlci1jb2xvcjogIzdlN2U3ZTtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgeyBsZWZ0OiAtMTZweDsgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgeyB0b3A6ICAtMTZweDsgbWFyZ2luLXRvcDogIDE2cHg7IH1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDhweDsgbWluLXdpZHRoOiAxMHB4OyB0b3A6IDNweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAzcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiA4cHg7IH1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGJkYmRiOyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBoZWlnaHQ6IDE0cHg7IGxlZnQ6IC0zcHg7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgaGVpZ2h0OiAxNHB4OyBsZWZ0OiAtNHB4OyB9XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGJkYmRiOyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0zcHg7IHdpZHRoOiAxNHB4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTRweDsgd2lkdGg6IDE0cHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTlweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTE5cHg7IH1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMTlweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xOXB4OyB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/