<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* Variables
--------------------------------------------------------------- */
/* Mixins
--------------------------------------------------------------- */
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
.page-template-what-we-do-page #LoadingIconContent {
  display: none;
}
.page-template-what-we-do-page .modal {
  padding-right: 0px !important;
}
.page-template-what-we-do-page.modal-open {
  padding-right: 0px !important;
}
.page-template-what-we-do-page .modal-backdrop {
  background-color: rgba(7, 42, 83, 0.8);
}
.page-template-what-we-do-page .modal-backdrop.show {
  opacity: 1;
}
.page-template-what-we-do-page #videoModal {
  background: rgba(0, 0, 0, 0.85);
}
.page-template-what-we-do-page #videoModal .modal-dialog {
  max-width: 950px;
}
.page-template-what-we-do-page #videoModal .modal-dialog .modal-content {
  border: none;
  background-color: transparent;
  border-radius: 0;
}
.page-template-what-we-do-page #videoModal .modal-dialog .modal-header {
  background-color: transparent;
  padding: 0;
  border: none;
}
.page-template-what-we-do-page #videoModal .modal-dialog .modal-header .btn-close {
  color: #ffffff;
  opacity: 1;
  -webkit-filter: invert(1);
  filter: invert(1);
  margin: 0px 0px 10px auto;
}
.page-template-what-we-do-page #videoModal .modal-dialog .modal-body {
  background-color: #000000;
  padding: 0;
}
.page-template-what-we-do-page .what-we-do-page {
  font-family: "azo-sans-web", sans-serif;
  color: #000;
  padding: 96px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page {
    padding-top: 8px;
  }
}
.page-template-what-we-do-page .what-we-do-page a {
  font-family: "azo-sans-web", sans-serif;
  text-decoration: underline;
  color: #000;
}
.page-template-what-we-do-page .what-we-do-page a:not(.btn):not(.btn-simple):hover {
  color: #000 !important;
}
.page-template-what-we-do-page .what-we-do-page .swiper-button-next,
.page-template-what-we-do-page .what-we-do-page .swiper-button-prev {
  width: 48px;
  height: 48px;
  background-color: #000;
  border-radius: 50%;
}
.page-template-what-we-do-page .what-we-do-page .swiper-button-next:after,
.page-template-what-we-do-page .what-we-do-page .swiper-button-prev:after {
  color: #fff;
  font-size: 16px;
}
.page-template-what-we-do-page .what-we-do-page .swiper-button-next {
  right: 26px;
}
.page-template-what-we-do-page .what-we-do-page p,
.page-template-what-we-do-page .what-we-do-page h1,
.page-template-what-we-do-page .what-we-do-page h2,
.page-template-what-we-do-page .what-we-do-page h3,
.page-template-what-we-do-page .what-we-do-page h4,
.page-template-what-we-do-page .what-we-do-page h5,
.page-template-what-we-do-page .what-we-do-page h6 {
  margin: 0;
}
.page-template-what-we-do-page .what-we-do-page img {
  display: block;
  width: 100%;
  height: auto;
}
.page-template-what-we-do-page .what-we-do-page .d-container {
  max-width: 1522px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
}
.page-template-what-we-do-page .what-we-do-page .d-container.wide {
  max-width: 1824px;
}
.page-template-what-we-do-page .what-we-do-page .btn {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 12px 24px;
  border-radius: 8px;
  border: 1px solid #ee7c22;
  background: #ee7c22;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  user-select: none;
  padding: 15px 24px;
  font-size: 16px;
}
.page-template-what-we-do-page .what-we-do-page .btn.m-secondary {
  background-color: transparent;
  color: #ee7c22;
}
.page-template-what-we-do-page .what-we-do-page .btn.m-secondary:hover {
  color: #fff;
  background-color: #ee7c22;
}
.page-template-what-we-do-page .what-we-do-page .btn:hover {
  color: #ee7c22;
  border-color: #ee7c22;
  box-shadow: none;
  background: none;
}
.page-template-what-we-do-page .what-we-do-page .swiper-scrollbar {
  background-color: #fff;
  height: 4px;
  width: 60%;
  left: 20%;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .swiper-scrollbar {
    width: 90%;
    left: 5%;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__inner {
    flex-wrap: wrap;
    padding-bottom: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__item {
  position: relative;
}
.page-template-what-we-do-page .what-we-do-page .hero__item.m-primary {
  width: calc(40% - 12px);
  padding: 24px 0 48px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__item.m-primary {
    width: 100%;
    padding-bottom: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__item.m-secondary {
  width: calc(60% - 12px);
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__item.m-secondary {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__title {
  font-size: 48px;
  font-weight: 400;
  line-height: 1.3;
  padding: 0 0 16px;
}
@media screen and (max-width: 1490px) {
  .page-template-what-we-do-page .what-we-do-page .hero__title {
    font-size: 38px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
  padding: 0 0 32px;
}
@media screen and (max-width: 1490px) {
  .page-template-what-we-do-page .what-we-do-page .hero__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__text {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__text.m-secondary {
  display: none;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__text.m-secondary {
    display: block;
    padding-top: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__imgWrap {
  border-radius: 24px 256px 24px 24px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__imgWrap {
    border-radius: 18px 100px 18px 18px;
  }
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__imgWrap {
    position: static;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__img {
  width: 100%;
  height: auto;
  display: block;
}
.page-template-what-we-do-page .what-we-do-page .hero__btnWrap {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__btnWrap {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hero__btnWrap.m-secondary {
  display: none;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .hero__btnWrap.m-secondary {
    display: flex;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow {
  background: rgba(0, 149, 128, 0.05);
  padding: 200px 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__item {
  flex-grow: 1;
  width: calc(50% - 12px);
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow__item {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__item.m-secondary {
  margin-right: 160px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow__item.m-secondary {
    margin-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 0 0 32px;
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__subtitle {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow__subtitle {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .eyebrow__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  padding: 65px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .eyebrow__text {
    padding-top: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin {
  background: #f8f5f0;
  backdrop-filter: blur(250px);
  padding: 80px 0 134px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .wherewefitin {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .wherewefitin__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin__item {
  flex-grow: 1;
  width: calc(50% - 12px);
  padding: 0 150px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .wherewefitin__item {
    width: 100%;
    padding-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 0 0 32px;
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin__subtitle {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .wherewefitin__subtitle {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .wherewefitin__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  padding: 65px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .wherewefitin__text {
    padding-top: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact {
  background: #fff;
  backdrop-filter: blur(250px);
  padding: 96px 0 96px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .impact {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .impact__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact__item {
  flex-grow: 1;
  width: calc(50% - 12px);
  padding: 0 150px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .impact__item {
    width: 100%;
    padding-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 0 0 32px;
}
.page-template-what-we-do-page .what-we-do-page .impact__subtitle {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .impact__subtitle {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  padding: 65px 0 32px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .impact__text {
    padding-top: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .impact__btnWrap {
  display: flex;
  justify-content: flex-start;
}
.page-template-what-we-do-page .what-we-do-page .funding {
  background: #fff;
  padding: 142px 0 80px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .funding {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .funding__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .funding__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .funding__item {
  flex-grow: 1;
  width: calc(50% - 12px);
  padding: 0 150px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .funding__item {
    width: 100%;
    padding-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .funding__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 0 0 32px;
}
.page-template-what-we-do-page .what-we-do-page .funding__subtitle {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .funding__subtitle {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .funding__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  padding: 65px 0 0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .funding__text {
    padding-top: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart {
  padding: 80px 0 277px;
  background: #fff;
  position: relative;
}
.page-template-what-we-do-page .what-we-do-page .haveapart .d-container {
  position: relative;
  z-index: 2;
}
.page-template-what-we-do-page .what-we-do-page .haveapart:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  bottom: 0;
  width: 27%;
  background-color: #f8f5f0;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart:before {
    width: 50%;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(27% + 50px);
  background: url("../img/what-we-do-page/bg-paths.png") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart:after {
    width: calc(50% + 50px);
  }
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__item {
  width: calc(50% - 12px);
  flex-grow: 1;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart__item {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__item.m-secondary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 150px;
  padding-right: 50px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart__item.m-secondary {
    padding-left: 0;
    padding-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__subtitle {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
  padding: 0 0 32px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart__subtitle {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__imgWrap {
  overflow: hidden;
  border-radius: 24px 256px 24px 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .haveapart__imgWrap {
    border-radius: 18px 100px 18px 18px;
  }
}
.page-template-what-we-do-page .what-we-do-page .haveapart__img {
  display: block;
  width: 100%;
  height: auto;
}
.page-template-what-we-do-page .what-we-do-page .haveapart__btnWrap {
  display: flex;
  justify-content: flex-start;
}
.page-template-what-we-do-page .what-we-do-page .weprovide {
  padding: 10px 0 80px;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__header {
  display: flex;
  justify-content: center;
  padding: 0 0 56px;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.33;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderWrapper {
  position: relative;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .weprovide__sliderWrapper {
    padding-bottom: 70px;
  }
}
.page-template-what-we-do-page .what-we-do-page .weprovide__slider {
  display: flex;
  justify-content: space-between;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItem {
  height: auto;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItemInner {
  border-radius: 16px;
  background-color: #f8f5f0;
  padding: 32px 32px 50px;
  height: 100%;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItemContent {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItemContentData {
  padding: 0 0 26px;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItemContentTitle {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.66;
}
.page-template-what-we-do-page .what-we-do-page .weprovide__sliderItemContentText {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.page-template-what-we-do-page .what-we-do-page .weprovide .swiper-scrollbar {
  width: 70%;
  left: 50%;
  transform: translate(-50%, 0);
  background: #f8f5f0;
  border-radius: 2px;
  display: none;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .weprovide .swiper-scrollbar {
    width: 100%;
    left: 0;
    transform: none;
    display: block;
  }
}
.page-template-what-we-do-page .what-we-do-page .weprovide .swiper-scrollbar .swiper-scrollbar-drag {
  background: #233059;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .weprovide .swiper-button-prev {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .weprovide .swiper-button-prev.swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .weprovide .swiper-button-next {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews {
  background: rgba(35, 125, 129, 0.1);
  backdrop-filter: blur(2px);
  padding: 85px 0 104px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .lastnews {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews__header {
  display: flex;
  justify-content: flex-start;
  gap: 32px;
  padding: 0 0 56px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .lastnews__header {
    padding-bottom: 30px;
    flex-direction: column;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews__title {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .lastnews__title {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews__moreLink {
  color: #000;
  text-decoration: none;
  color: #ee7c22;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding-top: 26px;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 7px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .lastnews__moreLink {
    padding-top: 21px;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews__content {
  padding: 0 0 80px;
  position: relative;
  overflow: hidden;
  margin-right: -14px;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItem {
  height: auto;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemInner {
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemHeader {
  aspect-ratio: 430/418;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemImage {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemContent {
  background: #fff;
  padding: 25px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 60px;
  flex-grow: 1;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemContentTitle {
  color: #000;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemContentTitle {
    font-size: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemContentFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemDate {
  color: #868686;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemLocation {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemLocationIcon {
  width: 11px;
  height: 16px;
  flex-shrink: 0;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemLocationIcon svg {
  width: 100%;
  height: 100%;
}
.page-template-what-we-do-page .what-we-do-page .lastnews__sliderItemLocationText {
  color: #ee7c22;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding-top: 5px;
}
.page-template-what-we-do-page .what-we-do-page .listSection__inner {
  position: relative;
  padding: 0 0 0 262px;
}
@media screen and (max-width: 1300px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__inner {
    padding-left: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .listSection__imageWrap {
  overflow: hidden;
  border-radius: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__imageWrap {
    border-radius: 18px;
  }
}
.page-template-what-we-do-page .what-we-do-page .listSection__imageInner {
  display: none;
  overflow: hidden;
  height: 0;
  position: relative;
  padding-top: 49.4647058824%;
  background-color: #ccc;
}
.page-template-what-we-do-page .what-we-do-page .listSection__imageInner:first-child {
  display: block;
}
.page-template-what-we-do-page .what-we-do-page .listSection__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  display: block;
  width: 100%;
  height: auto;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listWrap {
  background-color: #f8f5f0;
  padding: 40px 32px 56px;
  width: 525px;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 2;
  transform: translate(0, -50%);
  border-radius: 24px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__listWrap {
    border-radius: 18px;
  }
}
@media screen and (max-width: 1300px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__listWrap {
    position: static;
    transform: none;
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__listWrap {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItem {
  border-bottom: 1px solid #000;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 24px 0;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemContent {
  flex-grow: 1;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemData {
  font-size: 88px;
  line-height: 1;
  font-weight: 350;
  max-height: 0;
  overflow: hidden;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemData.active {
  max-height: fit-content;
  padding-bottom: 10px;
}
@media screen and (max-width: 1300px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__listItemData {
    font-size: 50px;
  }
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemTitle {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 1300px) {
  .page-template-what-we-do-page .what-we-do-page .listSection__listItemTitle {
    font-size: 18px;
  }
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemBtn {
  padding: 0;
  margin: 0;
  border: none;
  background-color: transparent;
  color: #151515;
  font-size: 26px;
  line-height: 1;
  font-weight: 300;
  flex-shrink: 0;
  position: relative;
  width: 24px;
  height: 24px;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemBtn:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  transform: translate(0, -0.5px);
  background-color: #151515;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemBtn:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  transform: translate(-0.5px, 0);
  background-color: #151515;
}
.page-template-what-we-do-page .what-we-do-page .listSection__listItemBtn.active:before {
  display: none;
}
.page-template-what-we-do-page .what-we-do-page .loop {
  padding: 32px 0;
  white-space: nowrap;
  width: 100vw;
  max-width: 100%;
  overflow-x: hidden;
  transition: opacity 0.35s;
  cursor: pointer;
  height: 206px;
  position: relative;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .loop.js-accordion-loop-btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .loop {
    height: 180px;
  }
}
.page-template-what-we-do-page .what-we-do-page .loop__inner {
  animation: marquee 48s forwards infinite paused linear;
  will-change: transform;
  position: absolute;
}
.page-template-what-we-do-page .what-we-do-page .loop:hover .loop__inner, .page-template-what-we-do-page .what-we-do-page .loop.active .loop__inner {
  animation-play-state: running;
}
.page-template-what-we-do-page .what-we-do-page .loop.m-secondary .loop__itemImg {
  filter: grayscale(1);
}
.page-template-what-we-do-page .what-we-do-page .loop__item {
  display: inline-block;
}
.page-template-what-we-do-page .what-we-do-page .loop__itemInner {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 0 20px;
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .loop__itemInner {
    gap: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .loop__itemImgWrap {
  width: 223px;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .loop__itemImgWrap {
    width: 180px;
  }
}
.page-template-what-we-do-page .what-we-do-page .loop__itemImgInner {
  height: 0;
  position: relative;
  padding-top: 49.399103139%;
  border-radius: 24px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .loop__itemImgInner {
    border-radius: 18px;
  }
}
.page-template-what-we-do-page .what-we-do-page .loop__itemImg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.page-template-what-we-do-page .what-we-do-page .loop__itemText {
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .loop__itemText {
    font-size: 36px;
  }
}
.page-template-what-we-do-page .what-we-do-page .loop.m-secondary {
  color: #fff;
}
@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes marquee2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(50%);
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoopSection {
  background-color: #f8f5f0;
  border-top: 1px solid #ddcaab;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoopSection.m-secondary {
  background-color: #ded8ce;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop {
  opacity: 0;
  transform: translate(0, 50px);
  overflow: hidden;
  max-height: 0;
  transition: max-height 1s ease 0s;
}
@media (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop {
    opacity: 1;
    max-height: 1000px;
    margin-bottom: 50px;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop.active {
  max-height: 1000px;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__container {
  padding: 48px 0 64px;
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__container {
    padding-top: 0;
    padding-bottom: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__inner {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  max-width: 1186px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__inner {
    flex-wrap: wrap;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem {
  flex-grow: 1;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem.m-primary {
  width: calc(49.5% - 20px);
  padding-right: 140px;
}
@media screen and (max-width: 1200px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem.m-primary {
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem.m-primary {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem.m-secondary {
  width: calc(50.5% - 20px);
}
@media screen and (max-width: 767px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItem.m-secondary {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemContent {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemTitle {
  font-size: 32px;
  font-weight: 400;
  line-height: 1.37;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemTitle {
    font-size: 28px;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemText {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemText p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemParagraph {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemImgWrap {
  height: 0;
  position: relative;
  padding-top: 49.474137931%;
  border-radius: 24px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemImgWrap {
    border-radius: 18px;
  }
}
.page-template-what-we-do-page .what-we-do-page .accordionLoop__innerItemImg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.page-template-what-we-do-page .what-we-do-page .learnMoreSection {
  border-top: 1px solid #ddcaab;
  background-color: #f8f5f0;
  padding: 80px 0 109px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .learnMoreSection {
    padding-bottom: 80px;
    padding-top: 80px;
  }
}
.page-template-what-we-do-page .what-we-do-page .learnMoreSection__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  gap: 72px;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .learnMoreSection__inner {
    flex-wrap: wrap;
    gap: 20px;
  }
}
.page-template-what-we-do-page .what-we-do-page .learnMoreSection__item .m-primary {
  flex-grow: 1;
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .learnMoreSection__item .m-primary {
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .page-template-what-we-do-page .what-we-do-page .learnMoreSection__item .m-secondary {
    width: 100%;
  }
}
.page-template-what-we-do-page .what-we-do-page .learnMoreSection__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.33;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.page-template-what-we-do-page .what-we-do-page .learnMoreSection__btnWrap {
  display: flex;
  justify-content: flex-start;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories {
  padding: 112px 0 143px;
  background: rgba(35, 125, 129, 0.1);
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories {
    padding: 80px 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .all-btn-mob {
  display: none;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .all-btn-mob {
    display: flex;
    justify-content: center;
    color: #ee7c22;
    font-size: 16px;
    font-weight: 700;
    line-height: 14px;
    text-decoration: none;
    align-items: baseline;
    gap: 7px;
  }
  .page-template-what-we-do-page .what-we-do-page .hp-stories .all-btn-mob span {
    margin-left: 8px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner {
  display: flex;
  align-items: baseline;
  margin-bottom: 56px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner {
    margin-bottom: 48px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner h2 {
  font-size: 40px;
  font-weight: 400;
  margin-right: 32px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner h2 {
    margin-right: 0;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner a {
  color: #ee7c22;
  font-size: 16px;
  font-weight: 700;
  line-height: 14px;
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner a span {
  margin-left: 8px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .hp-stories-inner a {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 {
  position: relative;
  padding-bottom: 70px;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}
@media (max-width: 1920px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 {
    padding-left: 16px;
  }
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 {
    padding-bottom: 48px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide {
  max-width: 430px;
  height: auto;
  border-radius: 16px 16px 16px 16px;
  background: #fff;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-link {
  text-decoration: none;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story_img {
  margin-bottom: 24px;
  min-height: 418px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story_img {
    min-height: 244px;
    margin-bottom: 16px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story_img img {
  height: 418px;
  width: 100%;
  object-fit: cover;
  border-radius: 16px 16px 0px 0px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story_img img {
    height: 244px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info {
  padding: 0 32px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info {
    padding: 0 16px 24px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story_title {
  margin-bottom: 60px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story_title {
    margin-bottom: 23px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story_title h4 {
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  color: #151515;
  max-width: 366px;
  margin: 0 auto;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story_title h4 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story_title h4 {
    font-size: 16px;
    line-height: 24px;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story-bottom .story-date {
  color: #868686;
  font-size: 12px;
  font-weight: 700;
  line-height: 9.075px;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story-bottom .story-location {
  font-size: 12px;
  font-weight: 700;
  line-height: 9.075px;
  color: #ee7c22;
  display: flex;
  align-items: center;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-slide .story-info .story-bottom .story-location .story-location-icon {
  margin-right: 8px;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-scrollbar {
  width: 70%;
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  border-radius: 2px;
}
@media (max-width: 576px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-scrollbar {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-scrollbar .swiper-scrollbar-drag {
  background: #233059;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-next {
  right: 50px;
  left: auto;
  top: 40%;
  bottom: auto;
  width: 48px;
  height: 48px;
  background: #151515;
  border-radius: 50%;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-next.swiper-button-disabled {
  display: none;
}
@media (max-width: 992px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-next {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-next::after {
  font-size: 16px;
  line-height: 16px;
  color: #fff;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-prev {
  right: auto;
  left: 50px;
  top: 40%;
  bottom: auto;
  width: 48px;
  height: 48px;
  background: #151515;
  border-radius: 50%;
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-prev.swiper-button-disabled {
  display: none;
}
@media (max-width: 992px) {
  .page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-prev {
    display: none;
  }
}
.page-template-what-we-do-page .what-we-do-page .hp-stories .homeSwiper4 .swiper-button-prev::after {
  font-size: 16px;
  line-height: 16px;
  color: #fff;
}
.page-template-what-we-do-page .what-we-do-page .fadeIn {
  animation: fadeInAnimation ease 1.5s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-delay: 1s;
}
@keyframes fadeInAnimation {
  0% {
    opacity: 0;
    transform: translate(0, 50px);
  }
  50% {
    opacity: 0.5;
  }
  90% {
    opacity: 1;
    transform: translate(0, -10px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbW9kdWxlcy9fbWl4aW5zLnNjc3MiLCJ3aGF0LXdlLWRvLXBhZ2Uuc2NzcyIsIi4uL21vZHVsZXMvX2luY2x1ZGUtbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FDQUE7QUFBQTtBQXdIQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUN2R0U7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUtOO0VBQ0UsYUFwRUk7RUFxRUosT0FuRVU7RUFvRVY7O0FBRUE7RUFMRjtJQU1JOzs7QUFHRjtFQUNFLGFBN0VFO0VBOEVGO0VBQ0EsT0E3RVE7O0FBK0VSO0VBQ0U7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRSxPQTNGTztFQTRGUDs7QUFJSjtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0UsT0FoSVM7RUFpSVQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBdklLO0VBd0lMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxPQXRKRzs7QUF3Skg7RUFDRTtFQUNBLGtCQTFKQzs7QUE4Skw7RUFDRSxPQS9KRztFQWdLSCxjQWhLRztFQWlLSDtFQUNBOztBQU9KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFORjtJQU9JO0lBQ0E7OztB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QUNBO0VBQ0EsT0FsaERMO0VBbWhESztFQUNBOztBQUNBO0VBQ0U7O0FBT1Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZQS9oREE7RUFnaURBOztBQUVBO0VBUEY7SUFRSTs7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBOWlEQTtFQStpREE7O0FBRUE7RUFDRTs7QUFHRjtFQWRGO0lBZUk7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLE9BaGtERjs7QUFva0RGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUF2a0RBO0VBd2tEQTs7QUFFQTtFQUNFOztBQUdGO0VBZEY7SUFlSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsT0F6bERGOztBQStsRE47RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0EiLCJmaWxlIjoid2hhdC13ZS1kby1wYWdlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIEdyaWQgJiBzaXRlLXdpZGUgd2lkdGgtc3BlY2lmaWMgaXRlbXNcbiRjb2x1bW4td2lkdGg6IDYwcHg7XG4kZ3V0dGVyLXdpZHRoOiAzMHB4O1xuJGNvbHVtbnM6IDEyO1xuJHRvdGFsLXdpZHRoOiAxMDAlO1xuJGNvbnRhaW5lci13aWR0aDogMTQwMHB4O1xuXG4vLyBGb250c1xuJGZvbnQtcHJpbWFyeTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1pY29uczogXCJGb250QXdlc29tZVwiO1xuJGZvbnQtYnJlc3NheTogXCJicmVzc2F5XCI7XG4kYXpvOiBcImF6by1zYW5zLXdlYlwiLCBzYW5zLXNlcmlmO1xuXG4vLyBDb2xvcnNcbiRjb2xvci1ibHVlLWE6ICMzM2NjZmY7XG4kY29sb3ItYmx1ZS1iOiAjMDBiYmRkO1xuJGNvbG9yLWJsdWUtYzogIzMzZmZmZjtcblxuJG9yYW5nZTogI2VlN2MyMjtcbiRpbWItYmxhY2s6ICMxNTE1MTU7XG4kb3JhbmdlOiAjZWU3YzIyO1xuJHdoaXRlOiAjZmZmO1xuJGxpZ2h0X2dyZXk6ICNkMWQxZDE7XG4kZ3JleTogI2Q5ZDlkOTtcbiRncmV5LWRhcms6ICM4Njg2ODY7XG4kYnJvd246ICNmOGY1ZjA7XG4kbGlnaHRfdGFuOiAjZjhmNWYwO1xuJGJsYWNrOiAjMTUxNTE1O1xuJGxpZ2h0OiAjZThmMWYyO1xuJGdyZWVuOiAjMDA5NTgwO1xuJGJsdWVncmVlbjogIzIzN2Q4MTtcbiRsaWdodF9ibHVlOiAjZTlmMmYyO1xuJGRhcmtfdGFuOiAjZTRkY2NkO1xuJGJsdWU6ICMyMzMwNTk7XG4kbmV3LWNvbG9yLWJsdWUtYTogIzViYzJlNztcbi8vdHJhbnNpdGlvbnNcbiRjdWJpYzogYWxsIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDUwbXM7XG4kY3ViaWMtZmFzdDogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDUwbXM7XG4kY3ViaWMtc2xvdzogYWxsIDEuNXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDUwbXM7XG4vLyBUeXBvZ3JhcGh5XG4kbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXG4vLyBIZWFkZXJcbiRtYWluLW5hdi1oZWlnaHQ6IDc0cHg7XG4kbWFpbi1uYXYtaGVpZ2h0LXM6IDQ4cHg7XG5cbiRlZGl0b3JpYWwtbmF2LWhlaWdodDogNTBweDtcbiRlZGl0b3JpYWwtbmF2LWhlaWdodC1zOiA0NnB4O1xuXG5cblxuLy8gRm9vdGVyXG4kZm9vdGVyLWhlaWdodDogMjI1cHg7XG4iLCIvKiBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy9AdXNlIFwic2FzczptYXRoXCI7XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICp6b29tOiAxO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtdGV4dCB7XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkZWZmZWN0Li4uKSB7XG4gIC1tcy10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gIC1tb3otdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLW8tdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0oJGVmZmVjdC4uLikge1xuICAtbW96LXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLW1zLXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLW8tdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICAvL3BhZGRpbmctdG9wOiBjYWxjKG1hdGguZGl2KCRoZWlnaHQsICR3aWR0aCkgKiAxMDAlKTtcbiAgfVxufVxuXG5AbWl4aW4gYWJzb2x1dGUtY292ZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtY292ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gbWlkZGxlX3Yge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xufVxuXG5AbWl4aW4gbWlkZGxlX2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuQG1peGluIGFic29sdXRlX21pZGRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG59XG5cbkBmdW5jdGlvbiByYW5nZS1wcm9ncmVzcygkY29sb3IsICRkaXN0LCAkb2Zmc2V0KSB7XG4gICR2YWw6IC0jeyRkaXN0fSAwIDAgLSN7JG9mZnNldH0gJGNvbG9yO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTUwIHtcbiAgICAkdmFsOlxuICAgICAgI3skdmFsfSxcbiAgICAgICN7LSRkaXN0IC0gKCgkZGlzdCAtICRvZmZzZXQpICogJGkpfSAwIDAgLSN7JG9mZnNldH0gI3skY29sb3J9O1xuICB9XG5cbiAgQHJldHVybiAkdmFsO1xufVxuXG4vLyBUcmFja2luZyB0byBMZXR0ZXItU3BhY2luZyBtaXhpblxuQG1peGluIHRyYWNraW5nKCR0cmFja2luZykge1xuICBsZXR0ZXItc3BhY2luZzogKCR0cmFja2luZyAvIDEwMDApICogMWVtO1xufVxuXG4vKlxuICBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LWZpdDpcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb250YWluKTtcbiAgb3Igb2JqZWN0LWZpdCBhbmQgb2JqZWN0LXBvc2l0aW9uOlxuICBAaW5jbHVkZSBvYmplY3QtZml0KGNvdmVyLCB0b3ApO1xuKi9cbkBtaXhpbiBvYmplY3QtZml0KCRmaXQ6IGZpbGwsICRwb3NpdGlvbjogbnVsbCkge1xuICAtby1vYmplY3QtZml0OiAkZml0O1xuICBvYmplY3QtZml0OiAkZml0O1xuICBAaWYgJHBvc2l0aW9uIHtcbiAgICAtby1vYmplY3QtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgICBvYmplY3QtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiAjeyRmaXR9OyBvYmplY3QtcG9zaXRpb246ICN7JHBvc2l0aW9ufVwiO1xuICB9IEBlbHNlIHtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiAjeyRmaXR9XCI7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZsZXhib3ggU0FTUyBtaXhpbnNcbi8vIFRoZSBzcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggZGlzcGxheVxuQG1peGluIGZsZXhib3goKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8gVGhlICdmbGV4JyBzaG9ydGhhbmRcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xuLy8gPHBvc2l0aXZlLW51bWJlcj4sIGluaXRpYWwsIGF1dG8sIG9yIG5vbmVcbkBtaXhpbiBmbGV4KCR2YWx1ZXMpIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogJHZhbHVlcztcbiAgLW1vei1ib3gtZmxleDogJHZhbHVlcztcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWVzO1xuICAtbXMtZmxleDogJHZhbHVlcztcbiAgZmxleDogJHZhbHVlcztcbn1cblxuLy8gRmxleCBGbG93IERpcmVjdGlvblxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcbi8vIHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIC1tb3otZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5cbi8vIEZsZXggTGluZSBXcmFwcGluZ1xuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcbi8vIG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR3cmFwO1xuICAtbW96LWZsZXgtd3JhcDogJHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuXG4vLyBGbGV4IERpcmVjdGlvbiBhbmQgV3JhcFxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcbi8vIDxmbGV4LWRpcmVjdGlvbj4gfHwgPGZsZXgtd3JhcD5cbkBtaXhpbiBmbGV4LWZsb3coJGZsb3cpIHtcbiAgLXdlYmtpdC1mbGV4LWZsb3c6ICRmbG93O1xuICAtbW96LWZsZXgtZmxvdzogJGZsb3c7XG4gIC1tcy1mbGV4LWZsb3c6ICRmbG93O1xuICBmbGV4LWZsb3c6ICRmbG93O1xufVxuXG4vLyBEaXNwbGF5IE9yZGVyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcbi8vIDxpbnRlZ2VyPlxuQG1peGluIG9yZGVyKCR2YWwpIHtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogJHZhbDtcbiAgLW1vei1ib3gtb3JkaW5hbC1ncm91cDogJHZhbDtcbiAgLW1zLWZsZXgtb3JkZXI6ICR2YWw7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWw7XG4gIG9yZGVyOiAkdmFsO1xufVxuXG4vLyBGbGV4IGdyb3cgZmFjdG9yXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcbi8vIDxudW1iZXI+XG5AbWl4aW4gZmxleC1ncm93KCRncm93KSB7XG4gIC13ZWJraXQtZmxleC1ncm93OiAkZ3JvdztcbiAgLW1vei1mbGV4LWdyb3c6ICRncm93O1xuICAtbXMtZmxleC1ncm93OiAkZ3JvdztcbiAgZmxleC1ncm93OiAkZ3Jvdztcbn1cblxuLy8gRmxleCBzaHJpbmtcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtIHNocmluayBmYWN0b3Jcbi8vIDxudW1iZXI+XG5AbWl4aW4gZmxleC1zaHJpbmsoJHNocmluaykge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICAtbW96LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICAtbXMtZmxleC1zaHJpbms6ICRzaHJpbms7XG4gIGZsZXgtc2hyaW5rOiAkc2hyaW5rO1xufVxuXG4vLyBGbGV4IGJhc2lzXG4vLyAtIHRoZSBpbml0aWFsIG1haW4gc2l6ZSBvZiB0aGUgZmxleCBpdGVtXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNuaXRpYWwgbWFpbiBzaXplIG9mIHRoZSBmbGV4IGl0ZW1cbi8vIDx3aWR0aD5cbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aCkge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6ICR3aWR0aDtcbiAgLW1vei1mbGV4LWJhc2lzOiAkd2lkdGg7XG4gIC1tcy1mbGV4LWJhc2lzOiAkd2lkdGg7XG4gIGZsZXgtYmFzaXM6ICR3aWR0aDtcbn1cblxuLy8gQXhpcyBBbGlnbm1lbnRcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCRqdXN0aWZ5KSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICAtbXMtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGp1c3RpZnk7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWl0ZW1zKCRqdXN0aWZ5KSB7XG4gIC13ZWJraXQtanVzdGlmeS1pdGVtczogJGp1c3RpZnk7XG4gIC1tb3otanVzdGlmeS1pdGVtczogJGp1c3RpZnk7XG4gIC1tcy1qdXN0aWZ5LWl0ZW1zOiAkanVzdGlmeTtcbiAganVzdGlmeS1pdGVtczogJGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6ICRqdXN0aWZ5O1xufVxuXG4vLyBQYWNraW5nIEZsZXggTGluZXNcbi8vIC0gYXBwbGllcyB0bzogbXVsdGktbGluZSBmbGV4IGNvbnRhaW5lcnNcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ24pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkYWxpZ247XG4gIC1tb3otYWxpZ24tY29udGVudDogJGFsaWduO1xuICAtbXMtYWxpZ24tY29udGVudDogJGFsaWduO1xuICBhbGlnbi1jb250ZW50OiAkYWxpZ247XG59XG5cbi8vIENyb3NzLWF4aXMgQWxpZ25tZW50XG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgLW1vei1hbGlnbi1pdGVtczogJGFsaWduO1xuICAtbXMtYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbn1cblxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xuLy8gYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAtbW96LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgLW1zLWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgYWxpZ24tc2VsZjogJGFsaWduO1xufVxuXG4vLyBAbWl4aW4gZm9udC1yZXNwb25zaXZlKCRtaW4sICRtYXgpIHtcbi8vICAgICAkbWlucHg6ICRtaW4gKyBweDtcbi8vICAgICBmb250LXNpemU6IGNhbGMoI3skbWlucHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSooKDEwMHZ3IC0gMzAwcHgpLygxOTIwIC0gMzAwKSkpO1xuLy8gfVxuQG1peGluIGZvbnQtcmVzcG9uc2l2ZSgkbWluLCAkbWF4KSB7XG4gICRtaW5weDogJG1pbiArIHB4O1xuICBmb250LXNpemU6IGNhbGMoI3skbWlucHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAzMDBweCkgLyAoMTkyMCAtIDMwMCkpKTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIGZvbnQtc2l6ZTogJG1heCArIHB4O1xuICB9XG59XG5cbkBtaXhpbiBsaW5lLWhlaWdodC1yZXNwb25zaXZlKCRtaW4sICRtYXgpIHtcbiAgJG1pbnB4OiAkbWluICsgcHg7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKCN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gMzAwcHgpIC8gKDE5MjAgLSAzMDApKSk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIGxpbmUtaGVpZ2h0OiAkbWF4ICsgcHg7XG4gIH1cbn1cblxuQG1peGluIGZvbnQtY2xhbXAoJG1pbiwgJHZhbCwgJG1heCwgJGZhbGxiYWNrX21lZGl1bSkge1xuICBAc3VwcG9ydHMgKGZvbnQtc2l6ZTogY2xhbXAoJG1pbiwgJHZhbCwgJG1heCkpIHtcbiAgICBmb250LXNpemU6IGNsYW1wKCRtaW4sICR2YWwsICRtYXgpO1xuICB9XG4gIEBzdXBwb3J0cyBub3QgKGZvbnQtc2l6ZTogY2xhbXAoJG1pbiwgJHZhbCwgJG1heCkpIHtcbiAgICBmb250LXNpemU6ICRtYXg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgZm9udC1zaXplOiAkZmFsbGJhY2tfbWVkaXVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1pbjtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBmb250LXNpemU6ICRtYXg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBmb250LXNpemU6ICRmYWxsYmFja19tZWRpdW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZm9udC1zaXplOiAkbWluO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2xhbXBBdXRvVncoJHByb3BlcnR5LCAkbWluLCAkbWF4KSB7XG4gICR2d01heDogMTkyMDsgLy8gTWF4aW11bSBzY3JlZW4gd2lkdGhcbiAgJG1heFZ3OiBjYWxjKCRtYXggLyAkdndNYXgpICogMTAwOyAvLyBDYWxjdWxhdGUgbWF4IHZhbHVlIGluIHZ3IHVuaXRzXG4gICN7JHByb3BlcnR5fTogY2xhbXAoI3skbWlufXB4LCAjeyRtYXhWd312dywgI3skbWF4fXB4KTtcbn1cblxuLy8gMjAyNCBjdXN0b20gbWl4aW5zXG5cbkBtaXhpbiBjb2x1bW4tdGl0bGUtZm9udC1zdHlsZXMge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3VidGl0bGUtZm9udC1zdHlsZXMge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG59XG5cbkBtaXhpbiBjb2x1bW4tdGV4dC1mb250LXN0eWxlcyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG5cbkBtaXhpbiBpbWFnZS13cmFwcGVyLXJhZGl1c2VzIHtcbiAgYm9yZGVyLXJhZGl1czogMjRweCAyNTZweCAyNHB4IDI0cHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMThweCAxMDBweCAxOHB4IDE4cHg7XG4gIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby13cmFwKCR3aWR0aCwgJGhlaWdodCkge1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IGNhbGMoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLWltYWdlKCkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuQG1peGluIGltYWdlLXdyYXAtcmFkaXVzKCkge1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIH1cbn1cbiIsIi8vQGltcG9ydCBcIi4uL21vZHVsZXMvX21peGlucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vZ2xvYmFsX2RlcGVuZGVuY2llc1wiO1xuLnBhZ2UtdGVtcGxhdGUtd2hhdC13ZS1kby1wYWdlIHtcbiAgJGF6bzogXCJhem8tc2Fucy13ZWJcIiwgc2Fucy1zZXJpZjtcbiAgJHByb2Zvcm1hOiBcInByb2Zvcm1hXCIsIHNlcmlmO1xuICAkdGV4dC1kYXJrOiAjMDAwO1xuICAkdGV4dC1saWdodDogI2ZmZjtcbiAgJGNyZWFtOiAjZjhmNWYwO1xuICAkb3JhbmdlOiAjZWU3YzIyO1xuXG4gICR3aGl0ZTogI2ZmZjtcbiAgJGdyZXk6ICNkOWQ5ZDk7XG4gICRncmV5LWRhcms6ICM4Njg2ODY7XG4gICRicm93bjogI2Y4ZjVmMDtcbiAgJGJsYWNrOiAjMTUxNTE1O1xuICAkZ3JlZW46ICNlOGYxZjI7XG5cbiAgI0xvYWRpbmdJY29uQ29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tb2RhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLm1vZGFsLW9wZW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1vZGFsLWJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDQyLCA4MywgMC44KTtcblxuICAgICYuc2hvdyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICN2aWRlb01vZGFsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuXG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICBtYXgtd2lkdGg6IDk1MHB4O1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIC5idG4tY2xvc2Uge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxKTtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgICAgICAgICBtYXJnaW46IDBweCAwcHggMTBweCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2hhdC13ZS1kby1wYWdlIHtcbiAgICBmb250LWZhbWlseTogJGF6bztcbiAgICBjb2xvcjogJHRleHQtZGFyaztcbiAgICBwYWRkaW5nOiA5NnB4IDAgMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYXpvO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogJHRleHQtZGFyaztcblxuICAgICAgJjpub3QoLmJ0bik6bm90KC5idG4tc2ltcGxlKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1saWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IDI2cHg7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDkwcHggKyAyICogMTZweCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcblxuICAgICAgJi53aWRlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE3OTJweCArIDIgKiAxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1saWdodDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsXG4gICAgICAgIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgcGFkZGluZzogMTVweCAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBsZWZ0OiAyMCU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWl4aW4gY29sdW1uLXRpdGxlLWZvbnQtc3R5bGVzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQG1peGluIGNvbHVtbi1zdWJ0aXRsZS1mb250LXN0eWxlcyB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWl4aW4gY29sdW1uLXRleHQtZm9udC1zdHlsZXMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIH1cblxuICAgIEBtaXhpbiBpbWFnZS13cmFwcGVyLXJhZGl1c2VzIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggMjU2cHggMjRweCAyNHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweCAxMDBweCAxOHB4IDE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1peGluIGFzcGVjdC1yYXRpby13cmFwKCR3aWR0aCwgJGhlaWdodCkge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy10b3A6IDUwJSAtIGNhbGMoJGhlaWdodCAvICR3aWR0aCk7IC8vYWRkIG1hbnVhbCBhZGp1c3RtZW50IG9mIFwiNTAlIC0gXCIgYmVjYXVzZSBhc3BlY3QtcmF0aW8td3JhcCB3YXNuJ3Qgd29ya2luZyBwcm9wZXJseVxuICAgIH1cblxuICAgIEBtaXhpbiBhc3BlY3QtcmF0aW8taW1hZ2UoKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICBAbWl4aW4gaW1hZ2Utd3JhcC1yYWRpdXMoKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVybyB7XG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYubS1wcmltYXJ5IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MCUgLSAxMnB4KTtcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDAgNDhweDtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg2MCUgLSAxMnB4KTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTZweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDkwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzc7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMnB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0OTBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbWdXcmFwIHtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2Utd3JhcHBlci1yYWRpdXNlcygpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJl9fYnRuV3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tLXNlY29uZGFyeSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fYnRuIHtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXllYnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE0OSwgMTI4LCAwLjA1KTtcbiAgICAgIHBhZGRpbmc6IDIwMHB4IDA7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1wcmltYXJ5IHtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1zZWNvbmRhcnkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTYwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4tdGl0bGUtZm9udC1zdHlsZXMoKTtcblxuICAgICAgICBwYWRkaW5nOiAwIDAgMzJweDtcbiAgICAgIH1cblxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4tc3VidGl0bGUtZm9udC1zdHlsZXMoKTtcbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi10ZXh0LWZvbnQtc3R5bGVzKCk7XG5cbiAgICAgICAgcGFkZGluZzogNjVweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2hlcmV3ZWZpdGluIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGY1ZjA7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjUwcHgpO1xuICAgICAgcGFkZGluZzogODBweCAwIDEzNHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMjRweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMTUwcHggMCAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm0tcHJpbWFyeSB7XG4gICAgICAgIH1cblxuICAgICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi10aXRsZS1mb250LXN0eWxlcygpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzJweDtcbiAgICAgIH1cblxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4tc3VidGl0bGUtZm9udC1zdHlsZXMoKTtcbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi10ZXh0LWZvbnQtc3R5bGVzKCk7XG5cbiAgICAgICAgcGFkZGluZzogNjVweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1wYWN0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjUwcHgpO1xuICAgICAgcGFkZGluZzogOTZweCAwIDk2cHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgcGFkZGluZzogMCAxNTBweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1wcmltYXJ5IHtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1zZWNvbmRhcnkge1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXRpdGxlLWZvbnQtc3R5bGVzKCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMnB4O1xuICAgICAgfVxuXG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi1zdWJ0aXRsZS1mb250LXN0eWxlcygpO1xuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXRleHQtZm9udC1zdHlsZXMoKTtcblxuICAgICAgICBwYWRkaW5nOiA2NXB4IDAgMzJweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19idG5XcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mdW5kaW5nIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxNDJweCAwIDgwcHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgcGFkZGluZzogMCAxNTBweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1wcmltYXJ5IHtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1zZWNvbmRhcnkge1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXRpdGxlLWZvbnQtc3R5bGVzKCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMnB4O1xuICAgICAgfVxuXG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi1zdWJ0aXRsZS1mb250LXN0eWxlcygpO1xuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXRleHQtZm9udC1zdHlsZXMoKTtcbiAgICAgICAgcGFkZGluZzogNjVweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGF2ZWFwYXJ0IHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMCAyNzdweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5kLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDI3JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogY2FsYygyNyUgKyA1MHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3doYXQtd2UtZG8tcGFnZS9iZy1wYXRocy5wbmdcIikgbm8tcmVwZWF0IGNlbnRlclxuICAgICAgICAgIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgKyA1MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1wcmltYXJ5IHtcbiAgICAgICAgfVxuXG4gICAgICAgICYubS1zZWNvbmRhcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1MHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXN1YnRpdGxlLWZvbnQtc3R5bGVzKCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMnB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbWdXcmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2Utd3JhcHBlci1yYWRpdXNlcygpO1xuICAgICAgfVxuXG4gICAgICAmX19pbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJl9fYnRuV3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgJl9fYnRuIHtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2Vwcm92aWRlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCA4MHB4O1xuXG4gICAgICAmX19pbm5lciB7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTZweDtcbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVyV3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Jbm5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY1ZjA7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMzJweCA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Db250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Db250ZW50RGF0YSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNnB4O1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuXG4gICAgICAmX19zbGlkZXJJdGVtQ29udGVudFRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVySXRlbUNvbnRlbnRUZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjcmVhbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMzA1OTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXN0bmV3cyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM1LCAxMjUsIDEyOSwgMC4xKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAgICAgcGFkZGluZzogODVweCAwIDEwNHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lciB7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTZweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXN1YnRpdGxlLWZvbnQtc3R5bGVzKCk7XG4gICAgICB9XG5cbiAgICAgICZfX21vcmVMaW5rIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWRhcms7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiA3cHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA4MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE0cHg7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlciB7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Jbm5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAmX19zbGlkZXJJdGVtSGVhZGVyIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0MzAvNDE4O1xuICAgICAgfVxuXG4gICAgICAmX19zbGlkZXJJdGVtSW1hZ2Uge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVySXRlbUNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA2MHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Db250ZW50VGl0bGUge1xuICAgICAgICBjb2xvcjogJHRleHQtZGFyaztcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVySXRlbUNvbnRlbnRGb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Db250ZW50Rm9vdGVySXRlbSB7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1EYXRlIHtcbiAgICAgICAgY29sb3I6ICM4Njg2ODY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgICZfX3NsaWRlckl0ZW1Mb2NhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAmX19zbGlkZXJJdGVtTG9jYXRpb25JY29uIHtcbiAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVySXRlbUxvY2F0aW9uVGV4dCB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3RTZWN0aW9uIHtcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNjJweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW1hZ2VXcmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2Utd3JhcC1yYWRpdXMoKTtcbiAgICAgIH1cblxuICAgICAgJl9faW1hZ2VJbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby13cmFwKDE1MzAsIDgxOSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLWltYWdlKCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmX19saXN0V3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY1ZjA7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMzJweCA1NnB4O1xuICAgICAgICB3aWR0aDogNTI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGltYWdlLXdyYXAtcmFkaXVzKCk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbGlzdCB7XG4gICAgICB9XG5cbiAgICAgICZfX2xpc3RJdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgICB9XG5cbiAgICAgICZfX2xpc3RJdGVtQ29udGVudCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cblxuICAgICAgJl9fbGlzdEl0ZW1EYXRhIHtcbiAgICAgICAgZm9udC1zaXplOiA4OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDM1MDtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbGlzdEl0ZW1UaXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbGlzdEl0ZW1CdG4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMTUxNTE1O1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTAuNXB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNXB4LCAwKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvb3Age1xuICAgICAgJi5qcy1hY2NvcmRpb24tbG9vcC1idG5cbiAgICAgIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgaGVpZ2h0OiAyMDZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIH1cblxuICAgICAgJl9faW5uZXIge1xuICAgICAgICBhbmltYXRpb246IG1hcnF1ZWUgNDhzIGZvcndhcmRzIGluZmluaXRlIHBhdXNlZCBsaW5lYXI7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAubG9vcF9faW5uZXIsXG4gICAgICAmLmFjdGl2ZSAubG9vcF9faW5uZXIge1xuICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcbiAgICAgIH1cblxuICAgICAgJi5tLXNlY29uZGFyeSAubG9vcF9faXRlbUltZyB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmX19pdGVtSW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW1JbWdXcmFwIHtcbiAgICAgICAgd2lkdGg6IDIyM3B4O1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW1JbWdJbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby13cmFwKDIyMywgMTM0KTtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2Utd3JhcC1yYWRpdXMoKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgJl9faXRlbUltZyB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1pbWFnZSgpO1xuICAgICAgfVxuXG4gICAgICAmX19pdGVtQ29udGVudCB7XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW1UZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWxpZ2h0O1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIG1hcnF1ZWUge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICB0byB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgbWFycXVlZTIge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICB0byB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uTG9vcFNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRjYWFiO1xuXG4gICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZDhjZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uTG9vcCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjUwcHg7XG4gICAgICB9XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA1MHB4KTtcblxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UgMHM7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDAgNjRweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTE4NnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVySXRlbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAmLm0tcHJpbWFyeSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDkuNSUgLSAyMHB4KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tLXNlY29uZGFyeSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAuNSUgLSAyMHB4KTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW5uZXJJdGVtSW5uZXIge1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lckl0ZW1Db250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lckl0ZW1UaXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVySXRlbVRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbm5lckl0ZW1QYXJhZ3JhcGgge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVySXRlbUltZ1dyYXAge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8td3JhcCg1ODAsIDMwNSk7XG4gICAgICAgIEBpbmNsdWRlIGltYWdlLXdyYXAtcmFkaXVzKCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVySXRlbUltZyB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1pbWFnZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sZWFybk1vcmVTZWN0aW9uIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRjYWFiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmMDtcbiAgICAgIHBhZGRpbmc6IDgwcHggMCAxMDlweDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIH1cblxuICAgICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGdhcDogNzJweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICAubS1wcmltYXJ5IHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tLXNlY29uZGFyeSB7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAmX19wYXJhZ3JhcGgge1xuICAgICAgfVxuXG4gICAgICAmX19idG5XcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ocC1zdG9yaWVzIHtcbiAgICAgIHBhZGRpbmc6IDExMnB4IDAgMTQzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM1LCAxMjUsIDEyOSwgMC4xKTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICAgIH1cblxuICAgICAgLmFsbC1idG4tbW9iIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgIGdhcDogN3B4O1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhwLXN0b3JpZXMtaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgIGdhcDogN3B4O1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ob21lU3dpcGVyNCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTkyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiA2MHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQzMHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMTZweCAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgICAgIC5zdG9yeS1saW5rIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3RvcnlfaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MThweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0NHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MThweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMHB4IDBweDtcblxuICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0NHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN0b3J5LWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMnB4IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweCAyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcnlfdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcnktYm90dG9tIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgIC5zdG9yeS1kYXRlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogOS4wNzVweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5zdG9yeS1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDkuMDc1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5zdG9yeS1sb2NhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMzA1OTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgICByaWdodDogNTBweDtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogNTBweDtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAmLnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mYWRlSW4ge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5BbmltYXRpb24gZWFzZSAxLjVzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbkFuaW1hdGlvbiB7XG4gICAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwcHgpO1xuICAgICAgfVxuXG4gICAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG5cbiAgICAgIDkwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMHB4KTtcbiAgICAgIH1cblxuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwi77u/QGNoYXJzZXQgJ1VURi04JztcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuNFxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6ICggJ3Bob25lJzogNTQwcHgsICd0YWJsZXQnOiA3NjhweCwgJ2Rlc2t0b3AnOiAxMDI0cHgsICdzaXRlLXdpZHRoJzogMTQwMHB4ICkgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6ICggJ3NjcmVlbic6ICdzY3JlZW4nLCAncHJpbnQnOiAncHJpbnQnLCAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLCAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScgKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6ICggJ3B4JzogMSwgJ2VtJzogMC4wMSwgJ3JlbSc6IDAuMSApICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gbG9nKCRtZXNzYWdlKSB7XG4gICAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICAgICAgQGVycm9yICRtZXNzYWdlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICAgICAkXzogbm9vcCgpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgbG9nKCcuLicpIHt9YCBvciBgJF86IGxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICAgIEBpZiBsb2coJG1lc3NhZ2UpIHtcbiAgICB9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICAgIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgICAgICBAaWYgbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAgICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAgICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgICAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgICAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvciAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICAgIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgICAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgICAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBsb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gICAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICAgIH1cblxuICAgICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAgICAgLy8gcmVseSBvbiB0aGUgYGxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAgICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAgICAgJF86IGxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICAgIH1cblxuICAgIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAgICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gICAgfVxuICAgIEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgICB9XG5cbiAgICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAgIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgICB9XG5cbiAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICAgIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgICAgIEByZXR1cm4gKCk7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICAgIH1cblxuICAgICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAgICRyZXN1bHQ6IDA7XG4gICAgJGRpZ2l0czogMDtcbiAgICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gICAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gICAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgICAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICAgICAgICRkaWdpdHM6IDE7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gICAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICAgICAkXzogbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAgIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gICAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgICBAY29udGVudDtcbiAgICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvciAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgICAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAgICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
</pre></body></html>