/* 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);
*/
/* 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);
*/
.hero {
  padding-top: 150px;
  padding-bottom: 75px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .hero.with_overlap {
    padding-bottom: 0;
  }
}
.hero .overlap {
  height: 70px;
}
.hero .btn {
  border: 1px solid #ee7c22;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero .btn.m-secondary {
  background-color: transparent;
  color: #ee7c22;
}
.hero .btn.m-secondary:hover {
  color: #fff;
  background-color: #ee7c22;
}
.hero .btn.m-secondary:hover svg path {
  stroke: #fff;
}
.hero .btn * {
  flex-shrink: 0;
}
.hero .btn:hover {
  color: #ee7c22;
  border-color: #ee7c22;
  box-shadow: none;
  background: none;
}
.hero .btns_below_media {
  padding-top: 16px;
}
.hero .btns_below_media .hero__btnWrap {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 0;
}
.hero .btns_below_media .hero__btnWrap .btn {
  width: auto;
}
.hero__inner {
  display: flex;
  justify-content: space-between;
  gap: max(10%, 24px);
  align-items: center;
}
@media screen and (max-width: 1100px) {
  .hero__inner {
    flex-wrap: wrap;
    padding-bottom: 20px;
  }
}
.hero .brow {
  margin-bottom: 32px;
}
.hero__item {
  position: relative;
}
.hero__item.m-primary {
  width: calc(40% - 12px);
  padding: 66px 0 130px;
}
@media screen and (max-width: 1100px) {
  .hero__item.m-primary {
    width: 100%;
    padding-bottom: 0;
    padding-top: 24px;
  }
}
.hero__item.m-secondary {
  width: calc(60% - 12px);
}
@media screen and (max-width: 1100px) {
  .hero__item.m-secondary {
    width: 100%;
  }
}
.hero__title {
  font-size: 48px;
  font-weight: 400;
  line-height: 1.3;
  padding: 0 0 16px;
}
@media screen and (max-width: 1490px) {
  .hero__title {
    font-size: 38px;
  }
}
.hero__title .swiper-vertical {
  display: inline-block;
  width: auto;
  height: 1.2em;
  vertical-align: middle;
  overflow: hidden;
  position: relative;
  font-weight: bold;
}
.hero__title .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  white-space: nowrap;
}
.hero__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.77;
}
@media screen and (max-width: 1490px) {
  .hero__text {
    font-size: 16px;
  }
}
.hero__imgWrap {
  border-radius: 24px 256px 24px 24px;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  .hero__imgWrap {
    border-radius: 18px 100px 18px 18px;
  }
}
.hero__imgWrap img {
  width: 100%;
}
.hero__img,
.hero video {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 221/159;
  object-fit: cover;
}
.hero__btnWrap {
  display: flex;
  justify-content: flex-start;
  gap: 24px;
  margin-bottom: 16px;
}
@media screen and (max-width: 600px) {
  .hero__btnWrap {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  .hero__btn {
    width: 100%;
  }
}
.hero__btn:hover svg path {
  stroke: #ee7c22;
}
.hero.cta_layout {
  padding: 112px 0 0;
  margin: 0 0 247px;
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout {
    margin-bottom: 80px;
    padding-top: 80px;
  }
}
.hero.cta_layout .hero__inner {
  display: flex;
  justify-content: space-between;
  gap: 160px;
  align-items: start;
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout .hero__inner {
    flex-wrap: wrap;
    padding-bottom: 20px;
    gap: 40px;
  }
}
.hero.cta_layout .hero__item {
  position: relative;
}
.hero.cta_layout .hero__item.m-primary {
  width: calc(50% - 160px);
  padding: 66px 0 134px;
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout .hero__item.m-primary {
    width: 100%;
    padding-bottom: 0;
    padding-top: 24px;
  }
}
.hero.cta_layout .hero__item.m-secondary {
  width: calc(50% - 0px);
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout .hero__item.m-secondary {
    width: 100%;
  }
}
.hero.cta_layout .hero__imgWrap {
  border-radius: 24px 256px 24px 24px;
  height: 0;
  position: relative;
  padding-top: 86.7667121419%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout .hero__imgWrap {
    border-radius: 18px 100px 18px 18px;
  }
}
@media screen and (max-width: 1100px) {
  .hero.cta_layout .hero__imgWrap {
    position: static;
  }
}
.hero.cta_layout .hero__imgWrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  display: block;
}
.hero.cta_layout .hero__title {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  padding: 0 0 32px;
}
@media screen and (max-width: 1490px) {
  .hero.cta_layout .hero__title {
    font-size: 32px;
  }
}

.job-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #f8f5f0;
  border-radius: 16px;
  background-color: #fff;
  color: inherit;
  text-decoration: none;
}
.job-card__media {
  display: block;
  aspect-ratio: 430/298;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
@media screen and (max-width: 600px) {
  .job-card__media {
    aspect-ratio: 16/9;
  }
}
.job-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
  transition: transform 0.5s ease-in-out;
  transform: scale(1);
}
.job-card__image--placeholder {
  background: linear-gradient(135deg, #e4dccd, #f8f5f0);
}
.job-card:hover .job-card__image, .job-card:focus-visible .job-card__image {
  transform: scale(1.08);
}
.job-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 32px;
  background-color: #fff;
}
.job-card__title {
  display: -webkit-box;
  min-height: 2.6em;
  margin-bottom: 12px;
  overflow: hidden;
  color: #151515;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 600px) {
  .job-card__title {
    min-height: 0;
  }
}
.job-card__description {
  display: -webkit-box;
  margin-bottom: 16px;
  overflow: hidden;
  color: #151515;
  font-size: 16px;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.job-card__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  margin-bottom: 16px;
}
.job-card__meta ~ .job-card__footer {
  margin-top: 0;
}
.job-card__meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #151515;
  font-size: 14px;
  line-height: 1.3;
}
.job-card__meta-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: #868686;
}
.job-card__meta-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}
.job-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.job-card__chips:last-child {
  margin-bottom: 0;
}
.job-card__chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.job-card__footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #f8f5f0;
}
.job-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  border-radius: 12px;
  background-color: rgba(238, 124, 34, 0.06);
  color: #ee7c22;
  font-size: 15px;
  font-weight: 700;
}
.job-card__cta svg {
  display: block;
}

.single-job-page {
  background-color: #fff;
}
.single-job-page .single-job-apply-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background-color: #fff;
  border-bottom: 1px solid #f8f5f0;
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s ease;
}
.single-job-page .single-job-apply-bar.is-stuck {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.single-job-page .single-job-apply-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
}
.single-job-page .single-job-apply-bar__title {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .single-job-page .single-job-apply-bar__title {
    font-size: 18px;
  }
}
.single-job-page .single-job-apply-bar__btn.btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  height: 40px;
  min-height: 0;
  padding: 0 24px;
  font-size: 12px;
}
.single-job-page .breadcrumbs {
  background-color: #f8f5f0;
  border-bottom: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .single-job-page .breadcrumbs {
    display: none;
  }
}
.single-job-page .single-job-hero {
  background-color: #f8f5f0;
  padding-top: 48px;
  margin-bottom: 64px;
}
.single-job-page .single-job-hero .overlap {
  background-color: #fff;
}
.single-job-page .single-job-hero .hero__item.m-primary {
  padding-top: 0;
}
.single-job-page .single-job-hero .hero__title {
  padding-bottom: 0;
}
.single-job-page .single-job-hero__headline {
  margin: 20px 0 0;
  max-width: 520px;
  font-size: 18px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-hero__headline {
    margin-top: 32px;
  }
}
.single-job-page .single-job-hero__btn-wrap {
  margin-top: 32px;
}
.single-job-page .single-job-hero .hero__btnWrap {
  margin-bottom: 0;
}
.single-job-page .single-job-hero__chips-wrap {
  margin-top: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid #ebe2d4;
}
.single-job-page .single-job-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-job-page .single-job-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background-color: #fff;
  border: 1px solid rgba(21, 21, 21, 0.12);
  border-radius: 100px;
  font-size: 15px;
  font-weight: 500;
  color: #151515;
}
.single-job-page .single-job-hero__chip i {
  font-size: 14px;
  color: #151515;
}
.single-job-page .single-job-hero__img {
  max-height: 560px;
  object-fit: cover;
  object-position: center top;
}
.single-job-page .single-job-hero__media-mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .single-job-page .single-job-hero {
    margin-bottom: 40px;
    padding-bottom: 0;
  }
  .single-job-page .single-job-hero .hero__inner {
    padding-bottom: 0;
  }
  .single-job-page .single-job-hero--design .single-job-hero__media {
    display: none;
  }
  .single-job-page .single-job-hero--design .single-job-hero__media-mobile {
    display: block;
    margin: 48px 0 32px;
  }
  .single-job-page .single-job-hero--design .single-job-hero__img-mobile {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 358/458;
    object-fit: cover;
    border-radius: 24px 124px 24px 24px;
  }
}
.single-job-page .single-job-what-youll-do {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-what-youll-do {
    margin-bottom: 120px;
  }
}
.single-job-page .single-job-what-youll-do__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-what-youll-do__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
  }
}
@media screen and (min-width: 1101px) {
  .single-job-page .single-job-what-youll-do__inner {
    gap: 80px;
  }
}
.single-job-page .single-job-what-youll-do__brow {
  margin: 0 0 12px;
  color: #ee7c22;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.single-job-page .single-job-what-youll-do__heading {
  margin: 0 0 24px;
  color: #151515;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-what-youll-do__heading {
    font-size: 40px;
  }
}
.single-job-page .single-job-what-youll-do__description {
  color: #151515;
  font-size: 16px;
  line-height: 1.65;
}
.single-job-page .single-job-what-youll-do__description p:last-child {
  margin-bottom: 0;
}
.single-job-page .single-job-what-youll-do__card {
  background: #f0f5fc;
  border-radius: 16px;
  padding: 32px;
}
.single-job-page .single-job-what-youll-do__card-heading {
  margin: 0 0 24px;
  color: #151515;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}
.single-job-page .single-job-what-youll-do__rows {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(21, 21, 21, 0.1);
}
.single-job-page .single-job-what-youll-do__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(21, 21, 21, 0.1);
}
.single-job-page .single-job-what-youll-do__row-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #151515;
  font-size: 15px;
  font-weight: 400;
}
.single-job-page .single-job-what-youll-do__row-label i {
  width: 16px;
  text-align: center;
  font-size: 14px;
  color: #151515;
}
.single-job-page .single-job-what-youll-do__row-value {
  color: #151515;
  font-size: 15px;
  font-weight: 700;
  text-align: right;
}
.single-job-page .single-job-what-youll-do__apply {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 24px;
}
.single-job-page .single-job-what-youll-do__apply svg {
  flex-shrink: 0;
}
.single-job-page .single-job-cta {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-cta {
    margin-bottom: 120px;
  }
}
.single-job-page .single-job-cta__inner {
  position: relative;
  height: 322px;
  overflow: hidden;
  border-radius: 24px 256px 256px 24px;
  background-color: #f8f5f0;
}
.single-job-page .single-job-cta__content {
  position: relative;
  top: 50%;
  z-index: 3;
  width: 760px;
  max-width: calc(100% - 160px);
  padding-left: 80px;
  transform: translateY(-50%);
}
.single-job-page .single-job-cta__heading {
  margin-bottom: 24px;
  color: #151515;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}
.single-job-page .single-job-cta__text {
  margin-bottom: 40px;
  color: #151515;
  font-size: 16px;
  line-height: 1.5;
}
.single-job-page .single-job-cta__text p:last-child {
  margin-bottom: 0;
}
.single-job-page .single-job-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.single-job-page .single-job-cta__media {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 895px;
  height: 322px;
  overflow: hidden;
  border-radius: 0 256px 256px 0;
}
.single-job-page .single-job-cta__media::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  z-index: 2;
  width: 360px;
  height: 322px;
  border-radius: 0 256px 256px 0;
  background-color: #f8f5f0;
}
.single-job-page .single-job-cta__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(var(--cta-img-offset-x, 0px)) scale(var(--cta-img-zoom, 1));
  transform-origin: var(--cta-img-origin, center center);
}
.single-job-page .single-job-cta__image--mobile {
  display: none;
}
@media screen and (max-width: 1300px) {
  .single-job-page .single-job-cta__content {
    width: 640px;
    max-width: calc(100% - 96px);
    padding-left: 48px;
  }
  .single-job-page .single-job-cta__media {
    width: 45%;
    min-width: 420px;
  }
  .single-job-page .single-job-cta__media::before {
    width: 260px;
  }
}
@media screen and (max-width: 900px) {
  .single-job-page .single-job-cta__inner {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: visible;
    border-radius: 0;
    background-color: transparent;
  }
  .single-job-page .single-job-cta__media {
    order: -1;
    position: relative;
    width: 100%;
    min-width: 0;
    height: 358px;
    overflow: hidden;
    border-radius: 50% 50% 0 0/50% 50% 0 0;
  }
  .single-job-page .single-job-cta__media::before {
    display: none;
  }
  .single-job-page .single-job-cta__image {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
  }
  .single-job-page .single-job-cta__image--desktop {
    display: none;
  }
  .single-job-page .single-job-cta__image--mobile {
    display: block;
    transform: scale(var(--cta-img-zoom-mobile, 1));
    transform-origin: var(--cta-img-mobile-origin, center center);
  }
  .single-job-page .single-job-cta__content {
    position: relative;
    top: auto;
    width: auto;
    max-width: none;
    padding: 40px 24px 48px;
    border-radius: 0 0 24px 24px;
    background-color: #f8f5f0;
    transform: none;
  }
  .single-job-page .single-job-cta__heading {
    font-size: 32px;
  }
  .single-job-page .single-job-cta__buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .single-job-page .single-job-cta__button {
    width: 100%;
    text-align: center;
  }
}
.single-job-page .single-job-related {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-related {
    margin-bottom: 120px;
  }
}
.single-job-page .single-job-related__head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-bottom: 40px;
}
.single-job-page .single-job-related__heading {
  color: #151515;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
}
.single-job-page .single-job-related__view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ee7c22;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.single-job-page .single-job-related__view-all svg {
  display: block;
}
.single-job-page .single-job-related__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
@media screen and (max-width: 1100px) {
  .single-job-page .single-job-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 600px) {
  .single-job-page .single-job-related__grid {
    grid-template-columns: 1fr;
  }
}
.single-job-page .single-job-newsletter {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) {
  .single-job-page .single-job-newsletter {
    margin-bottom: 120px;
  }
}
.single-job-page .single-job-newsletter .hp-form {
  position: relative;
}
.single-job-page .single-job-newsletter .hp-form-inner {
  display: flex;
  max-width: 1490px;
  margin: 0 auto;
  padding: 64px 151px 96px;
  border-radius: 26px;
  background: #e8f1f2;
  position: relative;
  z-index: 1;
}
@media (max-width: 992px) {
  .single-job-page .single-job-newsletter .hp-form-inner {
    display: block;
  }
}
@media (max-width: 768px) {
  .single-job-page .single-job-newsletter .hp-form-inner {
    padding: 64px 50px 96px;
  }
}
@media (max-width: 576px) {
  .single-job-page .single-job-newsletter .hp-form-inner {
    padding: 56px 24px 122px;
  }
}
.single-job-page .single-job-newsletter .hp-form-left {
  width: 50%;
  padding-right: 20px;
}
@media (max-width: 992px) {
  .single-job-page .single-job-newsletter .hp-form-left {
    width: 100%;
    padding-right: 0;
  }
}
.single-job-page .single-job-newsletter .hp-form-left h2 {
  margin-bottom: 16px;
  max-width: 360px;
  font-size: 40px;
  font-weight: 400;
}
@media (max-width: 992px) {
  .single-job-page .single-job-newsletter .hp-form-left h2 {
    max-width: none;
  }
}
.single-job-page .single-job-newsletter .hp-form-left p {
  max-width: 360px;
  line-height: 28px;
}
@media (max-width: 992px) {
  .single-job-page .single-job-newsletter .hp-form-left p {
    max-width: none;
  }
}
.single-job-page .single-job-newsletter .hp-form-right {
  width: 50%;
}
@media (max-width: 992px) {
  .single-job-page .single-job-newsletter .hp-form-right {
    width: 100%;
  }
}
.single-job-page .single-job-newsletter .decor1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.single-job-page .single-job-newsletter .decor2 {
  position: absolute;
  bottom: -55px;
  left: 50%;
  transform: translate(-50%, 0);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbW9kdWxlcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ibG9ja3MvaGVyby10d28tY29sdW1ucy9oZXJvLXR3by1jb2x1bW5zLnNjc3MiLCIuLi9hc3NldHMvYm9vdHN0cmFwNS9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9wYXJ0aWFscy9fam9iLWNhcmQuc2NzcyIsInNpbmdsZS1qb2Iuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FDQUE7QUFBQTtBQXdIQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUR4SEE7QUFBQTtBQ0FBO0FBQUE7QUF3SEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDdEhBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7O0FDdURFO0VEckRGO0lBRUk7OztBQUdKO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQSxPQXZCSzs7QUF5Qkw7RUFDRTtFQUNBLGtCQTNCRzs7QUE2QkQ7RUFDRTs7QUFNUjtFQUNFOztBQUdGO0VBQ0UsT0F6Q0s7RUEwQ0wsY0ExQ0s7RUEyQ0w7RUFDQTs7QUFHSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5GO0lBT0k7SUFDQTs7O0FBR0o7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFFQTtFQUpGO0lBS0k7SUFDQTtJQUNBOzs7QUFJSjtFQUNFOztBQUVBO0VBSEY7SUFJSTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5GO0lBT0k7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUxGO0lBTUk7OztB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c3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBHcmlkICYgc2l0ZS13aWRlIHdpZHRoLXNwZWNpZmljIGl0ZW1zXG4kY29sdW1uLXdpZHRoOiA2MHB4O1xuJGd1dHRlci13aWR0aDogMzBweDtcbiRjb2x1bW5zOiAxMjtcbiR0b3RhbC13aWR0aDogMTAwJTtcbiRjb250YWluZXItd2lkdGg6IDE0MDBweDtcblxuLy8gRm9udHNcbiRmb250LXByaW1hcnk6IFwiZnJlaWdodC1zYW5zLXByb1wiLCBzYW5zLXNlcmlmO1xuJGZvbnQtaWNvbnM6IFwiRm9udEF3ZXNvbWVcIjtcbiRmb250LWJyZXNzYXk6IFwiYnJlc3NheVwiO1xuJGF6bzogXCJhem8tc2Fucy13ZWJcIiwgc2Fucy1zZXJpZjtcblxuLy8gQ29sb3JzXG4kY29sb3ItYmx1ZS1hOiAjMzNjY2ZmO1xuJGNvbG9yLWJsdWUtYjogIzAwYmJkZDtcbiRjb2xvci1ibHVlLWM6ICMzM2ZmZmY7XG5cbiRvcmFuZ2U6ICNlZTdjMjI7XG4kaW1iLWJsYWNrOiAjMTUxNTE1O1xuJG9yYW5nZTogI2VlN2MyMjtcbiR3aGl0ZTogI2ZmZjtcbiRsaWdodF9ncmV5OiAjZDFkMWQxO1xuJGdyZXk6ICNkOWQ5ZDk7XG4kZ3JleS1kYXJrOiAjODY4Njg2O1xuJGJyb3duOiAjZjhmNWYwO1xuJGxpZ2h0X3RhbjogI2Y4ZjVmMDtcbiRibGFjazogIzE1MTUxNTtcbiRsaWdodDogI2U4ZjFmMjtcbiRncmVlbjogIzAwOTU4MDtcbiRibHVlZ3JlZW46ICMyMzdkODE7XG4kbGlnaHRfYmx1ZTogI2U5ZjJmMjtcbiRkYXJrX3RhbjogI2U0ZGNjZDtcbiRibHVlOiAjMjMzMDU5O1xuJG5ldy1jb2xvci1ibHVlLWE6ICM1YmMyZTc7XG4vL3RyYW5zaXRpb25zXG4kY3ViaWM6IGFsbCAwLjZzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSA1MG1zO1xuJGN1YmljLWZhc3Q6IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSA1MG1zO1xuJGN1YmljLXNsb3c6IGFsbCAxLjVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSA1MG1zO1xuLy8gVHlwb2dyYXBoeVxuJGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblxuLy8gSGVhZGVyXG4kbWFpbi1uYXYtaGVpZ2h0OiA3NHB4O1xuJG1haW4tbmF2LWhlaWdodC1zOiA0OHB4O1xuXG4kZWRpdG9yaWFsLW5hdi1oZWlnaHQ6IDUwcHg7XG4kZWRpdG9yaWFsLW5hdi1oZWlnaHQtczogNDZweDtcblxuXG5cbi8vIEZvb3RlclxuJGZvb3Rlci1oZWlnaHQ6IDIyNXB4O1xuIiwiLyogTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vQHVzZSBcInNhc3M6bWF0aFwiO1xuQG1peGluIGNsZWFyZml4KCkge1xuICAqem9vbTogMTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXRleHQge1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oJGVmZmVjdC4uLikge1xuICAtbXMtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtbW96LXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gIC1vLXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gIHRyYW5zaXRpb246ICRlZmZlY3Q7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtKCRlZmZlY3QuLi4pIHtcbiAgLW1vei10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC1tcy10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC1vLXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIHRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgLy9wYWRkaW5nLXRvcDogY2FsYyhtYXRoLmRpdigkaGVpZ2h0LCAkd2lkdGgpICogMTAwJSk7XG4gIH1cbn1cblxuQG1peGluIGFic29sdXRlLWNvdmVyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIG1pZGRsZV92IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0b3A6IDUwJTtcbn1cblxuQG1peGluIG1pZGRsZV9oIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbkBtaXhpbiBhYnNvbHV0ZV9taWRkbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xufVxuXG5AZnVuY3Rpb24gcmFuZ2UtcHJvZ3Jlc3MoJGNvbG9yLCAkZGlzdCwgJG9mZnNldCkge1xuICAkdmFsOiAtI3skZGlzdH0gMCAwIC0jeyRvZmZzZXR9ICRjb2xvcjtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDE1MCB7XG4gICAgJHZhbDpcbiAgICAgICN7JHZhbH0sXG4gICAgICAjey0kZGlzdCAtICgoJGRpc3QgLSAkb2Zmc2V0KSAqICRpKX0gMCAwIC0jeyRvZmZzZXR9ICN7JGNvbG9yfTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbDtcbn1cblxuLy8gVHJhY2tpbmcgdG8gTGV0dGVyLVNwYWNpbmcgbWl4aW5cbkBtaXhpbiB0cmFja2luZygkdHJhY2tpbmcpIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICgkdHJhY2tpbmcgLyAxMDAwKSAqIDFlbTtcbn1cblxuLypcbiAgVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1maXQ6XG4gIEBpbmNsdWRlIG9iamVjdC1maXQoY29udGFpbik7XG4gIG9yIG9iamVjdC1maXQgYW5kIG9iamVjdC1wb3NpdGlvbjpcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgdG9wKTtcbiovXG5AbWl4aW4gb2JqZWN0LWZpdCgkZml0OiBmaWxsLCAkcG9zaXRpb246IG51bGwpIHtcbiAgLW8tb2JqZWN0LWZpdDogJGZpdDtcbiAgb2JqZWN0LWZpdDogJGZpdDtcbiAgQGlmICRwb3NpdGlvbiB7XG4gICAgLW8tb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogI3skZml0fTsgb2JqZWN0LXBvc2l0aW9uOiAjeyRwb3NpdGlvbn1cIjtcbiAgfSBAZWxzZSB7XG4gICAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogI3skZml0fVwiO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGbGV4Ym94IFNBU1MgbWl4aW5zXG4vLyBUaGUgc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IGRpc3BsYXlcbkBtaXhpbiBmbGV4Ym94KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vIFRoZSAnZmxleCcgc2hvcnRoYW5kXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcbi8vIDxwb3NpdGl2ZS1udW1iZXI+LCBpbml0aWFsLCBhdXRvLCBvciBub25lXG5AbWl4aW4gZmxleCgkdmFsdWVzKSB7XG4gIC13ZWJraXQtYm94LWZsZXg6ICR2YWx1ZXM7XG4gIC1tb3otYm94LWZsZXg6ICR2YWx1ZXM7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlcztcbiAgLW1zLWZsZXg6ICR2YWx1ZXM7XG4gIGZsZXg6ICR2YWx1ZXM7XG59XG5cbi8vIEZsZXggRmxvdyBEaXJlY3Rpb25cbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXG4vLyByb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAtbW96LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuXG4vLyBGbGV4IExpbmUgV3JhcHBpbmdcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXG4vLyBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXG5AbWl4aW4gZmxleC13cmFwKCR3cmFwKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkd3JhcDtcbiAgLW1vei1mbGV4LXdyYXA6ICR3cmFwO1xuICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgZmxleC13cmFwOiAkd3JhcDtcbn1cblxuLy8gRmxleCBEaXJlY3Rpb24gYW5kIFdyYXBcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXG4vLyA8ZmxleC1kaXJlY3Rpb24+IHx8IDxmbGV4LXdyYXA+XG5AbWl4aW4gZmxleC1mbG93KCRmbG93KSB7XG4gIC13ZWJraXQtZmxleC1mbG93OiAkZmxvdztcbiAgLW1vei1mbGV4LWZsb3c6ICRmbG93O1xuICAtbXMtZmxleC1mbG93OiAkZmxvdztcbiAgZmxleC1mbG93OiAkZmxvdztcbn1cblxuLy8gRGlzcGxheSBPcmRlclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXG4vLyA8aW50ZWdlcj5cbkBtaXhpbiBvcmRlcigkdmFsKSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICR2YWw7XG4gIC1tb3otYm94LW9yZGluYWwtZ3JvdXA6ICR2YWw7XG4gIC1tcy1mbGV4LW9yZGVyOiAkdmFsO1xuICAtd2Via2l0LW9yZGVyOiAkdmFsO1xuICBvcmRlcjogJHZhbDtcbn1cblxuLy8gRmxleCBncm93IGZhY3RvclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXG4vLyA8bnVtYmVyPlxuQG1peGluIGZsZXgtZ3JvdygkZ3Jvdykge1xuICAtd2Via2l0LWZsZXgtZ3JvdzogJGdyb3c7XG4gIC1tb3otZmxleC1ncm93OiAkZ3JvdztcbiAgLW1zLWZsZXgtZ3JvdzogJGdyb3c7XG4gIGZsZXgtZ3JvdzogJGdyb3c7XG59XG5cbi8vIEZsZXggc2hyaW5rXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbSBzaHJpbmsgZmFjdG9yXG4vLyA8bnVtYmVyPlxuQG1peGluIGZsZXgtc2hyaW5rKCRzaHJpbmspIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogJHNocmluaztcbiAgLW1vei1mbGV4LXNocmluazogJHNocmluaztcbiAgLW1zLWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICBmbGV4LXNocmluazogJHNocmluaztcbn1cblxuLy8gRmxleCBiYXNpc1xuLy8gLSB0aGUgaW5pdGlhbCBtYWluIHNpemUgb2YgdGhlIGZsZXggaXRlbVxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zbml0aWFsIG1haW4gc2l6ZSBvZiB0aGUgZmxleCBpdGVtXG4vLyA8d2lkdGg+XG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGgpIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkd2lkdGg7XG4gIC1tb3otZmxleC1iYXNpczogJHdpZHRoO1xuICAtbXMtZmxleC1iYXNpczogJHdpZHRoO1xuICBmbGV4LWJhc2lzOiAkd2lkdGg7XG59XG5cbi8vIEF4aXMgQWxpZ25tZW50XG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuQG1peGluIGp1c3RpZnktY29udGVudCgkanVzdGlmeSkge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgLW1zLWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6ICRqdXN0aWZ5O1xufVxuXG5AbWl4aW4ganVzdGlmeS1pdGVtcygkanVzdGlmeSkge1xuICAtd2Via2l0LWp1c3RpZnktaXRlbXM6ICRqdXN0aWZ5O1xuICAtbW96LWp1c3RpZnktaXRlbXM6ICRqdXN0aWZ5O1xuICAtbXMtanVzdGlmeS1pdGVtczogJGp1c3RpZnk7XG4gIGp1c3RpZnktaXRlbXM6ICRqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiAkanVzdGlmeTtcbn1cblxuLy8gUGFja2luZyBGbGV4IExpbmVzXG4vLyAtIGFwcGxpZXMgdG86IG11bHRpLWxpbmUgZmxleCBjb250YWluZXJzXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJGFsaWduO1xuICAtbW96LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgLW1zLWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgYWxpZ24tY29udGVudDogJGFsaWduO1xufVxuXG4vLyBDcm9zcy1heGlzIEFsaWdubWVudFxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWl0ZW1zKCRhbGlnbikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIC1tb3otYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgLW1zLWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XG59XG5cbi8vIENyb3NzLWF4aXMgQWxpZ25tZW50XG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcbi8vIGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgLW1vei1hbGlnbi1zZWxmOiAkYWxpZ247XG4gIC1tcy1hbGlnbi1zZWxmOiAkYWxpZ247XG4gIGFsaWduLXNlbGY6ICRhbGlnbjtcbn1cblxuLy8gQG1peGluIGZvbnQtcmVzcG9uc2l2ZSgkbWluLCAkbWF4KSB7XG4vLyAgICAgJG1pbnB4OiAkbWluICsgcHg7XG4vLyAgICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkqKCgxMDB2dyAtIDMwMHB4KS8oMTkyMCAtIDMwMCkpKTtcbi8vIH1cbkBtaXhpbiBmb250LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuICAkbWlucHg6ICRtaW4gKyBweDtcbiAgZm9udC1zaXplOiBjYWxjKCN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gMzAwcHgpIC8gKDE5MjAgLSAzMDApKSk7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICBmb250LXNpemU6ICRtYXggKyBweDtcbiAgfVxufVxuXG5AbWl4aW4gbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgkbWluLCAkbWF4KSB7XG4gICRtaW5weDogJG1pbiArIHB4O1xuICBsaW5lLWhlaWdodDogY2FsYygjeyRtaW5weH0gKyAoI3skbWF4fSAtICN7JG1pbn0pICogKCgxMDB2dyAtIDMwMHB4KSAvICgxOTIwIC0gMzAwKSkpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICBsaW5lLWhlaWdodDogJG1heCArIHB4O1xuICB9XG59XG5cbkBtaXhpbiBmb250LWNsYW1wKCRtaW4sICR2YWwsICRtYXgsICRmYWxsYmFja19tZWRpdW0pIHtcbiAgQHN1cHBvcnRzIChmb250LXNpemU6IGNsYW1wKCRtaW4sICR2YWwsICRtYXgpKSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgkbWluLCAkdmFsLCAkbWF4KTtcbiAgfVxuICBAc3VwcG9ydHMgbm90IChmb250LXNpemU6IGNsYW1wKCRtaW4sICR2YWwsICRtYXgpKSB7XG4gICAgZm9udC1zaXplOiAkbWF4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZhbGxiYWNrX21lZGl1bTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBmb250LXNpemU6ICRtaW47XG4gICAgfVxuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgZm9udC1zaXplOiAkbWF4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgZm9udC1zaXplOiAkZmFsbGJhY2tfbWVkaXVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1pbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNsYW1wQXV0b1Z3KCRwcm9wZXJ0eSwgJG1pbiwgJG1heCkge1xuICAkdndNYXg6IDE5MjA7IC8vIE1heGltdW0gc2NyZWVuIHdpZHRoXG4gICRtYXhWdzogY2FsYygkbWF4IC8gJHZ3TWF4KSAqIDEwMDsgLy8gQ2FsY3VsYXRlIG1heCB2YWx1ZSBpbiB2dyB1bml0c1xuICAjeyRwcm9wZXJ0eX06IGNsYW1wKCN7JG1pbn1weCwgI3skbWF4Vnd9dncsICN7JG1heH1weCk7XG59XG5cbi8vIDIwMjQgY3VzdG9tIG1peGluc1xuXG5AbWl4aW4gY29sdW1uLXRpdGxlLWZvbnQtc3R5bGVzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gY29sdW1uLXN1YnRpdGxlLWZvbnQtc3R5bGVzIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxufVxuXG5AbWl4aW4gY29sdW1uLXRleHQtZm9udC1zdHlsZXMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuXG5AbWl4aW4gaW1hZ2Utd3JhcHBlci1yYWRpdXNlcyB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHggMjU2cHggMjRweCAyNHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHggMTAwcHggMThweCAxOHB4O1xuICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8td3JhcCgkd2lkdGgsICRoZWlnaHQpIHtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1pbWFnZSgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbkBtaXhpbiBpbWFnZS13cmFwLXJhZGl1cygpIHtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2Nzcy9nbG9iYWxfZGVwZW5kZW5jaWVzXCI7XG5cbi5oZXJvIHtcbiAgJG9yYW5nZTogI2VlN2MyMjtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmMDtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gICYud2l0aF9vdmVybGFwIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLm92ZXJsYXAge1xuICAgIGhlaWdodDogNzBweDtcbiAgfVxuICAuYnRuIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAqIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmJ0bnNfYmVsb3dfbWVkaWEge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuXG4gICAgLmhlcm9fX2J0bldyYXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiBtYXgoMTAlLCAyNHB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cbiAgLmJyb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLm0tcHJpbWFyeSB7XG4gICAgICB3aWR0aDogY2FsYyg0MCUgLSAxMnB4KTtcbiAgICAgIHBhZGRpbmc6IDY2cHggMCAxMzBweDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tLXNlY29uZGFyeSB7XG4gICAgICB3aWR0aDogY2FsYyg2MCUgLSAxMnB4KTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmc6IDAgMCAxNnB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ5MHB4KSB7XG4gICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgfVxuXG4gICAgLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc3O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ5MHB4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nV3JhcCB7XG4gICAgQGluY2x1ZGUgaW1hZ2Utd3JhcHBlci1yYWRpdXNlcygpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltZyxcbiAgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhc3BlY3QtcmF0aW86IDIyMSAvIDE1OTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuICAvLyAmX19idG5XcmFwIHtcbiAgLy8gICBkaXNwbGF5OiBmbGV4O1xuICAvLyAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLy8gICBnYXA6IDI0cHg7XG5cbiAgLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vICAgfVxuXG4gIC8vICAgJi5tLXNlY29uZGFyeSB7XG4gIC8vICAgICBkaXNwbGF5OiBub25lO1xuXG4gIC8vICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgLy8gICAgICAgZGlzcGxheTogZmxleDtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICAmX19idG5XcmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuY3RhX2xheW91dCB7XG4gICAgcGFkZGluZzogMTEycHggMCAwO1xuICAgIG1hcmdpbjogMCAwIDI0N3B4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgfVxuXG4gICAgLmhlcm9fX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDE2MHB4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgZ2FwOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZXJvX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJi5tLXByaW1hcnkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNjBweCk7XG4gICAgICAgIHBhZGRpbmc6IDY2cHggMCAxMzRweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm0tc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMHB4KTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGVyb19faW1nV3JhcCB7XG4gICAgICBAaW5jbHVkZSBpbWFnZS13cmFwcGVyLXJhZGl1c2VzKCk7XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8td3JhcCg3MzMsIDYzNik7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1pbWFnZSgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVyb19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBwYWRkaW5nOiAwIDAgMzJweDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ5MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaGFyZWQgam9iIGNhcmQg4oCUIHVzZWQgYnkgdGhlIE1pc3Npb25hcnkgSm9icyBsaXN0aW5nIEFORCB0aGUgc2luZ2xlLWpvYlxuLy8gXCJzaW1pbGFyIGpvYnNcIiBncmlkIChyZW5kZXJlZCBieSBpbWJfcmVuZGVyX2pvYl9saXN0aW5nX2NhcmQoKSkuIFRvcC1sZXZlbCBzb1xuLy8gYm90aCBjb250ZXh0cyBzaGFyZSBvbmUgZGVmaW5pdGlvbi4gQXNzdW1lcyBnbG9iYWxfZGVwZW5kZW5jaWVzICh2YXJpYWJsZXMpXG4vLyBpcyBhbHJlYWR5IGltcG9ydGVkIGJ5IHRoZSBwYXJlbnQgc3R5bGVzaGVldC5cbi5qb2ItY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0X3RhbjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgLy8gbWF0Y2hlcyB0aGUgaW1hZ2UncyAxNnB4IHRvcCBjb3JuZXJzIChGaWdtYSlcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIC8vIEZpeGVkLXJhdGlvIG1lZGlhIGJveCB0aGF0IENMSVBTIHRoZSBpbWFnZSB6b29tIG9uIGFsbCBzaWRlcyAobGlrZSB0aGVcbiAgLy8gMjAyNCB2aWRlbyBjYXJkcyAvIGNhcmQtZ3JpZCBibG9jaykg4oCUIHNvIHRoZSBob3ZlciBzY2FsZSBzdGF5cyBpbnNpZGUgdGhlXG4gIC8vIGJveCBpbnN0ZWFkIG9mIGJsZWVkaW5nIGRvd24gb3ZlciB0aGUgY29udGVudC5cbiAgJl9fbWVkaWEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFzcGVjdC1yYXRpbzogNDMwIC8gMjk4OyAvLyBGaWdtYSA0MzAgeCAyOTggKGtlcHQgYXMgYSByYXRpbyBzbyBjYXJkcyBzdGF5IGZsdWlkKVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDsgLy8gRmlnbWFcblxuICAgIC8vIFBob25lczogZnVsbC13aWR0aCBjYXJkcyB1c2UgYSBzaG9ydGVyLCB3aWRlciBjcm9wICh+MTY6OSwgcGVyIEZpZ21hJ3NcbiAgICAvLyAzNDEgeCAxOTIuNjgpIHNvIHRoZSBpbWFnZSBkb2Vzbid0IGRvbWluYXRlIHRoZSBjYXJkLlxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC8vIFpvb20taW4gb24gaG92ZXIg4oCUIG1hdGNoZXMgdGhlIDIwMjQgdmlkZW8gY2FyZHMgLyBjYXJkLWdyaWQgYmxvY2suXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgJl9faW1hZ2UtLXBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkZGFya190YW4sICRsaWdodF90YW4pO1xuICB9XG5cbiAgLy8gVGhlIGNhcmQgaXMgdGhlIDxhPjsgem9vbSBpdHMgaW1hZ2Ugb24gaG92ZXIvZm9jdXMgKGNsaXBwZWQgYnkgJl9fbWVkaWEpLlxuICAmOmhvdmVyICZfX2ltYWdlLFxuICAmOmZvY3VzLXZpc2libGUgJl9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAvLyBSZXNlcnZlIDIgbGluZXMgc28gdGhlIGJsdXJiIHN0YXJ0cyBhdCB0aGUgc2FtZSBwb2ludCBvbiBldmVyeSBjYXJkLFxuICAgIC8vIHJlZ2FyZGxlc3Mgb2YgYSAxLSB2cyAyLWxpbmUgdGl0bGUuXG4gICAgbWluLWhlaWdodDogMi42ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cbiAgICAvLyBQaG9uZXM6IGNhcmRzIGFyZSBzaW5nbGUtY29sdW1uLCBzbyB0aGVyZSdzIG5vIGNyb3NzLWNhcmQgYWxpZ25tZW50IHRvXG4gICAgLy8gcHJlc2VydmUg4oCUIGRyb3AgdGhlIDItbGluZSByZXNlcnZlIHNvIDEtbGluZSB0aXRsZXMgc2l0IHJpZ2h0IGFib3ZlIHRoZSBibHVyYi5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUGluIHRoZSBtZXRhICsgZm9vdGVyIChjaGlwL0NUQSkgYXMgb25lIGJsb2NrIHRvIHRoZSBjYXJkIGJvdHRvbSDigJQgc28gdGhlXG4gIC8vIGxvY2F0aW9uL2ZvY3VzIHNpdHMganVzdCBhYm92ZSB0aGUgY2hpcCBhbmQgdGhlIGxvd2VyIHJlZ2lvbiBhbGlnbnMgYWNyb3NzXG4gIC8vIGNhcmRzLiBgbWFyZ2luLXRvcDogYXV0b2Agb24gdGhlIG1ldGEgYWJzb3JicyB0aGUgc2xhY2sgYWJvdmUgaXQuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICAvLyBXaGVuIG1ldGEgaXMgcHJlc2VudCBpdCBvd25zIHRoZSBhdXRvLW1hcmdpbjsgdGhlIGZvb3RlciBmbG93cyByaWdodCBhZnRlclxuICAvLyBpdC4gKFRoZSBmb290ZXIga2VlcHMgaXRzIG93biBhdXRvLW1hcmdpbiBiZWxvdyBmb3IgY2FyZHMgdGhhdCBoYXZlIG5vIG1ldGEuKVxuICAmX19tZXRhIH4gJl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJl9fbWV0YS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogJGltYi1ibGFjaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gICZfX21ldGEtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICRncmV5LWRhcms7XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cblxuICAmX19jaGlwcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgIC8vIE5vIHRyYWlsaW5nIGdhcCB3aGVuIGNoaXBzIGFyZSB0aGUgbGFzdCB0aGluZyAoZS5nLiBzaW1pbGFyLWpvYnMsIG5vIENUQSkuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLy8gRGl2aWRlciArIGZvb3RlciBwaW5uZWQgdG8gdGhlIGJvdHRvbSBzbyBjb250ZW50IGFsaWducyBhY3Jvc3MgY2FyZHMuXG4gICZfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0X3RhbjtcbiAgfVxuXG4gIC8vIEZ1bGwtd2lkdGggcGFsZS1vcmFuZ2UgXCJMZWFybiBNb3JlXCIgYnV0dG9uIChsaXN0aW5nIG9ubHk7IHNpbWlsYXIgam9icyBvbWl0IGl0KS5cbiAgJl9fY3RhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkb3JhbmdlLCAwLjA2KTtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9nbG9iYWxfZGVwZW5kZW5jaWVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYmxvY2tzL2hlcm8tdHdvLWNvbHVtbnMvaGVyby10d28tY29sdW1uc1wiO1xuQGltcG9ydCBcIi4uL3BhcnRpYWxzL2pvYi1jYXJkXCI7XG5cbi5zaW5nbGUtam9iLXBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgLy8gU3RpY2t5IFwiQXBwbHkgbm93XCIgYmFyIOKAlCByZXZlYWxlZCAodmlhIC5pcy12aXNpYmxlIGZyb20gc2luZ2xlLWpvYi5qcylcbiAgLy8gb25jZSB0aGUgaGVybyBzY3JvbGxzIG91dCBvZiB2aWV3LiBQaW5uZWQgYmVsb3cgdGhlIHNpdGUgaGVhZGVyICh6IDEwMDApLFxuICAvLyBtaXJyb3JpbmcgdGhlIGdpdmVfcHJvamVjdCBzdWJuYXYuXG4gIC5zaW5nbGUtam9iLWFwcGx5LWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodF90YW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZSwgb3BhY2l0eSAwLjM1cyBlYXNlLCB2aXNpYmlsaXR5IDAuMzVzIGVhc2U7XG5cbiAgICAmLmlzLXN0dWNrIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgICAgcGFkZGluZzogMTJweCAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4uYnRuIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF90YW47XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIC8vIEhpZGUgYnJlYWRjcnVtYnMgb24gcGhvbmVzIChwZXIgZmVlZGJhY2spLlxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtam9iLWhlcm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF90YW47XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcblxuICAgIC5vdmVybGFwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaGVyb19faXRlbSB7XG4gICAgICAmLm0tcHJpbWFyeSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEgxIGlzIG5vdyB0aGUgam9iIHRpdGxlOyBpdCBzaXRzIHRpZ2h0IOKAlCBzcGFjaW5nIGJlbG93IGlzIGhhbmRsZWQgYnkgdGhlXG4gICAgLy8gaGVhZGxpbmUgcGFyYWdyYXBoIGFuZCB0aGUgYnV0dG9uIHdyYXAgKHNvIGl0IHdvcmtzIHdpdGggb3Igd2l0aG91dCBhXG4gICAgLy8gaGVhZGxpbmUpLlxuICAgIC5oZXJvX190aXRsZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBIZWFkbGluZSBwYXJhZ3JhcGggKHRoZSBvbGQgSDEgdGV4dCwgZnJvbSB0aGUgaGVhZGxpbmVfdGl0bGUgZmllbGQpIOKAlFxuICAgIC8vIHNpdHMganVzdCBiZW5lYXRoIHRoZSBqb2IgdGl0bGUuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgIH1cbiAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICZfX2J0bi13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgfVxuXG4gICAgLmhlcm9fX2J0bldyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19jaGlwcy13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbigkbGlnaHRfdGFuLCA4JSk7XG4gICAgfVxuXG4gICAgJl9fY2hpcHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgICZfX2NoaXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMSwgMjEsIDIxLCAwLjEyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuXG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogJGltYi1ibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgbWF4LWhlaWdodDogNTYwcHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICB9XG4gIH1cblxuICAvLyBcIkRlc2lnblwiIGhlcm8gdHJlYXRtZW50IOKAlCBnbG9iYWwgSGVybyBTdHlsZSB0b2dnbGUsIE1PQklMRSBPTkxZLlxuICAvLyBUaGUgZHVwbGljYXRlIGhlcm8gaW1hZ2UgaXMgcmVuZGVyZWQgaW4gdGhlIERPTSBiZXR3ZWVuIHRoZSBoZWFkbGluZSBhbmRcbiAgLy8gdGhlIGJ1dHRvbnMsIHNvIG9yZGVyIGlzIGhlYWRsaW5lIOKGkiBpbWFnZSDihpIgYnV0dG9ucy4gSXQncyBoaWRkZW4gYnkgZGVmYXVsdFxuICAvLyAoYW5kIGFib3ZlIG1vYmlsZSksIGFuZCB0aGUgbm9ybWFsIHR3by1jb2x1bW4gbWVkaWEgaXMgaGlkZGVuIG9ubHkgb25cbiAgLy8gbW9iaWxlIHdoZW4gRGVzaWduIGlzIG9uIOKAlCBzbyB0aGUgZGVza3RvcCBoZXJvIGlzIG5ldmVyIGFmZmVjdGVkLlxuICAuc2luZ2xlLWpvYi1oZXJvX19tZWRpYS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC8vIE1vYmlsZTogcmVtb3ZlIHRoZSBleGNlc3MgYm90dG9tIHBhZGRpbmcgZnJvbSB0aGUgc2hhcmVkIGhlcm8gYmxvY2s7XG4gICAgLy8gdGhlIGNoaXBzLXdyYXAgbm93IHByb3ZpZGVzIDI0cHggb2YgaXRzIG93biBib3R0b20gc3BhY2luZy5cbiAgICAuc2luZ2xlLWpvYi1oZXJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgLmhlcm9fX2lubmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2luZ2xlLWpvYi1oZXJvLS1kZXNpZ24ge1xuICAgICAgLnNpbmdsZS1qb2ItaGVyb19fbWVkaWEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBoaWRlIHRoZSBub3JtYWwgc3RhY2tlZCBpbWFnZSBjb2x1bW5cbiAgICAgIH1cblxuICAgICAgLnNpbmdsZS1qb2ItaGVyb19fbWVkaWEtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNDhweCAwIDMycHg7XG4gICAgICB9XG5cbiAgICAgIC5zaW5nbGUtam9iLWhlcm9fX2ltZy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAzNTggLyA0NTg7IC8vIHBvcnRyYWl0LCBwZXIgRmlnbWFcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIC8vIEZpZ21hOiAyNHB4IGNvcm5lcnMgd2l0aCBhIGxhcmdlIHNjb29wIG9uIHRoZSB0b3AtcmlnaHQuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggMTI0cHggMjRweCAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtam9iLXdoYXQteW91bGwtZG8ge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiA0MHB4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBnYXA6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDFweCkge1xuICAgICAgICBnYXA6IDgwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJvdyB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBtYXJnaW46IDAgMCAyNHB4O1xuICAgICAgY29sb3I6ICRpbWItYmxhY2s7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG5cbiAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmNWZjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgfVxuXG4gICAgJl9fY2FyZC1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDI0cHg7XG4gICAgICBjb2xvcjogJGltYi1ibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgICZfX3Jvd3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMSwgMjEsIDIxLCAwLjEpO1xuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogMTZweDtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxLCAyMSwgMjEsIDAuMSk7XG4gICAgfVxuXG4gICAgJl9fcm93LWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgaSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICRpbWItYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fcm93LXZhbHVlIHtcbiAgICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX2FwcGx5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtam9iLWN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDMyMnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggMjU2cHggMjU2cHggMjRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF90YW47XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB3aWR0aDogNzYwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICBjb2xvcjogJGltYi1ibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIGNvbG9yOiAkaW1iLWJsYWNrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDg5NXB4O1xuICAgICAgaGVpZ2h0OiAzMjJweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDI1NnB4IDI1NnB4IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgIGhlaWdodDogMzIycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjU2cHggMjU2cHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X3RhbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIFRoZSBpbWFnZSBmaWxscyB0aGUgbWVkaWEgZXhhY3RseSAoODk1cHgpLiBUaGUgZ2xvYmFsXG4gICAgICAvLyBgaW1nIHsgbWF4LXdpZHRoOiAxMDAlIH1gIHJ1bGUgY2xhbXBzIGl0IGhlcmUsIHNvIGl0IGNhbm5vdCBiZSBtYWRlXG4gICAgICAvLyB3aWRlciDigJQgdGhlIEhvcml6b250YWwgU2hpZnQgY29udHJvbCBwYW5zIHdpdGhpbiB0aGlzIHdpZHRoIGJ5XG4gICAgICAvLyBzbGlkaW5nIHRoZSBpbWFnZSAodGhlIGxlZnQgZ2FwIHN0YXlzIGhpZGRlbiB1bmRlciB0aGUgY3JlYW0gY292ZXIpLlxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIC8vIEhvcml6b250YWwgcGFuIChvZmZzZXQpICsgem9vbS4gdHJhbnNmb3JtLW9yaWdpbiB0cmFja3MgdGhlIGNob3NlblxuICAgICAgLy8gb2JqZWN0LXBvc2l0aW9uIHNvIHpvb21pbmcgc3RheXMgY2VudHJlZCBvbiB0aGUgc2FtZSBmb2NhbCBwb2ludC5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1jdGEtaW1nLW9mZnNldC14LCAwcHgpKSBzY2FsZSh2YXIoLS1jdGEtaW1nLXpvb20sIDEpKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHZhcigtLWN0YS1pbWctb3JpZ2luLCBjZW50ZXIgY2VudGVyKTtcblxuICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjQwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gOTZweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIH1cblxuICAgICAgJl9fbWVkaWEge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICBtaW4td2lkdGg6IDQyMHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlOiBzdGFja2VkIGNhcmQg4oCUIGFyY2gtdG9wcGVkIHBvcnRyYWl0IGltYWdlIGFib3ZlIGEgY3JlYW0gdGV4dFxuICAgIC8vIHBhbmVsIHdpdGggZnVsbC13aWR0aCBzdGFja2VkIGJ1dHRvbnMuIChLZXB0IGF0IDkwMHB4IHRvIGF2b2lkIHRoZVxuICAgIC8vIGRlc2t0b3AgcGlsbCBsYXlvdXQgYnJlYWtpbmcgaW4gdGhlIDc2OOKAkzkwMCByYW5nZTsgY2FuIGRyb3AgdG8gNzY4IGxhdGVyLilcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJl9fbWVkaWEge1xuICAgICAgICBvcmRlcjogLTE7IC8vIGltYWdlIHNpdHMgYWJvdmUgdGhlIHRleHQgcGFuZWxcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDM1OHB4OyAvLyBmaXhlZCBpbWFnZS1hcmVhIGhlaWdodCAoRmlnbWEpXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC8vIEFyY2ggLyBkb21lIHRvcCwgc3F1YXJlIGJvdHRvbSAobWVldHMgdGhlIGNyZWFtIHBhbmVsKS4gVHVuZSB0aGVcbiAgICAgICAgLy8gdmVydGljYWwgJSB0byBtYWtlIHRoZSBkb21lIHRhbGxlci9zaG9ydGVyOyBtYXRjaGVzIE1PQklMRV9BUkNIX1JBRElVU1xuICAgICAgICAvLyBpbiBhZG1pbi1qb2ItY3RhLXByZXZpZXcuanMuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgMCAwIC8gNTAlIDUwJSAwIDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBkZXNrdG9wIGNyZWFtIGNvdmVyIGN1cnZlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IC8vIGRlc2t0b3AgaG9yaXpvbnRhbC1zaGlmdCBtdXN0IG5vdCBhZmZlY3QgbW9iaWxlXG5cbiAgICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLy8gTW9iaWxlIHpvb20sIGNlbnRyZWQgb24gdGhlIGNob3NlbiBvYmplY3QtcG9zaXRpb24gZm9jYWwgcG9pbnQuXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1jdGEtaW1nLXpvb20tbW9iaWxlLCAxKSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdmFyKC0tY3RhLWltZy1tb2JpbGUtb3JpZ2luLCBjZW50ZXIgY2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjRweCA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjRweCAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfdGFuO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICB9XG5cbiAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIH1cblxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaW1pbGFyIGpvYnMg4oCUIGNhcmQgc3R5bGUgYWRhcHRlZCBmcm9tIHRoZSAyMDI0IGBjYXJkLXZpZXdgIGJsb2NrXG4gIC8vIChjYXJkX3R5cGUgMiAvIFwicmVzb3VyY2VcIik6IGltYWdlIG9uIHRvcCwgY3JlYW0gcm91bmRlZCBib2R5IHdpdGggYW5cbiAgLy8gZXllYnJvdywgY2xhbXBlZCB0aXRsZSArIGRlc2NyaXB0aW9uLCBhbmQgYSBtZXRhIGZvb3Rub3RlLlxuICAuc2luZ2xlLWpvYi1yZWxhdGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgIH1cblxuICAgICZfX2hlYWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogOHB4IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgY29sb3I6ICRpbWItYmxhY2s7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAmX192aWV3LWFsbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogMjRweDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmV3c2xldHRlciDigJQgbWlycm9ycyB0aGUgMjAyNCBgbmV3c2xldHRlcmAgR3V0ZW5iZXJnIGJsb2NrLCBidXQgZmVkIGZyb21cbiAgLy8gdGhlIE9wdGlvbnMg4oaSIEpvYiBTZXR0aW5ncyBmaWVsZHMuIFN0eWxlcyBhcmUgZHVwbGljYXRlZCBoZXJlIGJlY2F1c2UgdGhlXG4gIC8vIGJsb2NrJ3Mgb3duIENTUyBvbmx5IGxvYWRzIG9uIHBhZ2VzIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgYmxvY2suXG4gIC5zaW5nbGUtam9iLW5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgfVxuXG4gICAgLmhwLWZvcm0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5ocC1mb3JtLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXgtd2lkdGg6IDE0OTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogNjRweCAxNTFweCA5NnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHggNTBweCA5NnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgcGFkZGluZzogNTZweCAyNHB4IDEyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ocC1mb3JtLWxlZnQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaHAtZm9ybS1yaWdodCB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlY29yMSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB9XG5cbiAgICAuZGVjb3IyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTU1cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB9XG4gIH1cbn0iXX0= */
