/*  */
.info__crucero__container {
  background-color: #fff;
  border: 1px solid #32a3ed;
  border-radius: 25px;
  margin-bottom: 10px;
  padding-left: 0;
  padding-right: 0;
}

.all__info__content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 991.8px) {
  .all__info__content {
    padding: 15px;
  }
}
@media screen and (max-width: 575.8px) {
  .all__info__content {
    flex-wrap: wrap;
  }
}

@media (hover: hover) and (pointer: fine) {
  .first__image_itinerary:hover img {
    transform: scale(1.5);
    transition: top 0.5s ease-in-out, left 0.5s ease-in-out, transform 0.5s ease-in-out;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    transform-origin: left center;
  }
}
.image__content {
  position: relative;
  display: flex;
  max-width: 480px;
  /*@include media($xxl) {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  } */
}
@media screen and (max-width: 991.8px) {
  .image__content {
    flex-direction: row;
    max-width: 250px;
  }
}
@media screen and (max-width: 1055.8px) {
  .image__content {
    flex-direction: column;
    width: 100%;
    max-width: 220px;
  }
}
@media screen and (max-width: 575.8px) {
  .image__content {
    flex-direction: unset;
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 767.8px) {
  .col-sm.info__content {
    flex: 1 0 0%;
    padding-left: 0px;
  }
}

@media screen and (max-width: 767.8px) {
  .info__titleContent .col-sm-auto.pe-3 {
    padding-right: 0rem !important;
  }
}

.image__img-content {
  width: 50%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content {
    width: 100%;
    flex: 1;
    overflow: hidden;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content {
    max-height: none;
  }
}
.image__img-content.first__image_itinerary {
  overflow: visible;
  z-index: 95;
}
.image__img-content.first__image_itinerary:hover {
  z-index: 9999;
}
.image__img-content img {
  max-width: 100%;
  height: 100%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content img {
    width: 100%;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content img {
    width: 100%;
    height: 100%;
    max-height: 100% !important;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
}
.image__img-content .image__map {
  border-radius: 25px 0 0 25px;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media (max-width: 1440px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 25px;
  }
}
@media (max-width: 1055px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 0px;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 575.8px) {
  .image__img-content .image__ship {
    border-radius: 0 25px 0 0;
  }
}

.info__titleContent {
  display: flex;
  justify-content: left;
}
@media (max-width: 991.8px) {
  .info__titleContent {
    justify-content: center;
  }
}
@media screen and (max-width: 767.8px) {
  .info__titleContent {
    display: block;
  }
}

@media screen and (max-width: 767.8px) {
  .scImg-fluid--logoShip {
    margin: 0 auto;
  }
}

.advantages__content {
  display: flex;
  align-items: center;
  position: relative;
  flex-wrap: wrap;
}
@media (max-width: 1392px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media (max-width: 1392px) {
  .advantages__content .badge.advantages:not(.btn-plus-tag) {
    display: none;
  }
}
.advantages__content .badge.advantages.first {
  display: inline-flex;
}

@media screen and (max-width: 767.8px) {
  .advantages__content {
    margin-left: 5px;
  }
}
@media screen and (max-width: 991.8px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767.8px) {
  .characteristics__content {
    margin-left: 5px;
  }
}

@media screen and (max-width: 575.8px) {
  .characteristics__content--phone-tab {
    padding-top: 24px;
    text-align: center;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__wrap {
    padding: 12px 12px 34px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-weight: bold;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}
@media screen and (max-width: 359.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__content--sm-full {
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    width: 100vw;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    padding-left: 16px;
    padding-right: 16px;
  }
  .advantages__content--sm-full::-webkit-scrollbar {
    width: 1px;
  }
  .advantages__content--sm-full::-webkit-scrollbar-track {
    background: transparent;
  }
  .advantages__content--sm-full::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}

.title__info {
  font-weight: bold;
  color: #000;
}

.info__crucero .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 25px;
  font-size: 14px;
}

.advantages, .info__crucero .advantages {
  color: black;
  background-color: #e9f7e8;
  margin: 3px;
  border-radius: 25px;
  font-size: 14px;
  padding: 5px 10px;
}
@media screen and (max-width: 575.8px) {
  .advantages, .info__crucero .advantages {
    background-color: #e9f7e8;
    color: #000000;
    font-weight: normal;
    margin-right: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages.text-white, .info__crucero .advantages.text-white {
    color: black !important;
  }
}
.advantages,
.advantages .ico {
  color: black !important;
}

.info__crucero .characteristics, .characteristics {
  background-color: #ecf8ff;
  color: #333;
  font-weight: normal;
  margin: 3px;
  padding: 8px;
  border-radius: 25px;
  font-size: 14px;
}
@media screen and (max-width: 575.8px) {
  .info__crucero .characteristics, .characteristics {
    margin-bottom: 10px;
    margin-right: 6px;
    padding: 9px 12px;
  }
}

.info__crucero .prices {
  display: flex;
  /*align-items: center;
  justify-content: center;*/
  height: 100%;
}
@media screen and (max-width: 1055.8px) {
  .info__crucero .prices {
    display: block;
  }
}

.info__crucero .price {
  color: #32a3ed;
  font-weight: 900;
  margin-bottom: 0;
}

.additional-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 15px;
}

.info__crucero .ico {
  font-size: 20px;
  margin-right: 10px;
  display: inline-flex;
  align-items: center;
  color: #fff;
}

.tab-ships-nav span.nav-link {
  color: #32a3ed;
  display: inline;
}

.tab-ships-nav span.nav-link i {
  color: #32a3ed;
  cursor: pointer;
  font-size: 12px;
  padding-left: 5px;
}

.prices__info__content {
  justify-content: center;
  width: 28%;
}
@media screen and (max-width: 1439.8px) {
  .prices__info__content {
    width: 38%;
  }
}

.title__info__content {
  max-width: 70%;
}
@media (max-width: 991.8px) {
  .title__info__content {
    text-align: center;
  }
}
@media screen and (max-width: 1439.8px) {
  .title__info__content {
    width: 60%;
  }
}

.btn-plus-tag,
.btn-plus-tag .ico {
  cursor: pointer;
  pointer-events: auto;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJjaGVja291dC9oZWFkZXItc2hpcC5zY3NzIiwiY2hlY2tvdXQvaGVhZGVyLXNoaXAuY3NzIiwidXRpbGl0aWVzL19jbWl4aW5zLnNjc3MiLCJ1dGlsaXRpZXMvX3Jlc3BvbnNpdmUuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLWNsYXNzZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0EsS0FBQTtBQ3BDQTtFQUNFLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBRUEsZUFBQTtFQUNBLGdCQUFBO0FDREY7O0FESUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0FDREY7QUNxREU7RUYzREY7SUFVSSxhQUFBO0VDQUY7QUFDRjtBQ2dERTtFRjNERjtJQWNJLGVBQUE7RUNDRjtBQUNGOztBREVBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLG1GQUFBO0lBQ0EseUJBQUE7SUFDQSw0QkFBQTtJQUNBLDZCQUFBO0VDQ0Y7QUFDRjtBREVBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBRUEsZ0JBQUE7RUFFQTs7OztLQUFBO0FDRUY7QUN1QkU7RUYvQkY7SUFZSSxtQkFBQTtJQUNBLGdCQUFBO0VDQUY7QUFDRjtBQ2lCRTtFRi9CRjtJQWdCSSxzQkFBQTtJQUNBLFdBQUE7SUFDQSxnQkFBQTtFQ0VGO0FBQ0Y7QUNVRTtFRi9CRjtJQXNCSSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VDR0Y7QUFDRjs7QUNHRTtFRkhGO0lBRUksWUFBQTtJQUNBLGlCQUFBO0VDR0Y7QUFDRjs7QUNKRTtFRklGO0lBRUksOEJBQUE7RUNHRjtBQUNGOztBREFBO0VBQ0UsVUFBQTtBQ0dGO0FDZEU7RUZVRjtJQUlJLFdBQUE7SUFDQSxPQUFBO0lBQ0EsZ0JBQUE7RUNJRjtBQUNGO0FDckJFO0VGVUY7SUFTSSxnQkFBQTtFQ01GO0FBQ0Y7QURBRTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtBQ0VKO0FEQUk7RUFDRSxhQUFBO0FDRU47QURFRTtFQUNFLGVBQUE7RUFDQSxZQUFBO0FDQUo7QUNyQ0U7RUZtQ0E7SUFNSSxXQUFBO0VDQUo7QUFDRjtBQzFDRTtFRm1DQTtJQVNJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsMkJBQUE7RUNFSjtBQUNGO0FDakRFO0VGbUNBO0lBZUksZUFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7RUNHSjtBQUNGO0FEQUU7RUFDRSw0QkFBQTtBQ0VKO0FDNURFO0VGeURBO0lBSUkseUJBQUE7RUNHSjtBQUNGO0FFbVZFO0VIM1ZBO0lHNFZFLCtCQVBZO0VGelVkO0FBQ0Y7QUU4VUU7RUgzVkE7SUc0VkUsOEJBUFk7RUZwVWQ7QUFDRjtBQzNFRTtFRnlEQTtJQVdJLHlCQUFBO0VDV0o7QUFDRjtBQ2hGRTtFRnlEQTtJQWVJLHlCQUFBO0VDWUo7QUFDRjtBQ3JGRTtFRjRFQTtJQVdJLHlCQUFBO0VDRUo7QUFDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtBQ0NGO0FFcVRFO0VIeFRGO0lHeVRJLHVCQWpCVTtFRmpTWjtBQUNGO0FDcEdFO0VGNEZGO0lBT0ksY0FBQTtFQ0tGO0FBQ0Y7O0FDekdFO0VGdUdGO0lBRUksY0FBQTtFQ0tGO0FBQ0Y7O0FERkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNLRjtBRThSRTtFSHZTRjtJR3dTSSxpQkFqQlU7RUYxUVo7QUFDRjtBRXlSRTtFSDdSSTtJRzhSRixhQWpCVTtFRnJRWjtBQUNGO0FETk07RUFDRSxvQkFBQTtBQ1FSOztBQ25JRTtFRm1JQTtJQUNFLGdCQUFBO0VDSUY7QUFDRjtBQ3pJRTtFRnlJQTtJQUNFLGlCQUFBO0VDR0Y7QUFDRjtBQzlJRTtFRjhJRjtJQUVJLGdCQUFBO0VDRUY7QUFDRjs7QUMvSEU7RUZzSUY7SUFFSSxpQkFBQTtJQUNBLGtCQUFBO0VDSkY7QUFDRjs7QUN0SUU7RUY2SUY7SUFFSSx1QkFBQTtFQ0pGO0FBQ0Y7O0FDNUlFO0VGbUpGO0lBTUksaUJBQUE7SUFDQSxtQkFBQTtFQ1JGO0FBQ0Y7QUMzSU07RUYySU47SUVsSVksa0JBRFE7RUR1SWxCO0FBQ0Y7QUNoSk07RUYySU47SUVsSVksa0JBRFE7RUQ0SWxCO0FBQ0Y7O0FDN0pFO0VGbUtGO0lJbE9FLHFDQUFBO0lBQ0Esc0NBQUE7SUFDQSxZQUFBO0lBd0JBLGFBQUE7SUFDQSxpQkFBQTtJQUNBLGdCQUFBO0lBbkJBLHFCQUFBO0lBQ0Esd0NBQUE7SUo0TkUsa0JBQUE7SUFDQSxtQkFBQTtFQ0dGO0VHOU5BO0lBQ0UsVUFBQTtFSGdPRjtFRzdOQTtJQUNFLHVCQUFBO0VIK05GO0VHNU5BO0lBQ0UsNkJBQUE7RUg4TkY7QUFDRjs7QURUQTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtBQ1lGOztBRFZBO0VBQ0Usb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ2FGOztBRFZFO0VBRUUsWURsUUk7RUNtUUoseUJEL09xQjtFQ2dQckIsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FDWUo7QUM1TUU7RUZ5TEE7SUFVSSx5QkR4UmE7SUN5UmIsY0FBQTtJQUNBLG1CQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtJQUNBLFFBQUE7RUNhSjtBQUNGO0FDeE5FO0VGNk1FO0lBRUksdUJBQUE7RUNhTjtBQUNGO0FEVEU7O0VBRUUsdUJBQUE7QUNXSjs7QURQRTtFQUVFLHlCRDVRYztFQzZRZCxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ1NKO0FDM09FO0VGME5BO0lBV0ksbUJBQUE7SUFDQSxpQkFBQTtJQUNBLGlCQUFBO0VDVUo7QUFDRjs7QURQQTtFQUNFLGFBQUE7RUFDQTsyQkFBQTtFQUVBLFlBQUE7QUNVRjtBQzdRRTtFRitQRjtJQU9JLGNBQUE7RUNXRjtBQUNGOztBRFJBO0VBQ0UsY0R2VVU7RUN3VVYsZ0JBQUE7RUFDQSxnQkFBQTtBQ1dGOztBRFJBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7QUNXRjs7QURUQTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0FDWUY7O0FEVEE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQ1lGOztBRFRBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUNZRjs7QURUQTtFQUNFLHVCQUFBO0VBQ0EsVUFBQTtBQ1lGO0FDM1RFO0VGNlNGO0lBSUksVUFBQTtFQ2NGO0FBQ0Y7O0FEWkE7RUFFRSxjQUFBO0FDY0Y7QUVnRkU7RUhoR0Y7SUdpR0ksa0JBakJVO0VGNURaO0FBQ0Y7QUN6VUU7RUZvVEY7SUFPSSxVQUFBO0VDa0JGO0FBQ0Y7O0FEZkE7O0VBRUUsZUFBQTtFQUNBLG9CQUFBO0FDa0JGIiwiZmlsZSI6ImNoZWNrb3V0L2hlYWRlci1zaGlwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmdW5jdGlvbiBjb2xvcigkY29sb3IpIHtcclxuLy8gICBAcmV0dXJuIHZhcigtLWJzLSN7JGNvbG9yfSk7XHJcbi8vIH1cclxuXHJcbi8vICR2aW9sZXQtY29sb3I6ICM1ZjI0OWUgIWRlZmF1bHQ7XHJcblxyXG4kY29sb3ItYWR2YW50YWdlczogI2U5ZjdlODtcclxuJGNvbG9yLXN1Y2Nlc3M6ICMyYmIwMTk7XHJcbiRjb2xvci1ncmVlbi1saWdodDogIzU2Yzc0NztcclxuJGNvbG9yLXN1Y2Nlc3MtbGlnaHQ6ICNlOWY3ZTg7XHJcbiRjb2xvci1za3ktbGlnaHQ6ICM3YWJiZTc7XHJcbiRjb2xvci1za3k6ICMzMmEzZWQ7XHJcbiR0ZXh0LWNvbG9yOiAjMDAwMDAwO1xyXG4kY29sb3ItdGV4dDogIzAwMDAwMDtcclxuJGNvbG9yLWdyYXk6ICNkNGQ0ZDQ7XHJcbiRjb2xvci1zaWx2ZXI6ICNmMGYwZjA7XHJcbiRjb2xvci1saWdodDogI2YyZjJmMjtcclxuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xyXG5cclxuJHdoaXRlOiB3aGl0ZTtcclxuJGJsYWNrOiBibGFjaztcclxuJHN1Y2Nlc3M6ICRjb2xvci1zdWNjZXNzO1xyXG5cclxuLy8vICBDb2xvcnMgRm9udHNcclxuJHRleHQtY29sb3I6IGJsYWNrO1xyXG4kdGV4dC1saWdodDogd2hpdGU7XHJcblxyXG4vLy8gQ29sb3JzIEJhY2tncm91bmRzXHJcbiRiZy1saWdodDogd2hpdGU7XHJcbiRiZy13aGl0ZTogd2hpdGU7XHJcbiRiZy1ncmF5IDogZ3JheTtcclxuJGJnLXNpbHZlciA6ICNmMGYwZjA7XHJcbiRiZy1zdWNjZXNzIDogIzJiYjAxOTtcclxuXHJcbi8vLyBCb3JkZXJcclxuJGJvcmRlci1ncmF5IDogZ3JheTtcclxuJGJvcmRlci1ncmVlbjogIzU2Yzc0NztcclxuXHJcbi8qICAqL1xyXG4kY29sb3ItZ3JlZW4tbGlzdDogIzJiYjAxOTtcclxuJGNvbG9yLWdyZWVuLWxpc3QtbGlnaHQ6ICNlOWY3ZTg7XHJcbiRib3JkZXItY29sb3ItZ3JheTogI2QzZDNkMztcclxuJGJnLWNvbG9yLWdyYXk6ICNkM2QzZDM7XHJcbiRjb2xvci1za3ktbGlnaHQ6ICNlY2Y4ZmY7IiwiQGltcG9ydCBcIi4uL3V0aWxpdGllcy9pbmRleFwiO1xyXG5cclxuLmluZm9fX2NydWNlcm9fX2NvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2t5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5hbGxfX2luZm9fX2NvbnRlbnQge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICBnYXA6IDEwcHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgkc20pIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuICAuZmlyc3RfX2ltYWdlX2l0aW5lcmFyeTpob3ZlciBpbWcge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNXMgZWFzZS1pbi1vdXQsIGxlZnQgMC41cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgXHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5pbWFnZV9fY29udGVudCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gIG1heC13aWR0aDogNDgwcHg7XHJcblxyXG4gIC8qQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICB9ICovXHJcbiAgQGluY2x1ZGUgbWVkaWEoJGxnKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWF4LXdpZHRoOiAyNTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1sZykge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAyMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCRzbSkge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uY29sLXNtLmluZm9fX2NvbnRlbnR7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICBmbGV4OiAxIDAgMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbmZvX190aXRsZUNvbnRlbnQgLmNvbC1zbS1hdXRvLnBlLTN7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uaW1hZ2VfX2ltZy1jb250ZW50IHtcclxuICB3aWR0aDogNTAlO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAvL3dpZHRoOiA1MCU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgLy93aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgJi5maXJzdF9faW1hZ2VfaXRpbmVyYXJ5e1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB6LWluZGV4OiA5NTtcclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8vIG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCR4eGwpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW1hZ2VfX21hcCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCR4eGwpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbXEoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgMjUsIDE0NDApO1xyXG4gICAgQGluY2x1ZGUgbXEoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgMCwgMTA1NSk7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRsZykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmltYWdlX19zaGlwIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCR4eGwpIHtcclxuICAgICAgLy9ib3JkZXItcmFkaXVzOiAwIDAgMCAyNXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxnKSB7XHJcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDAgMjVweCAwIDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc20pIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbmZvX190aXRsZUNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG5cclxuICBAaW5jbHVkZSBtcShqdXN0aWZ5LWNvbnRlbnQsIGNlbnRlciwgJGxnKTtcclxuICBcclxuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLnNjSW1nLWZsdWlkLS1sb2dvU2hpcHtcclxuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLmFkdmFudGFnZXNfX2NvbnRlbnR7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIEBpbmNsdWRlIG1xKGZsZXgtd3JhcCwgbm93cmFwLCAxMzkyKTtcclxuXHJcbiAgLmJhZGdle1xyXG4gICAgJi5hZHZhbnRhZ2Vze1xyXG4gICAgICAmOm5vdCguYnRuLXBsdXMtdGFnKXtcclxuICAgICAgICBAaW5jbHVkZSBtcShkaXNwbGF5LCBub25lLCAxMzkyKTtcclxuICAgICAgfVxyXG4gICAgICAmLmZpcnN0e1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAuYWR2YW50YWdlc19fY29udGVudCB7XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2xhYmVsIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lKCRtZCkge1xyXG4gICAgLy8gZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQtLXBob25lLXRhYiB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5hZHZhbnRhZ2VzX193cmFwIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcclxuICAgIHBhZGRpbmc6IDEycHggMTJweCAzNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFkdmFudGFnZXNfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lKFxyXG4gICAgKFxyXG4gICAgICBmb250LXNpemU6IDE5Ljg0cHgsXHJcbiAgICApXHJcbiAgKSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgfVxyXG59XHJcbi5hZHZhbnRhZ2VzX19sYWJlbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGwge1xyXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQ7XHJcbiAgICBAaW5jbHVkZSBzY3JvbGwteC1mbGV4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICB9XHJcbn1cclxuXHJcbi50aXRsZV9faW5mbyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuLmluZm9fX2NydWNlcm8gLmJhZGdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuLmFkdmFudGFnZXMge1xyXG4gICYsXHJcbiAgLmluZm9fX2NydWNlcm8gJiB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLWxpc3QtbGlnaHQ7XHJcbiAgICBtYXJnaW46IDNweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYVBob25lIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFkdmFudGFnZXM7XHJcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGdhcDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYudGV4dC13aGl0ZXtcclxuICAgICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjayFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICYsXHJcbiAgLmljb3tcclxuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLmNoYXJhY3RlcmlzdGljcyB7XHJcbiAgLmluZm9fX2NydWNlcm8gJixcclxuICAmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1za3ktbGlnaHQ7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW46IDNweDtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICBwYWRkaW5nOiA5cHggMTJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmluZm9fX2NydWNlcm8gLnByaWNlcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvKmFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ki9cclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtbGcpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmluZm9fX2NydWNlcm8gLnByaWNlIHtcclxuICBjb2xvcjogJGNvbG9yLXNreTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5hZGRpdGlvbmFsLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTVweDtcclxufVxyXG4uaW5mb19fY3J1Y2VybyAuaWNvIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmt7XHJcbiAgY29sb3I6ICMzMmEzZWQ7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4udGFiLXNoaXBzLW5hdiBzcGFuLm5hdi1saW5rIGl7XHJcbiAgY29sb3I6ICMzMmEzZWQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLnByaWNlc19faW5mb19fY29udGVudCB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDI4JTtcclxuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICB3aWR0aDogMzglO1xyXG4gIH1cclxufVxyXG4udGl0bGVfX2luZm9fX2NvbnRlbnQge1xyXG4gIC8vbWF4LXdpZHRoOiA1NzBweDtcclxuICBtYXgtd2lkdGg6IDcwJTtcclxuXHJcbiAgLy8gQGluY2x1ZGUgbXEobWF4LXdpZHRoLCBub25lLCAkeGwpO1xyXG4gIEBpbmNsdWRlIG1xKHRleHQtYWxpZ24sIGNlbnRlciwgJGxnKTtcclxuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1wbHVzLXRhZyxcclxuLmJ0bi1wbHVzLXRhZyAuaWNvIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn0iLCIvKiAgKi9cbi5pbmZvX19jcnVjZXJvX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzJhM2VkO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5hbGxfX2luZm9fX2NvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmFsbF9faW5mb19fY29udGVudCB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWxsX19pbmZvX19jb250ZW50IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZmlyc3RfX2ltYWdlX2l0aW5lcmFyeTpob3ZlciBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC41cyBlYXNlLWluLW91dCwgbGVmdCAwLjVzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cbi5pbWFnZV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgLypAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9ICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC5pbWFnZV9fY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDU1LjhweCkge1xuICAuaW1hZ2VfX2NvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaW1hZ2VfX2NvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuY29sLXNtLmluZm9fX2NvbnRlbnQge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5pbmZvX190aXRsZUNvbnRlbnQgLmNvbC1zbS1hdXRvLnBlLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1hZ2VfX2ltZy1jb250ZW50IHtcbiAgd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICB9XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50LmZpcnN0X19pbWFnZV9pdGluZXJhcnkge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgei1pbmRleDogOTU7XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50LmZpcnN0X19pbWFnZV9pdGluZXJhcnk6aG92ZXIge1xuICB6LWluZGV4OiA5OTk5O1xufVxuLmltYWdlX19pbWctY29udGVudCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19tYXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTVweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19zaGlwIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDI1cHggMCAwO1xuICB9XG59XG5cbi5pbmZvX190aXRsZUNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW5mb19fdGl0bGVDb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW5mb19fdGl0bGVDb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5zY0ltZy1mbHVpZC0tbG9nb1NoaXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5MnB4KSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTJweCkge1xuICAuYWR2YW50YWdlc19fY29udGVudCAuYmFkZ2UuYWR2YW50YWdlczpub3QoLmJ0bi1wbHVzLXRhZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzX19jb250ZW50IC5iYWRnZS5hZHZhbnRhZ2VzLmZpcnN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuY2hhcmFjdGVyaXN0aWNzX19jb250ZW50LS1waG9uZS10YWIge1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX193cmFwIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggMzRweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWR2YW50YWdlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTkuODRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5LjhweCkge1xuICAuYWR2YW50YWdlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTkuODRweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50LS1zbS1mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIH1cbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50LS1zbS1mdWxsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4udGl0bGVfX2luZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5pbmZvX19jcnVjZXJvIC5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYWR2YW50YWdlcywgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMge1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWY3ZTg7XG4gIG1hcmdpbjogM3B4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWR2YW50YWdlcywgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWY3ZTg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFkdmFudGFnZXMudGV4dC13aGl0ZSwgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMudGV4dC13aGl0ZSB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLFxuLmFkdmFudGFnZXMgLmljbyB7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuXG4uaW5mb19fY3J1Y2VybyAuY2hhcmFjdGVyaXN0aWNzLCAuY2hhcmFjdGVyaXN0aWNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZjhmZjtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogM3B4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmluZm9fX2NydWNlcm8gLmNoYXJhY3RlcmlzdGljcywgLmNoYXJhY3RlcmlzdGljcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgfVxufVxuXG4uaW5mb19fY3J1Y2VybyAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyphbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsqL1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDU1LjhweCkge1xuICAuaW5mb19fY3J1Y2VybyAucHJpY2VzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaW5mb19fY3J1Y2VybyAucHJpY2Uge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFkZGl0aW9uYWwtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmluZm9fX2NydWNlcm8gLmljbyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmsge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4udGFiLXNoaXBzLW5hdiBzcGFuLm5hdi1saW5rIGkge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucHJpY2VzX19pbmZvX19jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyOCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAucHJpY2VzX19pbmZvX19jb250ZW50IHtcbiAgICB3aWR0aDogMzglO1xuICB9XG59XG5cbi50aXRsZV9faW5mb19fY29udGVudCB7XG4gIG1heC13aWR0aDogNzAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLnRpdGxlX19pbmZvX19jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC50aXRsZV9faW5mb19fY29udGVudCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuXG4uYnRuLXBsdXMtdGFnLFxuLmJ0bi1wbHVzLXRhZyAuaWNvIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XHJcbkB1c2UgXCJzYXNzOm1ldGFcIjtcclxuXHJcbi8vLyBFdmVudCB3cmFwcGVyXHJcbi8vLyBAYXV0aG9yIFNtYXJ0SW5Db2RlICRiZy11cmwsXHJcblxyXG4vLy8gRGVmaW5lIGNvbG9yIGFuZCBoZWlnaHQgb2YgYm94LWVsZW1lbnRzXHJcbi8vL2JhbmNrZ3JvdW5kIGNvbG9yIGFuZCBoZWlnaHRcclxuQG1peGluIGJnYygkbWluLWhlaWdodCwgJGJnLWNvbG9yOiB0cmFuc3BhcmVudCkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcclxuICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5cclxuLy8vYmFuY2tncm91bmQgaW1hZ2UgYW5kIGhlaWdodFxyXG5AbWl4aW4gYmdpKCRiZy1pbWFnZSwgJG1pbi1oZWlnaHQsICRiZy1wb3NpdGlvbjogY2VudGVyLCAkYmctcmVwZWF0OiBuby1yZXBlYXQsICRic2l6ZTogY292ZXIpIHtcclxuICAkYmctaW1hZ2U6IFwiLi4vaW1hZ2VzL1wiICsgJGJnLWltYWdlO1xyXG4gIGJhY2tncm91bmQ6IHVybCgkYmctaW1hZ2UpICRiZy1yZXBlYXQgJGJnLXBvc2l0aW9uO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogJGJzaXplO1xyXG4gIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcblxyXG4vLy9iYW5ja2dyb3VuZCBpbWFnZSBhbmQgaGVpZ2h0XHJcbkBtaXhpbiBiZ2lvKCRiZy1pbWFnZSwgJGJnLXBvc2l0aW9uOiBjZW50ZXIsICRiZy1yZXBlYXQ6IG5vLXJlcGVhdCwgJGJzaXplOiBjb3Zlcikge1xyXG4gICRiZy1pbWFnZTogXCIuLi9pbWFnZXMvXCIgKyAkYmctaW1hZ2U7XHJcbiAgYmFja2dyb3VuZDogdXJsKCRiZy1pbWFnZSkgJGJnLXJlcGVhdCAkYmctcG9zaXRpb247XHJcbiAgYmFja2dyb3VuZC1zaXplOiAkYnNpemU7XHJcbn1cclxuXHJcbi8vLyBEZWZpbmUgcGFyYW1zIENvbnRhaW5lciB3aWR0aCBhbmQgcGFkZGluZ1xyXG5AbWl4aW4gY29udGFpbmVyKCRtYXgtd2lkdGgsICRwYWQtbGVmdCwgJHBhZC1yaWdodDogJHBhZC1sZWZ0LCAkYm94LXM6IGNvbnRlbnQtYm94KSB7XHJcbiAgYm94LXNpemluZzogJGJveC1zO1xyXG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWQtbGVmdDtcclxuICBwYWRkaW5nLXJpZ2h0OiAkcGFkLXJpZ2h0O1xyXG59XHJcblxyXG4vLy9mb250cyBlbGVtZW50c1xyXG5AbWl4aW4gZm9udHMoXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmb250LXNpemU6IG1lZGl1bSxcclxuICAkZm9udC1jb2xvcjogYmxhY2ssXHJcbiAgJGZvbnQtd2VpZ2h0OiBub3JtYWwsXHJcbiAgJGZvbnQtc3R5bGU6IG5vcm1hbCxcclxuICAvLyAkbGluZS1oZWlnaHQ6IG5vcm1hbFxyXG4pIHtcclxuICBjb2xvcjogJGZvbnQtY29sb3I7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuICAvLyBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG59XHJcblxyXG4vLy9kZWZpbmUgZmxleCBjZW50ZXJcclxuQG1peGluIGZsZXhjZW4oJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XHJcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxufVxyXG5cclxuLy8vZGVmaW5lIGFic29sdXRlIGNlbnRlclxyXG5AbWl4aW4gYWJzY2VuKCR0b3A6IDUwJSwgJHJpZ2h0OiA1MCUsICRib3R0b206IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgYm90dG9tOiAkYm90dG9tO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRyaWdodCwgLSR0b3ApO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuQG1peGluIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWtwb2ludCArICdweCd9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYVNtIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbSArICdweCd9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYURlc2t0b3Age1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7KCRzbSArIDAuMikgKyAncHgnfSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWVkaWFQaG9uZSgkcHJvcGVydGllczogbnVsbCkge1xyXG4gICRicmVha3BvaW50czogKCRzbS1weCwgJHhzLXB4KTtcclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc20tcHh9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpZiAkcHJvcGVydGllcyB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxpc3QubGVuZ3RoKCRicmVha3BvaW50cykge1xyXG4gICAgICAkYnJlYWtwb2ludDogbGlzdC5udGgoJGJyZWFrcG9pbnRzLCAkaSk7XHJcblxyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50fSkge1xyXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlcyBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZXMpID09IFwibGlzdFwiIGFuZCBsaXN0Lmxlbmd0aCgkdmFsdWVzKSA9PSAyIGFuZCAkaSA9PSAxIHtcclxuICAgICAgICAgICAgJG1heDogbGlzdC5udGgoJHZhbHVlcywgMSk7XHJcbiAgICAgICAgICAgICRtaW46IGxpc3QubnRoKCR2YWx1ZXMsIDIpO1xyXG4gICAgICAgICAgICAkcmVzcG9uc2l2ZS12YWx1ZTogaWYoJGkgPT0gMSwgcmVzcG9uc2l2ZVVuaXRsZXNzKCRtYXgsICRtaW4sICRzbSwgJHhzKSwgJG1pbik7XHJcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtdmFsdWU7XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJHZhbHVlOiBpZigkaSA+IGxpc3QubGVuZ3RoKCR2YWx1ZXMpLCBsaXN0Lm50aCgkdmFsdWVzLCBsaXN0Lmxlbmd0aCgkdmFsdWVzKSksIGxpc3QubnRoKCR2YWx1ZXMsICRpKSk7XHJcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2FzczptYXBcIjtcclxuQHVzZSAnc2FzczptZXRhJztcclxuQHVzZSAnc2FzczptYXRoJztcclxuQHVzZSAnc2FzczpzdHJpbmcnO1xyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcclxuLy8gUmVzcG9uc2l2ZSBWYXJpYWJsZXMgZm9yIHJlc3BvbnNpdmUgbWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXHJcblxyXG4vL0ZvciBtaXhpbiBSZXNwb25zaXZlXHJcbiRwaG9uZS1yZXNwb25zaXZlOiAkc207XHJcbiR0YWJsZXQtcmVzcG9uc2l2ZTogJGxnO1xyXG4kZGVza3RvcC1yZXNwb25zaXZlOiAkeHhsO1xyXG5cclxuLy9Gb3IgTWVkaWEgUXVlcnkgYmxvY2tcclxuJGRkOiAwLjAyOyAvL2RpZmVyZW5jZVxyXG4kcGhvbmUtc21hbGw6ICgkeHMgLSAkZGQpICsgcHg7XHJcbiRwaG9uZTogKCRzbSAtICRkZCkgKyBweDtcclxuJHBob25lLWxhcmdlOiAoJG1kIC0gJGRkKSArIHB4O1xyXG4kdGFibGV0LXNtYWxsOiA3OTBweDtcclxuJHRhYmxldDogKCRsZyAtICRkZCkgKyBweDtcclxuJGRlc2t0b3Atc21hbGw6IDEwOTBweDtcclxuJGRlc2t0b3A6ICgkeGwgLSAkZGQpICsgcHg7XHJcbiRkZXNrdG9wLW1lZGl1bTogKCR4eGwgLSAkZGQpICsgcHg7XHJcbiRkZXNrdG9wLWxhcmdlOiAxNjUwcHg7XHJcbiRkZXNrdG9wLXgtbGFyZ2U6IDE5NTBweDtcclxuXHJcbiRwaG9uZS1kZWZhdWx0OiAkcGhvbmUtc21hbGw7IC8vZGVmYXVsdFxyXG4kdGFibGV0LWRlZmF1bHQ6ICR0YWJsZXQ7XHJcbiRkZXNrdG9wLWRlZmF1bHQ6ICRkZXNrdG9wLW1lZGl1bTsgLy9kZWZhdWx0XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXFxcXFxyXG4vLyBSZXNwb25zaXZlIE1peGluc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXFxcXFxyXG5cclxuLy8vIFZhcjogIFByb3AgZm9yIGZyYW1ld29yayBjc3MgLS0tLS0tLS0tLS0tLS0tLS0tXFxcXFxyXG4kcHJvcGVydHktYWxsOiAoXHJcbiAgaXRlbXMtY2VudGVyOiBhbGlnbi1pdGVtcyxcclxuICBtaW4tdy1hdXRvOiBtaW4td2lkdGgsXHJcbiAgZmxleC0xOiBmbGV4LFxyXG4gIGZsZXgtaW5pdGlhbDogZmxleCxcclxuICBmbGV4LWNvbDogZmxleC1kaXJlY3Rpb24sXHJcbiAgZmxleC13cmFwOiBmbGV4LXdyYXAsXHJcbiAgbXItMDogbWFyZ2luLXJpZ2h0LFxyXG4gIG1sLTA6IG1hcmdpbi1sZWZ0LFxyXG4pO1xyXG5cclxuJHByb3BlcnR5LXZhbHVlLWFsbDogKFxyXG4gIGl0ZW1zLWNlbnRlcjogY2VudGVyLFxyXG4gIG1pbi13LWF1dG86IGF1dG8sXHJcbiAgZmxleC0xOiAxIDEgMCUsXHJcbiAgZmxleC1pbml0aWFsOiAwIDEgYXV0byxcclxuICBmbGV4LWNvbDogY29sdW1uLFxyXG4gIGZsZXgtd3JhcDogd3JhcCxcclxuICBtci0wOiAwLFxyXG4gIG1sLTA6IDAsXHJcbik7XHJcblxyXG4vLy8gVmFyOiAgUHJvcCBmb3IgcmVzcG9uc2l2ZSBnbG9iYWwgLS0tLS0tLS0tLS0tLS0tLS0tXFxcXFxyXG4kcHJvcGVydHktbWFwOiAoXHJcbiAgZno6IGZvbnQtc2l6ZSxcclxuICBsaDogbGluZS1oZWlnaHQsXHJcbiAgbTogbWFyZ2luLFxyXG4gIG10OiBtYXJnaW4tdG9wLFxyXG4gIG1yOiBtYXJnaW4tcmlnaHQsXHJcbiAgbWI6IG1hcmdpbi1ib3R0b20sXHJcbiAgbWw6IG1hcmdpbi1sZWZ0LFxyXG4gIHA6IHBhZGRpbmcsXHJcbiAgcHQ6IHBhZGRpbmctdG9wLFxyXG4gIHByOiBwYWRkaW5nLXJpZ2h0LFxyXG4gIHBiOiBwYWRkaW5nLWJvdHRvbSxcclxuICBwbDogcGFkZGluZy1sZWZ0LFxyXG4gIHQ6IHRvcCxcclxuICBsOiBsZWZ0LFxyXG4gIGI6IGJvdHRvbSxcclxuICByOiByaWdodCxcclxuICB3OiB3aWR0aCxcclxuICBtdzogbWF4LXdpZHRoLFxyXG4gIG14dzogbWF4LXdpZHRoLFxyXG4gIG1heHc6IG1heC13aWR0aCxcclxuICBtbnc6IG1pbi13aWR0aCxcclxuICBtaW53OiBtaW4td2lkdGgsXHJcbiAgaDogaGVpZ2h0LFxyXG4gIG1oOiBtaW4taGVpZ2h0LFxyXG4gIG1uaDogbWluLWhlaWdodCxcclxuICBtaW5oOiBtaW4taGVpZ2h0LFxyXG4gIG14aDogbWF4LWhlaWdodCxcclxuICBtYXhoOiBtYXgtaGVpZ2h0LFxyXG4gIGJ6OiBiYWNrZ3JvdW5kLXNpemUsXHJcbik7XHJcblxyXG4vLy8gU2NoZW1hXHJcbi8vLyBjYWxjKCAjeyRtaW4tcHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC8gKCN7JHctbWF4fSAtICN7JHctbWlufSkpKTtcclxuLy8vIGNhbGMoIDE2cHggKyAoMjEgLSAxNikgKiAoKDEwMHZ3IC0gMzYwcHgpIC8gKDE0NDAgLSAzNjApKSk7XHJcblxyXG4vLy8gRnVuY3Rpb24gUmVzcG9uc2l2ZSAtLS0tLS0tLS0tLS0tLS1cXFxcXHJcbi8vLyBIb3cgdXNlOiBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHBsLW1heCwgJHBsLW1pbiwgJHctbWF4LCAkdy1taW4pIDtcclxuQGZ1bmN0aW9uIHJlc3BvbnNpdmUoXHJcbiAgJG1heCxcclxuICAkbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG4gIEBpZiAoJG1pbiA9PSBcIlwiIG9yICRtYXggPT0kbWluKSB7XHJcbiAgICBAcmV0dXJuICRtYXggKyBweDtcclxuICB9XHJcblxyXG4gICRtaW4tcHg6ICRtaW4gKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG4gICRyZXN1bHQ6IGNhbGMoXHJcbiAgICAjeyRtaW4tcHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cclxuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxyXG4gICk7XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XHJcbiAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZXNwb25zaXZlVW5pdGxlc3MoXHJcbiAgJG1heCxcclxuICAkbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG5cclxuICAkbWF4dW5sZXNzOiBpZihtYXRoLmlzLXVuaXRsZXNzKCRtYXgpLCAkbWF4LCBzdHJpcC11bml0cygkbWF4KSk7XHJcbiAgJG1pbnVubGVzczogaWYobWF0aC5pcy11bml0bGVzcygkbWluKSwgJG1pbiwgc3RyaXAtdW5pdHMoJG1pbikpO1xyXG5cclxuICBAaWYgKCRtaW51bmxlc3MgPT0gXCJcIiBvciAkbWF4dW5sZXNzID09ICRtaW51bmxlc3MpIHtcclxuICAgIEByZXR1cm4gJG1heHVubGVzcyArIHB4O1xyXG4gIH1cclxuXHJcbiAgJG1pbi1weDogJG1pbnVubGVzcyArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcbiAgJHJlc3VsdDogY2FsYyhcclxuICAgICN7JG1pbi1weH0gKyAoI3skbWF4dW5sZXNzfSAtICN7JG1pbnVubGVzc30pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xyXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXHJcbiAgKTtcclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLyBNaXhpbnMgUmVzcG9uc2l2ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXFxcXHJcblxyXG4vL0hvdyB0byB1c2U6ICAgQGluY2x1ZGUgIGZvbnQtcmVzcG9uc2l2ZSgyNiwgMjApIG9yIGZvbnQtcmVzcG9uc2l2ZSgyNiwgMjAsIDE0NDAsIDM2MClcclxuLy8gZm9udC1zaXplOiBjYWxjKDE2cHggKyAoMjYgLSAxNikgKiAoKDEwMHZ3IC0gMzAwcHgpIC8gKDE2MDAgLSAzMDApKSkgO1xyXG5AbWl4aW4gZm9udC1yZXNwb25zaXZlKFxyXG4gICRmLW1heCxcclxuICAkZi1taW46ICRmb250LXNpemUtc21hbGwsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcbiAgJGYtbWluLXB4OiAkZi1taW4gKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG4gICRmb250LXNpemU6ICRmLW1heCArIHB4O1xyXG4gICRkZXNrdG9wLXB4OiAkZGVza3RvcC1yZXNwb25zaXZlICogMXB4O1xyXG4gICRwaG9uZS1weDogJHBob25lLXJlc3BvbnNpdmUgKiAxcHg7XHJcblxyXG4gICRyZXN1bHQtY2FsYzogcmVzcG9uc2l2ZSgkZi1tYXgsICRmLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICBmb250LXNpemU6ICRmb250LXNpemU7XHJcblxyXG4gIEBpZiAoJHctbWF4ID09JGRlc2t0b3AtcmVzcG9uc2l2ZSBhbmQgJHctbWluID09JHBob25lLXJlc3BvbnNpdmUpIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZGVza3RvcC1weCkge1xyXG4gICAgICAmIHtcclxuICAgICAgICBmb250LXNpemU6ICRyZXN1bHQtY2FsYztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcGhvbmUtcHgpIHtcclxuICAgICAgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAjeyRmLW1pbi1weH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGZvbnQtc2l6ZTogJHJlc3VsdC1jYWxjO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdy1taW4tcHgpIHtcclxuICAgICAgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAjeyRmLW1pbi1weH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcihmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXHJcbi8vIEBpbmNsdWRlIHJlc3BvbnNpdmUoaCwgNjYuMTEsIDMwKTtcclxuQG1peGluIHIoXHJcbiAgJGF0dHI6IFwiXCIsXHJcbiAgJHZhbHVlLW1pbjogXCJcIixcclxuICAkdmFsdWUtbWF4OiBcIlwiLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICRvbmx5LW1lZC1xdWVyeTogZmFsc2VcclxuKSB7XHJcbiAgQGlmICR3LW1pbiA9PSBcIlwiIHtcclxuICAgICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmU7XHJcbiAgfVxyXG5cclxuICBAaWYgJHctbWF4ID09IFwiXCIge1xyXG4gICAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlO1xyXG4gIH1cclxuXHJcbiAgQGlmICR2YWx1ZS1tYXggPT0gXCJcIiB7XHJcbiAgICAkc2l6ZS1tYXg6ICR2YWx1ZS1taW47XHJcbiAgfVxyXG5cclxuICAvL2NvbmRpdGlvbmFsIGlmIGF0dHJpYnV0ZXMgZXhpc3QgcHhcclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1pbjogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1tYXg6IHN0cmluZy5zbGljZSgjeyRzaXplLW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1tYXg6IHN0cmluZy5zbGljZSgjeyR3LW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xyXG4gICRzaXplLW1pbi1weDogJHZhbHVlLW1pbiArIHB4O1xyXG4gICR3LW1heC1weDogJHctbWF4ICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuXHJcbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcclxuICAgICN7JHNpemUtbWluLXB4fSArICgjeyR2YWx1ZS1tYXh9IC0gI3skdmFsdWUtbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXHJcbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcclxuICApO1xyXG5cclxuICAkcHJvcGVydHk6IFwiXCI7XHJcblxyXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XHJcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LW1hcCwgJGF0dHIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHByb3BlcnR5OiAkYXR0cjtcclxuICB9XHJcblxyXG4gIEBpZiAobm90ICRvbmx5LW1lZC1xdWVyeSkge1xyXG4gICAgLy9pbXByZXNzIGF0dHJpYnV0ZSB5b3VyIHN0eWxlcyBjc3NcclxuICAgICN7JHByb3BlcnR5fTogJHNpemUtbWluLXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICgkc2l6ZS1taW4tcHggIT0gJHNpemUtbWF4LXB4KSB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdy1taW4tcHh9KSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtY2FsYztcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdy1tYXgtcHh9KSB7XHJcbiAgICAgICN7JHByb3BlcnR5fTogI3skc2l6ZS1tYXgtcHh9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSByKGZvbnQtc2l6ZSwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjBweCwgMzlweCwgMTQ0MCwgMzc1LCBmYWxzZSlcclxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xyXG5AbWl4aW4gcmkoXHJcbiAgJGF0dHI6IFwiXCIsXHJcbiAgJHZhbHVlLW1heDogXCJcIixcclxuICAkdmFsdWUtbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG4gIEBpbmNsdWRlIHIoXHJcbiAgICAkYXR0cixcclxuICAgICR2YWx1ZS1taW4sXHJcbiAgICAkdmFsdWUtbWF4LFxyXG4gICAgJHctbWluLFxyXG4gICAgJHctbWF4LFxyXG4gIClcclxufVxyXG5cclxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSByZXNwb25zaXZlKGZvbnQtc2l6ZSwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjAsIDM5LCAxNDQwLCAzNzUpIG9yICBAaW5jbHVkZSAgcmVzcG9uc2l2ZShmeiwgNjBweCwgMzlweCwgMTQ0MCwgMzc1LCBmYWxzZSlcclxuLy8gQGluY2x1ZGUgcmVzcG9uc2l2ZShoLCA2Ni4xMSwgMzApO1xyXG5AbWl4aW4gcmVzcG9uc2l2ZShcclxuICAkYXR0cjogXCJcIixcclxuICAkdmFsdWUtbWF4OiBcIlwiLFxyXG4gICR2YWx1ZS1taW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXHJcbiAgJG9ubHktbWVkLXF1ZXJ5OiBmYWxzZVxyXG4pIHtcclxuICBAaWYgJHctbWF4ID09IFwiXCIge1xyXG4gICAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlO1xyXG4gIH1cclxuXHJcbiAgQGlmICR2YWx1ZS1taW4gPT0gXCJcIiB7XHJcbiAgICAkc2l6ZS1taW46ICR2YWx1ZS1tYXg7XHJcbiAgfVxyXG5cclxuICAvL2NvbmRpdGlvbmFsIGlmIGF0dHJpYnV0ZXMgZXhpc3QgcHhcclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1taW46IHN0cmluZy5zbGljZSgjeyRzaXplLW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1tYXg6IHN0cmluZy5zbGljZSgjeyR3LW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xyXG4gICRzaXplLW1pbi1weDogJHZhbHVlLW1pbiArIHB4O1xyXG4gICR3LW1heC1weDogJHctbWF4ICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuICAkZGVza3RvcC1weDogJGRlc2t0b3AtcmVzcG9uc2l2ZSAqIDFweDtcclxuICAkcGhvbmUtcHg6ICRwaG9uZS1yZXNwb25zaXZlICogMXB4O1xyXG5cclxuICAkcmVzcG9uc2l2ZS1jYWxjOiBjYWxjKFxyXG4gICAgI3skc2l6ZS1taW4tcHh9ICsgKCN7JHZhbHVlLW1heH0gLSAjeyR2YWx1ZS1taW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cclxuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxyXG4gICk7XHJcblxyXG4gICRwcm9wZXJ0eTogXCJcIjtcclxuXHJcbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktbWFwLCAkYXR0cikpIHtcclxuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJvcGVydHk6ICRhdHRyO1xyXG4gIH1cclxuXHJcbiAgQGlmIChub3QgJG9ubHktbWVkLXF1ZXJ5KSB7XHJcbiAgICAvLyAmIHtcclxuICAgICAgLy9pbXByZXNzIGF0dHJpYnV0ZSB5b3VyIHN0eWxlcyBjc3NcclxuICAgICAgI3skcHJvcGVydHl9OiAkc2l6ZS1tYXgtcHg7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRzaXplLW1heC1weCAhPSRzaXplLW1pbi1weCkge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWF4LXB4fSkge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWluLXB4fSkge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICRzaXplLW1pbi1weDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgUmVzcG9uc2l2ZSBNZWRpYSBxdWVyeSBpbmxpbmVcclxuLy9Ib3cgdG8gdXNlOiAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtbXEoZnosIDYwLCAzOSwgMTQ0MCkgd2hlcmVcclxuLy8gYXR0cjogQXRyaWJ1dG8gZGUgbGEgcHJvcGllZGFkXHJcbi8vIHNpemUtbWF4OiBWYWxvciBtYXhpbW8gZGUgbGEgcXVlcnkgaW5pY2lhbFxyXG4vLyBzaXplLW1pbjogVmFsb3IgbWluaW1vIGRlIGxhIHF1ZXJ5IGluaWNpYWxcclxuLy8gdy1tYXg6IFBhbnRhbGxhIG1heGltYSB5IE1lZGlhIHF1ZXJ5IHBvciBkZWZlY3RvXHJcbi8vIHctbWluOiBQYW50YWxsYSBtaW5pbWFcclxuLy8gdHdvLW1xOiBTaSBzZSByZXF1aWVyZSBwYXJhIGxhIGludGVycnVwY2lvbiBkZSBsYSBzZWd1bmRhIG1lZGlhIHF1ZXJ5XHJcbkBtaXhpbiByZXNwb25zaXZlLW1xKFxyXG4gICRhdHRyOiBcIlwiLFxyXG4gICR2YWx1ZS1tYXg6IFwiXCIsXHJcbiAgJHZhbHVlLW1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZSxcclxuICAkdHdvLW1xOiBmYWxzZVxyXG4pIHtcclxuICBAaWYgJHZhbHVlLW1pbiA9PSBcIlwiIHtcclxuICAgICRzaXplLW1pbjogJHZhbHVlLW1heDtcclxuICB9XHJcblxyXG4gIC8vY29uZGl0aW9uYWwgaWYgYXR0cmlidXRlcyBleGlzdCBweFxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWF4OiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1pbjogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1heDogc3RyaW5nLnNsaWNlKCN7JHctbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICR3LW1pbjogc3RyaW5nLnNsaWNlKCN7JHctbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHNpemUtbWF4LXB4OiAkdmFsdWUtbWF4ICsgcHg7XHJcbiAgJHNpemUtbWluLXB4OiAkdmFsdWUtbWluICsgcHg7XHJcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG4gICRkZXNrdG9wLXB4OiAkZGVza3RvcC1yZXNwb25zaXZlICogMXB4O1xyXG4gICRwaG9uZS1weDogJHBob25lLXJlc3BvbnNpdmUgKiAxcHg7XHJcblxyXG4gICRyZXNwb25zaXZlLWNhbGM6IGNhbGMoXHJcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xyXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXHJcbiAgKTtcclxuXHJcbiAgJHByb3BlcnR5OiBcIlwiO1xyXG5cclxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xyXG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcclxuICB9IEBlbHNlIHtcclxuICAgICRwcm9wZXJ0eTogJGF0dHI7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1tYXgtcHh9KSB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XHJcbiAgfVxyXG5cclxuICBAaWYgKCR0d28tbXEpIHtcclxuICAgIEBpZiAoJHNpemUtbWF4LXB4ICE9JHNpemUtbWluLXB4KSB7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1pbi1weH0pIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JHNpemUtbWluLXB4fTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxyXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIG1xMihmeiwgNjAsIDE0NDApXHJcbkBtaXhpbiBtcWkoJGF0dHI6IFwiXCIsICRzY3JlZW46ICRkZXNrdG9wLXJlc3BvbnNpdmUpIHtcclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzY3JlZW46IHN0cmluZy5zbGljZSgjeyRzY3JlZW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHByb3BlcnR5OiBcIlwiO1xyXG4gICR2YWx1ZTogXCJcIjtcclxuXHJcbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktYWxsLCAkYXR0cikpIHtcclxuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktYWxsLCAkYXR0cik7XHJcbiAgICAkdmFsdWU6IG1hcC5nZXQoJHByb3BlcnR5LXZhbHVlLWFsbCwgJGF0dHIpO1xyXG5cclxuICAgICRzY3JlZW4tcHg6ICRzY3JlZW4gKyBweDtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLXB4fSkge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgUmVzcG9uc2l2ZSBNZWRpYSBxdWVyeSBpbmxpbmVcclxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSBtcShmeiwgNjAsIDE0NDApXHJcbkBtaXhpbiBtcSgkYXR0cjogXCJcIiwgJHZhbHVlOiBcIlwiLCAkc2NyZWVuOiAkZGVza3RvcC1yZXNwb25zaXZlKSB7XHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2NyZWVuOiBzdHJpbmcuc2xpY2UoI3skc2NyZWVufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gICRwcm9wZXJ0eTogXCJcIjtcclxuXHJcbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktbWFwLCAkYXR0cikpIHtcclxuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJvcGVydHk6ICRhdHRyO1xyXG4gIH1cclxuXHJcbiAgJHNpemUtcHg6IFwiXCI7XHJcblxyXG4gIEBpZiAobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgJHNpemUtcHg6ICN7JHZhbHVlfTtcclxuICB9IEBlbHNlIHtcclxuICAgICRweDogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCJweFwiKTtcclxuICAgICRlbTogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCJlbVwiKTtcclxuICAgICRyZW06IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwicmVtXCIpO1xyXG4gICAgJHBlcmNlbnQ6IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwiJVwiKTtcclxuXHJcbiAgICBAaWYgKCRlbSBvciAkcmVtIG9yICRwZXJjZW50IG9yICRweCkge1xyXG4gICAgICAkc2l6ZS1weDogI3skdmFsdWV9O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRzaXplLXB4OiAkdmFsdWUgKyBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRzY3JlZW4tcHg6ICRzY3JlZW4gKyBweDtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1weH0pIHtcclxuICAgICN7JHByb3BlcnR5fTogJHNpemUtcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcC1yZXNwb25zaXZlKFxyXG4gICRwdC1tYXg6IFwiXCIsXHJcbiAgJHB0LW1pbjogXCJcIixcclxuICAkcHItbWF4OiBcIlwiLFxyXG4gICRwci1taW46IFwiXCIsXHJcbiAgJHBiLW1heDogXCJcIixcclxuICAkcGItbWluOiBcIlwiLFxyXG4gICRwbC1tYXg6IFwiXCIsXHJcbiAgJHBsLW1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuICBAaWYgJHB0LW1heCAhPSBcIlwiIGFuZCAkcHQtbWluICE9IFwiXCIge1xyXG4gICAgcGFkZGluZy10b3A6IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgIEBpZiAkcHItbWF4ICE9IFwiXCIgYW5kICRwci1taW4gIT0gXCJcIiB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgICAgQGlmICRwYi1tYXggIT0gXCJcIiBhbmQgJHBiLW1pbiAhPSBcIlwiIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcGItbWF4LCAkcGItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgICAgIEBpZiAkcGwtbWF4ICE9IFwiXCIgYW5kICRwbC1taW4gIT0gXCJcIiB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHBsLW1heCwgJHBsLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwci1tYXgsICRwci1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlc3BvbnNpdmUoJHByLW1heCwgJHByLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtLXJlc3BvbnNpdmUoXHJcbiAgJG10LW1heDogXCJcIixcclxuICAkbXQtbWluOiBcIlwiLFxyXG4gICRtci1tYXg6IFwiXCIsXHJcbiAgJG1yLW1pbjogXCJcIixcclxuICAkbWItbWF4OiBcIlwiLFxyXG4gICRtYi1taW46IFwiXCIsXHJcbiAgJG1sLW1heDogXCJcIixcclxuICAkbWwtbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG4gIEBpZiAkbXQtbWF4ICE9IFwiXCIgYW5kICRtdC1taW4gIT0gXCJcIiB7XHJcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlKG10LCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgQGlmICRtci1tYXggIT0gXCJcIiBhbmQgJG1yLW1pbiAhPSBcIlwiIHtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtciwgJG1yLW1heCwgJG1yLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgICAgQGlmICRtYi1tYXggIT0gXCJcIiBhbmQgJG1iLW1pbiAhPSBcIlwiIHtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1iLCAkbWItbWF4LCAkbWItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcblxyXG4gICAgICAgIEBpZiAkbWwtbWF4ICE9IFwiXCIgYW5kICRtbC1taW4gIT0gXCJcIiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbWwtbWF4LCAkbWwtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1iLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG1yLW1heCwgJG1yLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtciwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1iLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGNvbnRhaW5lci14IHtcclxuICAvLyBAaW5jbHVkZSBtcShwYWRkaW5nLWxlZnQsIDE2LCAkbGcpO1xyXG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE2LCAkbGcpO1xyXG5cclxuICBAaW5jbHVkZSBtcShwYWRkaW5nLWxlZnQsIDE1LCAkc20pO1xyXG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE1LCAkc20pO1xyXG59XHJcblxyXG5AbWl4aW4gaW5wdXQtZGF0ZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgLyomOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNallpSUdobGFXZG9kRDBpTWpZaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TmlBeU5pSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhKbFkzUWdkMmxrZEdnOUlqSTJJaUJvWldsbmFIUTlJakkySWlCeWVEMGlNVE1pSUdacGJHdzlJaU5FUTBSQ1JFTWlMejRLUEhCaGRHZ2daRDBpVFRndU9EZzRPRGtnTVRJdU0wZ3hNaTQxVmpFMUxqaElPQzQ0T0RnNE9VMHhOeTQxTlRVMklERTRMalpJTnk0ME5EUTBORll4TUM0NVNERTNMalUxTlRaTk1UY3VOVFUxTmlBM0xqUklNVFl1T0RNek0xWTJTREUxTGpNNE9EbFdOeTQwU0RrdU5qRXhNVEZXTmtnNExqRTJOalkzVmpjdU5FZzNMalEwTkRRMFF6Y3VNRFl4TXpVZ055NDBJRFl1Tmprek9UVWdOeTQxTkRjMUlEWXVOREl6TURjZ055NDRNVEF3TlVNMkxqRTFNakU0SURndU1EY3lOaUEySURndU5ESTROeUEySURndU9GWXhPQzQyUXpZZ01UZ3VPVGN4TXlBMkxqRTFNakU0SURFNUxqTXlOelFnTmk0ME1qTXdOeUF4T1M0MU9EazVRell1Tmprek9UVWdNVGt1T0RVeU5TQTNMakEyTVRNMUlESXdJRGN1TkRRME5EUWdNakJJTVRjdU5UVTFOa014Tnk0NU16ZzJJREl3SURFNExqTXdOaUF4T1M0NE5USTFJREU0TGpVM05qa2dNVGt1TlRnNU9VTXhPQzQ0TkRjNElERTVMak15TnpRZ01Ua2dNVGd1T1RjeE15QXhPU0F4T0M0MlZqZ3VPRU14T1NBNExqUXlPRGNnTVRndU9EUTNPQ0E0TGpBM01qWWdNVGd1TlRjMk9TQTNMamd4TURBMVF6RTRMak13TmlBM0xqVTBOelVnTVRjdU9UTTROaUEzTGpRZ01UY3VOVFUxTmlBM0xqUmFJaUJtYVd4c1BTSWpORGswTlRSR0lpOCtDand2YzNablBnbz1cIik7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNDVweDtcclxuICAgIHRvcDogY2FsYyg1MCUgLSAxM3B4KTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH0qL1xyXG59XHJcblxyXG5AbWl4aW4gd2lkdGgtZXhwYW5kZWQge1xyXG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XHJcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG59XHJcbkBtaXhpbiBmdWxsLXdpZHRoIHtcclxuICBAaW5jbHVkZSB3aWR0aC1leHBhbmRlZCgpO1xyXG59XHJcblxyXG5AbWl4aW4gaGlkZS1zY3JvbGxiYXIge1xyXG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzY3JvbGwteC1mbGV4IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyO1xyXG59XHJcblxyXG5AbWl4aW4gaW1hZ2UtZnVsbC1jb250ZW50IHtcclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZml4ZWQtYm90dG9tIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDExMDE7XHJcbn1cclxuXHJcbkBtaXhpbiBweC1tb2JpbGUge1xyXG4gIHBhZGRpbmctbGVmdDogMTZweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG5cclxuQG1peGluIHNlbGVjdFdyYXBwZXIge1xyXG4gIHNlbGVjdCB7XHJcbiAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3Itc2t5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXNreTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIFxyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICBcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaWNvbnMvYXJyb3cucG5nXCIpIDkwJSAjZjBmMGYwIG5vLXJlcGVhdDtcclxuICBcclxuICAgIC8vIEBpbmNsdWRlIG1xKGJhY2tncm91bmQtcG9zaXRpb24sIDk1JSwgJHNtKTtcclxuICBcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ljb25zL2Fycm93LnBuZ1wiKSA5MCUgJHdoaXRlIG5vLXJlcGVhdDtcclxuICAgICAgb3V0bGluZTogJGNvbG9yLXNreTtcclxuICAgIH1cclxuICBcclxuICAgIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgICAmLCAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1sb2FkIHtcclxuICBjb2xvcjogIzk5OTk7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgYW5pbWF0aW9uOiBmYWRlVGV4dCA0cyBpbmZpbml0ZTtcclxufVxyXG4iXX0= */
